Commit e2bab6fb authored by 沈良进's avatar 沈良进

save

parent 6c5b0778
...@@ -784,10 +784,18 @@ ...@@ -784,10 +784,18 @@
v-if="item.OrderStatus >1 && item.OrderStatus != 3 v-if="item.OrderStatus >1 && item.OrderStatus != 3
&&pagesTitle=='OP'&&is_correlationOP" &&pagesTitle=='OP'&&is_correlationOP"
class="row-c cursor-pointer radius5 change py5" class="row-c cursor-pointer radius5 change py5"
@click="clickCorrelation(item)" @click="clickCorrelation(item, 1)"
> >
<span class="c059FF6">编辑关联OP</span> <span class="c059FF6">编辑关联OP</span>
</div> </div>
<div
v-if="item.OrderStatus != 3
&&pagesTitle=='OP'"
class="row-c cursor-pointer radius5 change py5"
@click="clickCorrelation(item,2)"
>
<span class="c059FF6">编辑总金额</span>
</div>
</div> </div>
<!-- <div v-if="item.OrderStatus==2" class="column-jac px15 bgE8F5E9 radius5 ml fz12 pa20 flex-s c20C997"> <!-- <div v-if="item.OrderStatus==2" class="column-jac px15 bgE8F5E9 radius5 ml fz12 pa20 flex-s c20C997">
<div class="mb5">已支付</div> <div class="mb5">已支付</div>
...@@ -980,10 +988,17 @@ export default { ...@@ -980,10 +988,17 @@ export default {
this.close() this.close()
this.$emit('success') this.$emit('success')
}, },
clickCorrelation(item){ clickCorrelation(item, type){
this.CorrelationObj = item // this.CorrelationObj = item
this.CorrelationObj.TypeNum = 1 // this.CorrelationObj.TypeNum = 1
this.isShowCorrelation = true // this.isShowCorrelation = true
this.CorrelationObj = JSON.parse(JSON.stringify(item));
if (type == 2) {
this.CorrelationObj.TypeNum = 5; //编辑总价
} else {
this.CorrelationObj.TypeNum = 1;
}
this.isShowCorrelation = true;
}, },
isOffset(row, index, num,name){ isOffset(row, index, num,name){
this.makeAdocument(row, index, num, name, 'Offset') this.makeAdocument(row, index, num, name, 'Offset')
......
<template> <template>
<el-dialog :title="Title" width="400px" :visible.sync="isShow" center @close="close"> <el-dialog :title="Title" width="400px" :visible.sync="isShow" center @close="close">
<el-form class="cdForm" label-width="90px" :model="msg" :rules="rules" ref="msg"> <el-form class="cdForm" label-width="90px" :model="msg" :rules="rules" ref="msg">
<template v-if="CorrelationObj.TypeNum!=4"> <template v-if="CorrelationObj.TypeNum!=4 && CorrelationObj.TypeNum!=5 && CorrelationObj.TypeNum!=6">
<el-form-item label="OP" prop="OpEmpId"> <el-form-item label="OP" prop="OpEmpId">
<el-select filterable v-model='msg.OpEmpId' placeholder="请选择OP"> <el-select filterable v-model='msg.OpEmpId' placeholder="请选择OP">
<el-option v-for='item in EmployeeList' <el-option v-for='item in EmployeeList'
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
this.CorrelationObj = newValue this.CorrelationObj = newValue
this.msg.OrderId = newValue.OrderId this.msg.OrderId = newValue.OrderId
this.msg.OpEmpId = newValue.OpEmpId?newValue.OpEmpId:null this.msg.OpEmpId = newValue.OpEmpId?newValue.OpEmpId:null
if(newValue.TypeNum==4){ if(newValue.TypeNum==4 || newValue.TypeNum==5 || newValue.TypeNum==6){
this.msg.Money = newValue.Money this.msg.Money = newValue.Money
this.Title = '编辑总金额' this.Title = '编辑总金额'
}else{ }else{
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
mounted() { mounted() {
this.msg.OrderId = this.CorrelationObj.OrderId this.msg.OrderId = this.CorrelationObj.OrderId
this.msg.OpEmpId = this.CorrelationObj.OpEmpId?this.CorrelationObj.OpEmpId:null this.msg.OpEmpId = this.CorrelationObj.OpEmpId?this.CorrelationObj.OpEmpId:null
if(this.CorrelationObj.TypeNum==4){ if(this.CorrelationObj.TypeNum==4 || this.CorrelationObj.TypeNum==5 || this.CorrelationObj.TypeNum==6){
this.msg.Money = this.CorrelationObj.Money this.msg.Money = this.CorrelationObj.Money
this.Title = '修改总价' this.Title = '修改总价'
}else{ }else{
...@@ -98,7 +98,10 @@ ...@@ -98,7 +98,10 @@
methods: { methods: {
sureBtn(){ sureBtn(){
let url let url
let msg let msg = {
OrderId: this.msg.OrderId,
OpEmpId: this.msg.OpEmpId
}
if(this.CorrelationObj.TypeNum==1){ if(this.CorrelationObj.TypeNum==1){
url = 'dict_post_SetCustomerOrderOP' url = 'dict_post_SetCustomerOrderOP'
} }
...@@ -114,14 +117,19 @@ ...@@ -114,14 +117,19 @@
Money: this.msg.Money Money: this.msg.Money
} }
url = 'ticket_post_SetTicketOrderMoney' url = 'ticket_post_SetTicketOrderMoney'
}else{ } else if(this.CorrelationObj.TypeNum===5){ // 酒店修改总价
msg = { msg = {
OrderId: this.msg.OrderId, OrderId: this.msg.OrderId,
OpEmpId: this.msg.OpEmpId Money: this.msg.Money
}
url = 'dict_post_SetHotelOrderMoney'
} else if(this.CorrelationObj.TypeNum===6){ // 车修改总价
msg = {
OrderId: this.msg.OrderId,
Money: this.msg.Money
} }
url = 'CarSingle_post_SetCarOrderMoney'
} }
this.$refs['msg'].validate((valid) => { this.$refs['msg'].validate((valid) => {
if (valid) { if (valid) {
this.apipost(url, msg, res => { this.apipost(url, msg, res => {
......
<style scoped> <style scoped>
.row { .row {
display: flex; display: flex;
} }
.row-c { .row-c {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.column { .column {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.column-jac { .column-jac {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.column-ac { .column-ac {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
} }
.wrap { .wrap {
flex-wrap: wrap; flex-wrap: wrap;
} }
.justify-sb { .justify-sb {
justify-content: space-between; justify-content: space-between;
} }
.justify-c { .justify-c {
justify-content: center; justify-content: center;
} }
.justify-e { .justify-e {
justify-content: flex-end; justify-content: flex-end;
align-items: flex-end; align-items: flex-end;
} }
.flex-g { .flex-g {
flex-grow: 1; flex-grow: 1;
} }
.flex-s { .flex-s {
flex-shrink: 0; flex-shrink: 0;
} }
.align-c { .align-c {
align-items: center; align-items: center;
} }
.cblack { .cblack {
color: black; color: black;
} }
.cf { .cf {
color: #ffffff; color: #ffffff;
} }
.c9e { .c9e {
color: #9e9e9e; color: #9e9e9e;
} }
.c20C997 { .c20C997 {
color: #20c997; color: #20c997;
} }
.c02C854 { .c02C854 {
color: #02c854; color: #02c854;
} }
.cff9800 { .cff9800 {
color: #ff9800; color: #ff9800;
} }
.cF1416C { .cF1416C {
color: #f1416c; color: #f1416c;
} }
.cF57A98 { .cF57A98 {
color: #f57a98; color: #f57a98;
} }
.c04C8C8 { .c04C8C8 {
color: #04c8c8; color: #04c8c8;
} }
.c059FF6 { .c059FF6 {
color: #059ff6; color: #059ff6;
} }
.c3FC4FF { .c3FC4FF {
color: #3fc4ff; color: #3fc4ff;
} }
.fz10 { .fz10 {
font-size: 10px; font-size: 10px;
} }
.fz11 { .fz11 {
font-size: 11px; font-size: 11px;
} }
.fz12 { .fz12 {
font-size: 12px; font-size: 12px;
} }
.fz13 { .fz13 {
font-size: 13px; font-size: 13px;
} }
.fz14 { .fz14 {
font-size: 14px; font-size: 14px;
} }
.fz15 { .fz15 {
font-size: 15px; font-size: 15px;
} }
.fz16 { .fz16 {
font-size: 16px; font-size: 16px;
} }
.fz17 { .fz17 {
font-size: 17px; font-size: 17px;
} }
.fz18 { .fz18 {
font-size: 18px; font-size: 18px;
} }
.fbold { .fbold {
font-weight: bold; font-weight: bold;
} }
.ml { .ml {
margin-left: 10px; margin-left: 10px;
} }
.mr { .mr {
margin-right: 10px; margin-right: 10px;
} }
.mt { .mt {
margin-top: 10px; margin-top: 10px;
} }
.mt20 { .mt20 {
margin-top: 20px; margin-top: 20px;
} }
.mb { .mb {
margin-bottom: 10px; margin-bottom: 10px;
} }
.mb20 { .mb20 {
margin-bottom: 20px; margin-bottom: 20px;
} }
.mx { .mx {
margin-left: 10px; margin-left: 10px;
margin-right: 10px; margin-right: 10px;
} }
.mx5 { .mx5 {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
.mb5 { .mb5 {
margin-bottom: 5px; margin-bottom: 5px;
} }
.py { .py {
padding: 15px 0; padding: 15px 0;
} }
.py5 { .py5 {
padding: 5px 0; padding: 5px 0;
} }
.px5 { .px5 {
padding: 0 5px; padding: 0 5px;
} }
.px15 { .px15 {
padding: 0 15px; padding: 0 15px;
} }
.pa15 { .pa15 {
padding: 15px; padding: 15px;
} }
.py20 { .py20 {
padding: 20px 0; padding: 20px 0;
} }
.pb5 { .pb5 {
padding: 0 0 5px 0; padding: 0 0 5px 0;
} }
.pa { .pa {
padding: 10px 20px; padding: 10px 20px;
} }
.pa20 { .pa20 {
padding: 20px; padding: 20px;
} }
.pt20 { .pt20 {
padding: 20px 0; padding: 20px 0;
} }
.borderD { .borderD {
border-bottom: 1px dashed #dddddd; border-bottom: 1px dashed #dddddd;
} }
.bgf { .bgf {
background: #ffffff; background: #ffffff;
} }
.bgf5 { .bgf5 {
background: #f5f5f5; background: #f5f5f5;
} }
.bgE8F5E9 { .bgE8F5E9 {
background: #e8f5e9; background: #e8f5e9;
} }
.bgD9F3FF { .bgD9F3FF {
background: #d9f3ff; background: #d9f3ff;
} }
.bgFAEAED { .bgFAEAED {
background: #faeaed; background: #faeaed;
} }
.bj { .bj {
background: #ffffff; background: #ffffff;
} }
.bjFFF3E0 { .bjFFF3E0 {
background: #FFF3E0; background: #fff3e0;
} }
.radius5 { .radius5 {
border-radius: 5px; border-radius: 5px;
} }
.cursor-pointer { .cursor-pointer {
cursor: pointer; cursor: pointer;
} }
.relative { .relative {
position: relative; position: relative;
} }
.absolute { .absolute {
position: absolute; position: absolute;
} }
.left0 { .left0 {
left: 0; left: 0;
} }
.right0 { .right0 {
right: 0; right: 0;
} }
.top0 { .top0 {
top: 0; top: 0;
} }
.bottom0 { .bottom0 {
bottom: 0; bottom: 0;
} }
.left20 { .left20 {
left: 020px; left: 020px;
} }
.right20 { .right20 {
right: 20px; right: 20px;
} }
.top20 { .top20 {
top: 20px; top: 20px;
} }
.bottom20 { .bottom20 {
bottom: 20px; bottom: 20px;
} }
.text-center { .text-center {
text-align: center; text-align: center;
} }
.orderType { .orderType {
padding: 3px 15px; padding: 3px 15px;
border-radius: 3px; border-radius: 3px;
background: #f57a98; background: #f57a98;
margin-right: 15px; margin-right: 15px;
} }
.orderType.active { .orderType.active {
background: #4dd0e1; background: #4dd0e1;
} }
.orderType.activeB { .orderType.activeB {
background: #E95252; background: #e95252;
} }
.copy { .copy {
display: inline-block; display: inline-block;
padding: 3px 15px; padding: 3px 15px;
border-radius: 3px; border-radius: 3px;
margin-left: 20px; margin-left: 20px;
} }
.copy:hover { .copy:hover {
background: #f5f5f5; background: #f5f5f5;
} }
.see-rec div { .see-rec div {
padding: 1px 5px; padding: 1px 5px;
border-radius: 3px; border-radius: 3px;
} }
.see { .see {
border: 1px solid #04c8c8; border: 1px solid #04c8c8;
} }
.seeLK { .seeLK {
border: 1px solid #059ff6; border: 1px solid #059ff6;
} }
.see:hover { .see:hover {
background-color: rgba(4, 200, 200, 0.1); background-color: rgba(4, 200, 200, 0.1);
} }
.rec { .rec {
border: 1px solid #04c8c8; border: 1px solid #04c8c8;
background-color: rgba(4, 200, 200, 1); background-color: rgba(4, 200, 200, 1);
} }
.rec:hover { .rec:hover {
border: 1px solid rgba(4, 200, 200, 0.9); border: 1px solid rgba(4, 200, 200, 0.9);
background-color: rgba(4, 200, 200, 0.9); background-color: rgba(4, 200, 200, 0.9);
} }
.cancel:hover { .cancel:hover {
background-color: #f3dce2; background-color: #f3dce2;
} }
.confirm:hover { .confirm:hover {
background-color: #dcedc8; background-color: #dcedc8;
} }
.change:hover { .change:hover {
background-color: #d7e9f3; background-color: #d7e9f3;
} }
.change1:hover { .change1:hover {
background-color: #dcedc8; background-color: #dcedc8;
} }
.orderop { .orderop {
text-align: center; text-align: center;
} }
.orderop div { .orderop div {
width: 100px; width: 100px;
height: 50%; height: 50%;
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
.RoomList div { .RoomList div {
border-bottom: 1px solid #e7e7e7; border-bottom: 1px solid #e7e7e7;
} }
.RoomList div:last-child { .RoomList div:last-child {
border: 0; border: 0;
} }
.el-table { .el-table {
font-size: 13px; font-size: 13px;
} }
.shezhifrom { .shezhifrom {
position: relative; position: relative;
} }
.shebox { .shebox {
position: absolute; position: absolute;
top: 0; top: 0;
left: -100px; left: -100px;
display: none; display: none;
} }
.shezhifrom:hover .shebox { .shezhifrom:hover .shebox {
display: block; display: block;
} }
.flexOne-form-bj h3{ .flexOne-form-bj h3 {
font-size: 18px; font-size: 18px;
color: black; color: black;
padding: 0 0 20px 0; padding: 0 0 20px 0;
font-weight: 400; font-weight: 400;
} }
.flexOne-type{ .flexOne-type {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 0 20px 0; padding: 0 0 20px 0;
} }
.flexOne-type b{ .flexOne-type b {
font-size: 13px; font-size: 13px;
width: 100px; width: 100px;
flex-shrink: 0; flex-shrink: 0;
} }
.flexOne-type div{ .flexOne-type div {
display: flex; display: flex;
} }
.flexOne-description{ .flexOne-description {
padding: 15px 15px; padding: 15px 15px;
border-radius: 5px; border-radius: 5px;
background: #E1F5FE; background: #e1f5fe;
margin-bottom: 20px; margin-bottom: 20px;
} }
.flexOne-description b{ .flexOne-description b {
font-size: 14px; font-size: 14px;
} }
.flexOne-description p{ .flexOne-description p {
font-size: 12px; font-size: 12px;
color: #4C5759; color: #4c5759;
padding: 10px 0 0 0; padding: 10px 0 0 0;
} }
.flexOne-infor-box b{ .flexOne-infor-box b {
font-size: 13px; font-size: 13px;
} }
.infor-list{ .infor-list {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.list-title{ .list-title {
padding: 20px 0; padding: 20px 0;
border-bottom: 1px dashed #eeeeee; border-bottom: 1px dashed #eeeeee;
color: #7E8299; color: #7e8299;
font-size: 13px; font-size: 13px;
} }
.list-title,.list-centent{ .list-title,
display: flex; .list-centent {
flex-wrap: wrap; display: flex;
margin-top: 20px; flex-wrap: wrap;
} margin-top: 20px;
.infor-list li{ }
width: 25%; .infor-list li {
} width: 25%;
.list-centent li { }
width: 33.33%; .list-centent li {
} width: 33.33%;
.list-centent.active li { }
width: 25%; .list-centent.active li {
} width: 25%;
/deep/.el-table tr td:first-child{ }
border-bottom: 0; /deep/.el-table tr td:first-child {
} border-bottom: 0;
/deep/.el-table tr:last-child td{ }
border-bottom: 1px solid #EBEEF5; /deep/.el-table tr:last-child td {
border-bottom: 1px solid #ebeef5;
} }
/deep/.el-table tr td{ /deep/.el-table tr td {
border-bottom: 1px solid #EBEEF5; border-bottom: 1px solid #ebeef5;
}
} </style>
</style>
<template> <template>
<div> <div>
<div <div
v-for="(item, index) in OrderList" v-for="(item, index) in OrderList"
class="column bgf radius5 px15 mb20" class="column bgf radius5 px15 mb20"
> >
<div class="row-c justify-sb align-c py"> <div class="row-c justify-sb align-c py">
<div class="row-c"> <div class="row-c">
<div> <div>
<div <div
class="orderType cf fz12" class="orderType cf fz12"
:class="{ active: item.OrderType == 1,activeB: item.OrderType == 3 }" :class="{
> active: item.OrderType == 1,
<template v-if="item.OrderType==1">接机</template> activeB: item.OrderType == 3,
<template v-if="item.OrderType==2">送机</template> }"
<template v-if="item.OrderType==3">包车</template> >
</div> <template v-if="item.OrderType == 1">接机</template>
</div> <template v-if="item.OrderType == 2">送机</template>
<div class="c9e fz12"> <template v-if="item.OrderType == 3">包车</template>
<span>订单编号:</span>
<span>{{ item.OrderNo }}({{ item.OrderId}})</span>
<span
class="copy cblack cursor-pointer"
v-if="copyId != item.OrderId"
@click="CopyHandler(item)"
>复制</span
>
<span class="copy c059FF6 bgD9F3FF cursor-pointer" v-else
><i class="el-icon-check mr"></i>已复制</span
>
</div>
</div>
<div class="c9e fz12">
<span>客人信息:{{ item.SurName }}{{ item.Name }}/{{ item.Mobile }}</span>
<span v-if="pagesTitle!='销售'">
<template v-if="item.SurName||item.Name"> /</template>来源<template v-if="!item.OrderSource&&!item.CustomerId">销售</template>
<template v-if="!item.OrderSource&&item.CustomerId>0">B2B</template>
<template v-if="item.OrderSource==1">B2C</template>
</span>
</div>
<div class="row c9e fz12">
<span class="mr" v-if="item.LureEmpName">引流人:{{ item.LureEmpName }}</span>
<span class="mr">销售:{{ item.SaleName }}</span>
<span class="mr" v-if="item.OpName&&pagesTitle=='OP'">关联OP:{{ item.OpName }}</span>
<span class="mr" v-if="item.CustomerName">创建人:</span>
<span class="mr" v-if="item.CustomerName"
>{{ item.CustomerName }} ({{ item.CustomerContact }}/{{
item.CustomerTel
}})</span>
<span>下单时间:</span>
<span class="mr">{{ item.CreateTime }}</span>
<div class="">
<i
class="mx5"
:class="{
'el-icon-alarm-clock c20C997': item.OrderStatus == 1,
'el-icon-check cblack': item.OrderStatus == 2,
'el-icon-warning cff9800': item.OrderStatus == 3,
'el-icon-refresh cF1416C': item.OrderStatus == 4
}"
></i>
<span
class="fz12 cblack"
:class="{
c20C997: item.OrderStatus == 1,
cblack: item.OrderStatus == 2,
cff9800: item.OrderStatus == 3,
cF1416C: item.OrderStatus == 4
}"
>
{{ item.OrderStatusName }}
</span>
</div>
</div> </div>
</div> </div>
<div class="mb"> <div class="c9e fz12">
<el-table :data="[item]" style="width:100%" border> <span>订单编号:</span>
<el-table-column <span>{{ item.OrderNo }}({{ item.OrderId }})</span>
label="产品名称(出发日期)" <span
min-width="100" class="copy cblack cursor-pointer"
style="background:#EAEAEA" v-if="copyId != item.OrderId"
> @click="CopyHandler(item)"
<template slot-scope="scope"> >复制</span
<template> >
<div>{{ scope.row.ProductName }}</div> <span class="copy c059FF6 bgD9F3FF cursor-pointer" v-else
<span style="color: #999999;">{{scope.row.OrderDate}}</span> ><i class="el-icon-check mr"></i>已复制</span
</template> >
</template>
</el-table-column>
<el-table-column v-if="item.OrderType!=3" label="航班信息" style="background:#EAEAEA">
<template slot-scope="scope">
<div>{{scope.row.AirLine}}</div>
<div class="text-grey-9 q-pt-xs">{{scope.row.FlightNumber}}</div>
<div class="text-grey-6 q-pt-xs">
{{scope.row.FlightTime}}{{scope.row.OrderType == 1?'抵达':'出发至'}}{{scope.row.AirportName}}
</div>
</template>
</el-table-column>
<el-table-column label="上下车信息" style="background:#EAEAEA">
<template slot-scope="scope">
<div>
预定时间:{{ scope.row.OrderDate }}
</div>
<div>
车型:{{ scope.row.CarName }}
</div>
<div v-if="scope.row.GetonAddress">
上车点:{{ scope.row.GetonAddress }}
</div>
<div v-if="scope.row.GetoffAddress">
下车点:{{ scope.row.GetoffAddress }}
</div>
</template>
</el-table-column>
<el-table-column v-if="item.OrderType!=3" label="行李" style="background:#EAEAEA">
<template slot-scope="scope">
<div v-if="scope.row.HandLuggageNum>0">
手提:{{ scope.row.HandLuggageNum }}
</div>
<div v-if="scope.row.HandLuggageNum>0">
托运:{{ scope.row.RegisteredLuggageNum }}
</div>
</template>
</el-table-column>
<el-table-column label="人员" style="background:#EAEAEA">
<template slot-scope="scope">
<div v-if="scope.row.ManNum>0">
成人:{{ scope.row.ManNum }}
</div>
<div v-if="scope.row.ChildNum>0">
儿童:{{ scope.row.ChildNum }}
</div>
<div v-if="scope.row.BabyNum>0">
婴儿:{{ scope.row.BabyNum }}
</div>
</template>
</el-table-column>
<el-table-column label="数量" style="background:#EAEAEA">
<template slot-scope="scope">
{{ scope.row.Num }}
</template>
</el-table-column>
<el-table-column
label="小计"
min-width="70"
style="background:#EAEAEA"
>
<template slot-scope="scope">
<span class="fz15 fbold">{{ scope.row.Money.toFixed(2) }}</span>
</template>
</el-table-column>
<template slot="append" v-if="(item.Remark||item.OPRemark||item.isMore)||(item.OrderStatus>1&&item.OrderStatus!=3)">
<div v-if="(item.OrderStatus>1&&item.OrderStatus!=3)||item.Remark" style="padding:10px;color:#f1416c">客户备注:{{item.Remark}}
<i v-if="pagesTitle=='销售'&&item.OrderStatus>1&&item.OrderStatus!=3" class="el-icon-edit cursor-pointer c059FF6 mx" @click="editRemark(item)"></i></div>
<div v-if="(item.OrderStatus>1&&item.OrderStatus!=3)||item.OPRemark" style="padding:10px;color:#f1416c"
:style="{'padding':!item.Remark&&item.isMore?'0 10px 30px 10px':'0 10px 10px 10px'}">
OP备注:{{item.OPRemark}}
<i v-if="pagesTitle=='OP'&&item.OrderStatus>1&&item.OrderStatus!=3" class="el-icon-edit cursor-pointer c059FF6 mx" @click="editRemark(item)"></i>
</div>
</template>
</el-table>
</div> </div>
<el-table :data="[item]" style="width:100%" border v-if="item.OrderStatus!=3"> </div>
<el-table-column label="实收" min-width="100"> <div class="c9e fz12">
<template slot-scope="scope"> <span
<span class="fz15 fbold">{{ scope.row.Income ? scope.row.Income : "-" }}</span> >客人信息:{{ item.SurName }}{{ item.Name }}/{{ item.Mobile }}</span
</template> >
</el-table-column> <span v-if="pagesTitle != '销售'">
<el-table-column label="成本" min-width="100"> <template v-if="item.SurName || item.Name"> /</template
<template slot-scope="scope"> >来源<template v-if="!item.OrderSource && !item.CustomerId"
<span class="fz15 fbold">{{ scope.row.CostMoney ? scope.row.CostMoney : "-" }}</span> >销售</template
</template> >
</el-table-column> <template v-if="!item.OrderSource && item.CustomerId > 0"
<el-table-column label="平台税金" min-width="100"> >B2B</template
<template slot-scope="scope"> >
<span class="fz15 fbold">{{ <template v-if="item.OrderSource == 1">B2C</template>
scope.row.PlatformTax ? scope.row.PlatformTax : "-" </span>
}}</span> </div>
</template> <div class="row c9e fz12">
</el-table-column> <span class="mr" v-if="item.LureEmpName"
<el-table-column label="退款" min-width="100"> >引流人:{{ item.LureEmpName }}</span
<template slot-scope="scope"> >
<span class="fz15 fbold">{{ scope.row.Refund ? scope.row.Refund : "-" }}</span> <span class="mr">销售:{{ item.SaleName }}</span>
</template> <span class="mr" v-if="item.OpName && pagesTitle == 'OP'"
</el-table-column> >关联OP:{{ item.OpName }}</span
<el-table-column label="待收金额" min-width="100"> >
<template slot-scope="scope"> <span class="mr" v-if="item.CustomerName">创建人:</span>
<span class="fz15 fbold">{{ scope.row.DueInMoney || '-' }}</span> <span class="mr" v-if="item.CustomerName"
</template> >{{ item.CustomerName }} ({{ item.CustomerContact }}/{{
</el-table-column> item.CustomerTel
<el-table-column label="利润" min-width="100"> }})</span
<template slot-scope="scope"> >
<span class="fz15 fbold">{{ scope.row.Income-scope.row.CostMoney-scope.row.Refund>0?(scope.row.Income-scope.row.CostMoney-scope.row.Refund).toFixed(2):'-' }}</span> <span>下单时间:</span>
</template> <span class="mr">{{ item.CreateTime }}</span>
</el-table-column> <div class="">
<el-table-column v-if="item.SellCommission&&item.SellCommission>0" label="提成" style="background:#EAEAEA"> <i
<template slot-scope="scope"> class="mx5"
<commissionDialog :objNew="item"></commissionDialog> :class="{
'el-icon-alarm-clock c20C997': item.OrderStatus == 1,
'el-icon-check cblack': item.OrderStatus == 2,
'el-icon-warning cff9800': item.OrderStatus == 3,
'el-icon-refresh cF1416C': item.OrderStatus == 4,
}"
></i>
<span
class="fz12 cblack"
:class="{
c20C997: item.OrderStatus == 1,
cblack: item.OrderStatus == 2,
cff9800: item.OrderStatus == 3,
cF1416C: item.OrderStatus == 4,
}"
>
{{ item.OrderStatusName }}
</span>
</div>
</div>
</div>
<div class="mb">
<el-table :data="[item]" style="width: 100%" border>
<el-table-column
label="产品名称(出发日期)"
min-width="100"
style="background: #eaeaea"
>
<template slot-scope="scope">
<template>
<div>{{ scope.row.ProductName }}</div>
<span style="color: #999999">{{ scope.row.OrderDate }}</span>
</template> </template>
</el-table-column> </template>
</el-table> </el-table-column>
<div class="row justify-sb mt mb20"> <el-table-column
<div class="column px15 bgf5 radius5 flex-g pa relative"> v-if="item.OrderType != 3"
<div class="fz12">收款单据</div> label="航班信息"
<div class="row wrap orderNo fz12 py"> style="background: #eaeaea"
<span >
class="cursor-pointer radius5 mr px5" <template slot-scope="scope">
:class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3, <div>{{ scope.row.AirLine }}</div>
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}" <div class="text-grey-9 q-pt-xs">
v-for="(x, i) in item.IncomeList" {{ scope.row.FlightNumber }}
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.IncomeList.length == 0" class="c9e fz12">
暂无收款单据
</span>
</div> </div>
<el-tooltip <div class="text-grey-6 q-pt-xs">
v-if="item.OrderStatus == 2" {{ scope.row.FlightTime
class="item" }}{{ scope.row.OrderType == 1 ? "抵达" : "出发至"
effect="dark" }}{{ scope.row.AirportName }}
content="制单"
placement="top"
>
<i
class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(item, index, 1)"
></i>
</el-tooltip>
</div>
<div class="column px15 bgf5 radius5 ml flex-g pa relative">
<div class="fz12">退款单据</div>
<div class="row wrap orderNo fz12 py">
<span
class="cursor-pointer radius5 mr px5"
:class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for="(x, i) in item.RefundList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.RefundList.length == 0" class="c9e fz12">
暂无退款单据
</span>
</div> </div>
<el-tooltip </template>
v-if="item.OrderStatus == 2" </el-table-column>
class="item" <el-table-column label="上下车信息" style="background: #eaeaea">
effect="dark" <template slot-scope="scope">
content="制单" <div>预定时间:{{ scope.row.OrderDate }}</div>
placement="top" <div>车型:{{ scope.row.CarName }}</div>
> <div v-if="scope.row.GetonAddress">
<i 上车点:{{ scope.row.GetonAddress }}
class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(item, index, 2)"
></i>
</el-tooltip>
</div>
<div class="column px15 bgf5 radius5 ml flex-g pa relative">
<div class="fz12">成本单据</div>
<div class="row wrap orderNo fz12 py">
<span
class="cursor-pointer radius5 mr px5"
:class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for="(x, i) in item.CostList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.CostList.length == 0" class="c9e fz12">
暂无成本单据
</span>
</div> </div>
<div class="item absolute right20 bottom20" v-if="item.OrderStatus == 2 && pagesTitle != '销售'"> <div v-if="scope.row.GetoffAddress">
<el-tooltip class="" effect="dark" content="制单" 下车点:{{ scope.row.GetoffAddress }}
placement="top">
<i class="el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(item, index, 3)"></i>
</el-tooltip>
<el-tooltip class="" effect="dark" content="冲抵" placement="top">
<i class="el-icon-circle-plus cursor-pointer c3FC4FF"
@click="isOffset(item, index, 3)"></i>
</el-tooltip>
</div> </div>
</div> </template>
<div class="column justify-c px15 bgf5 radius5 ml flex-g pa20" style="min-width: 230px;"> </el-table-column>
<div class="row-c justify-sb pb5" :class="{'borderD':item.DiscountsMoney>0}"> <el-table-column
<span class="fz12 c9e">订单总金额</span> v-if="item.OrderType != 3"
<div class="ml"> label="行李"
<span class="fz15 fbold">{{ item.Money.toFixed(2) }}</span> style="background: #eaeaea"
<span class="fz12 ml"> >
{{item.CurrencyName}} <template slot-scope="scope">
</span> <div v-if="scope.row.HandLuggageNum > 0">
</div> 手提:{{ scope.row.HandLuggageNum }}
</div>
<div v-if="scope.row.HandLuggageNum > 0">
托运:{{ scope.row.RegisteredLuggageNum }}
</div>
</template>
</el-table-column>
<el-table-column label="人员" style="background: #eaeaea">
<template slot-scope="scope">
<div v-if="scope.row.ManNum > 0">
成人:{{ scope.row.ManNum }}
</div> </div>
<div <div v-if="scope.row.ChildNum > 0">
class="row-c justify-sb py5" 儿童:{{ scope.row.ChildNum }}
v-if="item.DiscountsMoney>0"
>
<span class="fz12 c9e">优惠金额</span>
<div class="ml">
<span class="fz14">{{ item.DiscountsMoney.toFixed(2) }}</span>
<span class="fz12">{{ item.CurrencyName }}</span>
</div>
</div> </div>
<div v-if="scope.row.BabyNum > 0">
婴儿:{{ scope.row.BabyNum }}
</div>
</template>
</el-table-column>
<el-table-column label="数量" style="background: #eaeaea">
<template slot-scope="scope">
{{ scope.row.Num }}
</template>
</el-table-column>
<el-table-column
label="小计"
min-width="70"
style="background: #eaeaea"
>
<template slot-scope="scope">
<span class="fz15 fbold">{{ scope.row.Money.toFixed(2) }}</span>
</template>
</el-table-column>
<template
slot="append"
v-if="
item.Remark ||
item.OPRemark ||
item.isMore ||
(item.OrderStatus > 1 && item.OrderStatus != 3)
"
>
<div
v-if="
(item.OrderStatus > 1 && item.OrderStatus != 3) || item.Remark
"
style="padding: 10px; color: #f1416c"
>
客户备注:{{ item.Remark }}
<i
v-if="
pagesTitle == '销售' &&
item.OrderStatus > 1 &&
item.OrderStatus != 3
"
class="el-icon-edit cursor-pointer c059FF6 mx"
@click="editRemark(item)"
></i>
</div> </div>
<div <div
v-if="item.OrderStatus > 0 && item.OrderStatus < 4 && item.OrderStatus!=3" v-if="
class="column justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s" (item.OrderStatus > 1 && item.OrderStatus != 3) || item.OPRemark
"
style="padding: 10px; color: #f1416c"
:style="{
padding:
!item.Remark && item.isMore
? '0 10px 30px 10px'
: '0 10px 10px 10px',
}"
> >
<div OP备注:{{ item.OPRemark }}
<i
v-if=" v-if="
item.OrderStatus == 1 && pagesTitle == 'OP' &&
item.IncomeList.length == 0 && item.OrderStatus > 1 &&
item.RefundList.length == 0 && item.OrderStatus != 3
item.CostList.length == 0 && item.OrderSource!=1
" "
class="row-c cursor-pointer radius5 cancel py5" class="el-icon-edit cursor-pointer c059FF6 mx"
@click="clickRightButtom(item, 0)" @click="editRemark(item)"
> ></i>
<i v-loading="msg.OrderId==item.OrderId&&loading0"></i>
<span class="cF1416C">取消订单</span>
</div>
<div
v-if="item.OrderStatus == 1&&pagesTitle!='销售'&&item.OrderSource!=1"
class="row-c cursor-pointer radius5 confirm py5"
@click="clickRightButtom(item, 1)"
>
<i v-loading="msg.OrderId==item.OrderId&&loading1"></i>
<span class="c20C997">确认订单</span>
</div>
<div
v-if="item.OrderStatus == 1&&pagesTitle=='销售'"
class="row-c cursor-pointer radius5 change py5"
@click="goRoomDetails(item, '变更订单')"
>
<span class="c059FF6">订单变更</span>
</div>
<div
v-if="item.OrderStatus > 1"
class="row-c cursor-pointer radius5 change1 py5"
@click="clickRightButtom(item, 2)"
>
<i v-loading="msg.OrderId==item.OrderId&&loading2"></i>
<span class="c20C997">收损</span>
</div>
<div
v-if="item.OrderStatus >1 && item.OrderStatus != 3
&&pagesTitle!='销售'&&is_correlationOP"
class="row-c cursor-pointer radius5 change py5"
@click="clickCorrelation(item)"
>
<span class="c059FF6">编辑关联OP</span>
</div>
</div> </div>
</template>
</el-table>
</div>
<el-table
:data="[item]"
style="width: 100%"
border
v-if="item.OrderStatus != 3"
>
<el-table-column label="实收" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{
scope.row.Income ? scope.row.Income : "-"
}}</span>
</template>
</el-table-column>
<el-table-column label="成本" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{
scope.row.CostMoney ? scope.row.CostMoney : "-"
}}</span>
</template>
</el-table-column>
<el-table-column label="平台税金" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{
scope.row.PlatformTax ? scope.row.PlatformTax : "-"
}}</span>
</template>
</el-table-column>
<el-table-column label="退款" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{
scope.row.Refund ? scope.row.Refund : "-"
}}</span>
</template>
</el-table-column>
<el-table-column label="待收金额" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{ scope.row.DueInMoney || "-" }}</span>
</template>
</el-table-column>
<el-table-column label="利润" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{
scope.row.Income - scope.row.CostMoney - scope.row.Refund > 0
? (
scope.row.Income -
scope.row.CostMoney -
scope.row.Refund
).toFixed(2)
: "-"
}}</span>
</template>
</el-table-column>
<el-table-column
v-if="item.SellCommission && item.SellCommission > 0"
label="提成"
style="background: #eaeaea"
>
<template slot-scope="scope">
<commissionDialog :objNew="item"></commissionDialog>
</template>
</el-table-column>
</el-table>
<div class="row justify-sb mt mb20">
<div class="column px15 bgf5 radius5 flex-g pa relative">
<div class="fz12">收款单据</div>
<div class="row wrap orderNo fz12 py">
<span
class="cursor-pointer radius5 mr px5"
:class="{
bgD9F3FF: x.Status == 1,
bgFAEAED: x.Status == 2,
bjFFF3E0: x.Status == 3,
c3FC4FF: x.Status == 1,
cF1416C: x.Status == 2,
cff9800: x.Status == 3,
}"
v-for="(x, i) in item.IncomeList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.IncomeList.length == 0" class="c9e fz12">
暂无收款单据
</span>
</div> </div>
<div class="mt mb20 bgf5 pa15 row-c" v-if="item.CancelRemark"> <el-tooltip
<div style="font-size:16px;font-weight:bold;font-family: pingfangR;">取消理由:</div> v-if="item.OrderStatus == 2"
<div style="margin-left:12px;font-size:12px;color: grey; font-family: microsoft yahei;">{{item.CancelRemark}}</div> class="item"
<div style="margin-left:12px;font-size:12px;font-family: microsoft yahei;"> effect="dark"
{{item.CancelEmpName}} {{item.CancelTime}} content="制单"
</div> placement="top"
>
<i
class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(item, index, 1)"
></i>
</el-tooltip>
</div>
<div class="column px15 bgf5 radius5 ml flex-g pa relative">
<div class="fz12">退款单据</div>
<div class="row wrap orderNo fz12 py">
<span
class="cursor-pointer radius5 mr px5"
:class="{
bgD9F3FF: x.Status == 1,
bgFAEAED: x.Status == 2,
bjFFF3E0: x.Status == 3,
c3FC4FF: x.Status == 1,
cF1416C: x.Status == 2,
cff9800: x.Status == 3,
}"
v-for="(x, i) in item.RefundList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.RefundList.length == 0" class="c9e fz12">
暂无退款单据
</span>
</div> </div>
<el-tooltip
v-if="item.OrderStatus == 2"
class="item"
effect="dark"
content="制单"
placement="top"
>
<i
class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(item, index, 2)"
></i>
</el-tooltip>
</div> </div>
<div class="column px15 bgf5 radius5 ml flex-g pa relative">
<el-dialog <div class="fz12">成本单据</div>
custom-class="w400" <div class="row wrap orderNo fz12 py">
title="设置收损金额" <span
:visible.sync="outerVisible" class="cursor-pointer radius5 mr px5"
:class="{
bgD9F3FF: x.Status == 1,
bgFAEAED: x.Status == 2,
bjFFF3E0: x.Status == 3,
c3FC4FF: x.Status == 1,
cF1416C: x.Status == 2,
cff9800: x.Status == 3,
}"
v-for="(x, i) in item.CostList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.CostList.length == 0" class="c9e fz12">
暂无成本单据
</span>
</div>
<div
class="item absolute right20 bottom20"
v-if="item.OrderStatus == 2 && pagesTitle != '销售'"
>
<el-tooltip class="" effect="dark" content="制单" placement="top">
<i
class="el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(item, index, 3)"
></i>
</el-tooltip>
<el-tooltip class="" effect="dark" content="冲抵" placement="top">
<i
class="el-icon-circle-plus cursor-pointer c3FC4FF"
@click="isOffset(item, index, 3)"
></i>
</el-tooltip>
</div>
</div>
<div
class="column justify-c px15 bgf5 radius5 ml flex-g pa20"
style="min-width: 230px"
> >
<div> <div
<el-form label-width="80px" :model="msg" :rules="rules" ref="msg"> class="row-c justify-sb pb5"
<el-row :gutter="20"> :class="{ borderD: item.DiscountsMoney > 0 }"
<el-col :span="20"> >
<el-form-item label="收损金额" prop="LossMoney"> <span class="fz12 c9e">订单总金额</span>
<el-input-number <div class="ml">
class="w200" <span class="fz15 fbold">{{ item.Money.toFixed(2) }}</span>
v-model="msg.LossMoney" <span class="fz12 ml">
:min="0" {{ item.CurrencyName }}
:max="10000000" </span>
></el-input-number> </div>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="margin-top: 20px;margin-bottom: 20px;">
<el-col :span="24" style="text-align: right;">
<input
type="button"
class="normalBtn"
value="保存"
@click="submitForm('msg')"
/>
<input
type="button"
class="hollowFixedBtn"
value="取消"
@click="(outerVisible = false), $refs['msg'].resetFields()"
/>
</el-col>
</el-row>
</el-form>
</div> </div>
</el-dialog> <div class="row-c justify-sb py5" v-if="item.DiscountsMoney > 0">
<el-dialog <span class="fz12 c9e">优惠金额</span>
custom-class="w600" <div class="ml">
title="取消订单" <span class="fz14">{{ item.DiscountsMoney.toFixed(2) }}</span>
:visible.sync="cancelOrderDialog" <span class="fz12">{{ item.CurrencyName }}</span>
</div>
</div>
</div>
<div
v-if="
item.OrderStatus > 0 &&
item.OrderStatus < 4 &&
item.OrderStatus != 3
"
class="column justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
> >
<div style="padding-bottom:20px"> <div
<el-input v-if="
type="textarea" item.OrderStatus == 1 &&
autofocus item.IncomeList.length == 0 &&
rows="5" item.RefundList.length == 0 &&
placeholder="请填写取消订单的缘由" item.CostList.length == 0 &&
clear="w300" item.OrderSource != 1
v-model="cancelRemark" "
></el-input> class="row-c cursor-pointer radius5 cancel py5"
<el-row :gutter="20" style="margin-top: 20px;"> @click="clickRightButtom(item, 0)"
<el-col :span="24" style="text-align: right;"> >
<input <i v-loading="msg.OrderId == item.OrderId && loading0"></i>
type="button" <span class="cF1416C">取消订单</span>
class="normalBtn"
value="取消订单"
@click="cancelOrderHandler"
/>
<input
type="button"
class="hollowFixedBtn"
value="关闭"
@click="cancelOrderDialog = false"
/>
</el-col>
</el-row>
</div> </div>
</el-dialog> <div
<!-- op备注 --> v-if="
<el-dialog custom-class='addCompany' :title="pagesTitle=='销售'?'编辑客户备注':'编辑OP备注'" :visible.sync="isShowRemark" center width="400px"> item.OrderStatus == 1 &&
<el-row class="flex" style="margin-top: 10px;"> pagesTitle != '销售' &&
<el-col> item.OrderSource != 1
<span style="display: block;margin-bottom: 10px;">备注:</span> "
<span> class="row-c cursor-pointer radius5 confirm py5"
<el-input type="textarea" :rows="4" v-model="postMsg.Remark"> @click="clickRightButtom(item, 1)"
</el-input> >
</span> <i v-loading="msg.OrderId == item.OrderId && loading1"></i>
<span class="c20C997">确认订单</span>
</div>
<div
v-if="item.OrderStatus == 1 && pagesTitle == '销售'"
class="row-c cursor-pointer radius5 change py5"
@click="goRoomDetails(item, '变更订单')"
>
<span class="c059FF6">订单变更</span>
</div>
<div
v-if="item.OrderStatus > 1"
class="row-c cursor-pointer radius5 change1 py5"
@click="clickRightButtom(item, 2)"
>
<i v-loading="msg.OrderId == item.OrderId && loading2"></i>
<span class="c20C997">收损</span>
</div>
<div
v-if="
item.OrderStatus > 1 &&
item.OrderStatus != 3 &&
pagesTitle != '销售' &&
is_correlationOP
"
class="row-c cursor-pointer radius5 change py5"
@click="clickCorrelation(item, 1)"
>
<span class="c059FF6">编辑关联OP</span>
</div>
<div
v-if="item.OrderStatus != 3 && pagesTitle == 'OP'"
class="row-c cursor-pointer radius5 change py5"
@click="clickCorrelation(item, 2)"
>
<span class="c059FF6">编辑总金额</span>
</div>
</div>
</div>
<div class="mt mb20 bgf5 pa15 row-c" v-if="item.CancelRemark">
<div style="font-size: 16px; font-weight: bold; font-family: pingfangR">
取消理由:
</div>
<div
style="
margin-left: 12px;
font-size: 12px;
color: grey;
font-family: microsoft yahei;
"
>
{{ item.CancelRemark }}
</div>
<div
style="
margin-left: 12px;
font-size: 12px;
font-family: microsoft yahei;
"
>
{{ item.CancelEmpName }} {{ item.CancelTime }}
</div>
</div>
</div>
<el-dialog
custom-class="w400"
title="设置收损金额"
:visible.sync="outerVisible"
>
<div>
<el-form label-width="80px" :model="msg" :rules="rules" ref="msg">
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="收损金额" prop="LossMoney">
<el-input-number
class="w200"
v-model="msg.LossMoney"
:min="0"
:max="10000000"
></el-input-number>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div slot="footer" class="dialog-footer"> <el-row :gutter="20" style="margin-top: 20px; margin-bottom: 20px">
<button class="hollowFixedBtn" @click="isShowRemark = false">取消</button> &nbsp; <el-col :span="24" style="text-align: right">
<button class="normalBtn" type="primary" @click="submitEditRemark">{{$t('pub.sureBtn')}}</button> <input
</div> type="button"
</el-dialog> class="normalBtn"
<offset :isShow="cdState" :obj="queryObj" @close="cdState=false"></offset> value="保存"
<correlationOP :isShowCorrelation="isShowCorrelation" :CorrelationObj="CorrelationObj" @click="submitForm('msg')"
@close="isShowCorrelation=false" />
@success="success"></correlationOP> <input
type="button"
class="hollowFixedBtn"
value="取消"
@click="(outerVisible = false), $refs['msg'].resetFields()"
/>
</el-col>
</el-row>
</el-form>
</div>
</el-dialog>
<el-dialog
custom-class="w600"
title="取消订单"
:visible.sync="cancelOrderDialog"
>
<div style="padding-bottom: 20px">
<el-input
type="textarea"
autofocus
rows="5"
placeholder="请填写取消订单的缘由"
clear="w300"
v-model="cancelRemark"
></el-input>
<el-row :gutter="20" style="margin-top: 20px">
<el-col :span="24" style="text-align: right">
<input
type="button"
class="normalBtn"
value="取消订单"
@click="cancelOrderHandler"
/>
<input
type="button"
class="hollowFixedBtn"
value="关闭"
@click="cancelOrderDialog = false"
/>
</el-col>
</el-row>
</div>
</el-dialog>
<!-- op备注 -->
<el-dialog
custom-class="addCompany"
:title="pagesTitle == '销售' ? '编辑客户备注' : '编辑OP备注'"
:visible.sync="isShowRemark"
center
width="400px"
>
<el-row class="flex" style="margin-top: 10px">
<el-col>
<span style="display: block; margin-bottom: 10px">备注:</span>
<span>
<el-input type="textarea" :rows="4" v-model="postMsg.Remark">
</el-input>
</span>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="isShowRemark = false">
取消
</button>
&nbsp;
<button class="normalBtn" type="primary" @click="submitEditRemark">
{{ $t("pub.sureBtn") }}
</button>
</div> </div>
</template> </el-dialog>
<offset :isShow="cdState" :obj="queryObj" @close="cdState = false"></offset>
<correlationOP
:isShowCorrelation="isShowCorrelation"
:CorrelationObj="CorrelationObj"
@close="isShowCorrelation = false"
@success="success"
></correlationOP>
</div>
</template>
<script> <script>
import offset from '../../../public/offset.vue'; import offset from "../../../public/offset.vue";
import correlationOP from '../../../Hotel/reservation/correlationOP.vue'; import correlationOP from "../../../Hotel/reservation/correlationOP.vue";
import commissionDialog from "../../../FinancialModule/TradeCommission/commissionDialog" import commissionDialog from "../../../FinancialModule/TradeCommission/commissionDialog";
export default { export default {
components: { offset,correlationOP,commissionDialog }, components: { offset, correlationOP, commissionDialog },
props: ["OrderList","pagesTitle"], props: ["OrderList", "pagesTitle"],
data() { data() {
return { return {
postMsg:{OrderId:0,Type:1,Remark:''}, postMsg: { OrderId: 0, Type: 1, Remark: "" },
isShowRemark: false, isShowRemark: false,
queryObj:null, queryObj: null,
cdState: false, cdState: false,
copyId: 0, copyId: 0,
loading0: false, loading0: false,
loading1: false, loading1: false,
loading2: false, loading2: false,
loading3: false, loading3: false,
BillMakingMsg: { BillMakingMsg: {
// PeroidsId: null, // PeroidsId: null,
// Type: null, // Type: null,
// EmpIds:'', // EmpIds:'',
OtherType: 61, OtherType: 61,
ReFinanceId: "", ReFinanceId: "",
ReFinanceId2: "", ReFinanceId2: "",
RelevanceFrId: "",// 1接机 2送机 3包车 RelevanceFrId: "", // 1接机 2送机 3包车
},
userInfo: {},
msg: {
OrderId: "",
LossMoney: 0,
State: "", //状态 1确认 2已邮寄 3设置自提 4收损
SelffetchAddress: "",
},
msgParameter: {
IsUpdateMailing: 1,
OrderId: 0,
Money: 0.0,
Remark: "",
MailingState: "1", //邮寄状态 1自取 2邮寄
MailingAddress: "", //MailingState =2 填写邮寄
UseDate: "", //门票日期
Name: "",
EName: "",
Sex: "1", //1男2女
Birthday: "",
Mobile: "",
CouponsId: "", //景点id
DetailList: [],
},
rules2: {
Name: [
{
required: true,
message: "请输入中文名",
trigger: "blur",
}, },
userInfo: {}, ],
msg: { EName: [
OrderId: "", {
LossMoney: 0, required: true,
State: '',//状态 1确认 2已邮寄 3设置自提 4收损 message: "请输入英文名",
SelffetchAddress: '' trigger: "blur",
}, },
msgParameter: { ],
IsUpdateMailing: 1, Mobile: [
OrderId: 0, { required: true, message: "请输入联系电话", trigger: "blur" },
Money: 0.0, {
Remark: '', pattern: this.$commonUtils.Regex.el_ISphone,
MailingState: '1',//邮寄状态 1自取 2邮寄 message: "请输入正确的电话",
MailingAddress: '',//MailingState =2 填写邮寄
UseDate:'',//门票日期
Name:'',
EName:'',
Sex: '1',//1男2女
Birthday: '',
Mobile:'',
CouponsId:'',//景点id
DetailList:[],
}, },
rules2:{ ],
Name: [{ MailingAddress: [
required: true, {
message: '请输入中文名', required: true,
trigger: 'blur' message: "请输入邮寄地址",
}], trigger: "blur",
EName: [{
required: true,
message: '请输入英文名',
trigger: 'blur'
}],
Mobile: [
{ required: true, message: "请输入联系电话", trigger: "blur" },
{
pattern: this.$commonUtils.Regex.el_ISphone,
message: "请输入正确的电话"
}
],
MailingAddress: [{
required: true,
message: '请输入邮寄地址',
trigger: 'blur'
}],
}, },
outerVisible: false, ],
rules: { },
State: [ outerVisible: false,
{ rules: {
required: true, State: [
message: "请选择订单状态", {
trigger: "change" required: true,
} message: "请选择订单状态",
], trigger: "change",
SelffetchAddress: [ },
{ ],
required: true, SelffetchAddress: [
message: "请输入自提地址", {
trigger: "blur" required: true,
} message: "请输入自提地址",
], trigger: "blur",
LossMoney: [
{
required: true,
message: "请输入收损金额",
trigger: "blur"
}
]
}, },
cancelOrderDialog: false, ],
cancelRemark: "", LossMoney: [
cancelOrderId:0, {
uploadOrderId: 0, required: true,
loading: false, message: "请输入收损金额",
fileList:[], trigger: "blur",
GuestFile: '', },
ChangeOrderDialog: false, ],
OrderStatusType:[
{Name: this.$t('OrderList.orderStatus.apply'),ID:'1'},
{Name: this.$t('OrderList.orderStatus.check'),ID:'2'},
{Name: this.$t('OrderList.orderStatus.cancel'),ID:'3'},
{Name: this.$t('OrderList.orderStatus.sun'),ID:'4'},
],
items: null,
typeState: '',
Title: '',
isShowCorrelation: false,
CorrelationObj:{},
is_correlationOP: false
};
}, },
watch: { cancelOrderDialog: false,
pagesTitle(val,oldval){ cancelRemark: "",
this.Title = val cancelOrderId: 0,
uploadOrderId: 0,
loading: false,
fileList: [],
GuestFile: "",
ChangeOrderDialog: false,
OrderStatusType: [
{ Name: this.$t("OrderList.orderStatus.apply"), ID: "1" },
{ Name: this.$t("OrderList.orderStatus.check"), ID: "2" },
{ Name: this.$t("OrderList.orderStatus.cancel"), ID: "3" },
{ Name: this.$t("OrderList.orderStatus.sun"), ID: "4" },
],
items: null,
typeState: "",
Title: "",
isShowCorrelation: false,
CorrelationObj: {},
is_correlationOP: false,
};
},
watch: {
pagesTitle(val, oldval) {
this.Title = val;
},
OrderList: {
handler(val, oldVal) {},
},
},
methods: {
close() {
this.isShowCorrelation = false;
},
success() {
this.close();
this.$emit("success");
},
clickCorrelation(item, type) {
// <!-- this.CorrelationObj = item
// this.CorrelationObj.TypeNum = 3
// this.isShowCorrelation = true -->
this.CorrelationObj = JSON.parse(JSON.stringify(item));
if (type == 2) {
this.CorrelationObj.TypeNum = 6; //编辑总价
} else {
this.CorrelationObj.TypeNum = 3;
}
this.isShowCorrelation = true;
},
isOffset(row, index, num) {
this.makeAdocument(row, index, num, "Offset");
setTimeout(() => {
this.cdState = true;
}, 100);
},
editRemark(item) {
this.postMsg.OrderId = item.OrderId;
this.postMsg.Remark =
this.pagesTitle == "销售" ? item.Remark : item.OPRemark;
this.isShowRemark = true;
},
submitEditRemark() {
if (!this.postMsg.Remark) {
this.$message.error("OP备注不能为空");
return;
}
this.apipost(
"CarSingle_post_SetCarOrderRemark",
{
OrderId: this.postMsg.OrderId,
Type: this.pagesTitle == "销售" ? 1 : 2,
Remark: this.postMsg.Remark,
}, },
OrderList:{ (res) => {
handler(val, oldVal){ if (res.data.resultCode == 1) {
this.isShowRemark = false;
this.$emit("success");
this.$forceUpdate();
} else {
this.Error(res.data.message);
} }
} }
}, );
methods: { },
close(){ submit2() {
this.isShowCorrelation = false if (this.loading3) return;
}, this.$refs["msgParameter"].validate((valid) => {
success(){ if (valid) {
this.close() this.setFormMsg2();
this.$emit('success') } else {
}, return false;
clickCorrelation(item){ }
this.CorrelationObj = item });
this.CorrelationObj.TypeNum = 3 },
this.isShowCorrelation = true setFormMsg2() {
}, if (this.msgParameter.MailingState == "1") {
isOffset(row, index, num){ this.msgParameter.MailingAddress = "";
this.makeAdocument(row, index, num,'Offset') }
setTimeout(()=>{ let m = {
this.cdState = true IsUpdateMailing: 1,
},100) OrderId: this.msgParameter.OrderId,
}, CouponsId: this.msgParameter.CouponsId,
editRemark(item){ Money: this.msgParameter.Money,
this.postMsg.OrderId = item.OrderId UseDate: this.msgParameter.UseDate,
this.postMsg.Remark = this.pagesTitle=='销售'?item.Remark:item.OPRemark Birthday: this.msgParameter.Birthday,
this.isShowRemark = true DetailList: this.msgParameter.DetailList,
}, MailingState: this.msgParameter.MailingState, //邮寄状态 1自取 2邮寄
submitEditRemark(){ MailingAddress: this.msgParameter.MailingAddress, //MailingState =2 填写邮寄
if(!this.postMsg.Remark){ Name: this.msgParameter.Name,
this.$message.error('OP备注不能为空'); EName: this.msgParameter.EName,
return Sex: this.msgParameter.Sex, //1男2女
Mobile: this.msgParameter.Mobile,
Remark: this.msgParameter.Remark,
};
this.loading3 = true;
this.apipost(
"ticket_post_SetSaleTicketOrder",
m,
(res) => {
this.loading3 = false;
if (res.data.resultCode == 1) {
this.Success("变更成功");
this.$emit("success");
this.ChangeOrderDialog = false;
} else {
this.Error("变更失败");
} }
this.apipost('CarSingle_post_SetCarOrderRemark', {
OrderId: this.postMsg.OrderId,
Type: this.pagesTitle=='销售'?1:2,
Remark: this.postMsg.Remark
}, res => {
if (res.data.resultCode == 1) {
this.isShowRemark = false
this.$emit('success')
this.$forceUpdate();
} else {
this.Error(res.data.message);
}
})
}, },
submit2(){ (err) => {
if(this.loading3) return this.loading3 = false;
this.$refs['msgParameter'].validate((valid) => { this.Error(err.message);
if (valid) { }
this.setFormMsg2() );
} else { },
return false; uploadFileBtn(file) {
} let ft = file.file.name
}); .substring(file.file.name.lastIndexOf(".") + 1, file.file.name.length)
.toUpperCase();
let typeOk = false;
let FileName = file.file.name.substring(
0,
file.file.name.lastIndexOf(".")
);
let newArr = [];
newArr.push(file.file);
let path = "/Upload/Temporary/";
this.$message.info(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(
path,
newArr,
(x) => {
this.GuestFile = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.uploadHandleChange();
}, },
setFormMsg2(){ 1
if(this.msgParameter.MailingState=='1'){ );
this.msgParameter.MailingAddress = '' },
// 上传旅客名单
uploadHandleChange() {
if (this.loading) return;
let msg = {
OrderId: this.uploadOrderId,
GuestFileList: [this.GuestFile],
};
this.loading = true;
this.apipost(
"dict_post_SetSaleOrderGuestFile",
msg,
(res) => {
this.loading = false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.uploadOrderId = 0;
this.GuestFile = "";
this.$emit("success");
} else {
this.Error(res.data.message);
} }
let m = {
IsUpdateMailing: 1,
OrderId: this.msgParameter.OrderId,
CouponsId: this.msgParameter.CouponsId,
Money: this.msgParameter.Money,
UseDate: this.msgParameter.UseDate,
Birthday: this.msgParameter.Birthday,
DetailList: this.msgParameter.DetailList,
MailingState: this.msgParameter.MailingState,//邮寄状态 1自取 2邮寄
MailingAddress: this.msgParameter.MailingAddress,//MailingState =2 填写邮寄
Name: this.msgParameter.Name,
EName: this.msgParameter.EName,
Sex: this.msgParameter.Sex,//1男2女
Mobile: this.msgParameter.Mobile,
Remark: this.msgParameter.Remark,
}
this.loading3 = true
this.apipost("ticket_post_SetSaleTicketOrder", m,
res => {
this.loading3 = false
if (res.data.resultCode == 1) {
this.Success('变更成功');
this.$emit('success')
this.ChangeOrderDialog = false
} else {
this.Error('变更失败')
}
},
err => {
this.loading3 = false
this.Error(err.message)
});
},
uploadFileBtn(file){
let ft = file.file.name.substring(file.file.name.lastIndexOf('.') + 1, file.file.name.length).toUpperCase();
let typeOk = false;
let FileName = file.file.name.substring(0,file.file.name.lastIndexOf("."))
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info(this.$t('tips.shangchuanzhong'))
this.UploadSelfFileT(path, newArr, x => {
this.GuestFile = this.domainManager().ViittoFileUrl + x.data.FilePath
this.uploadHandleChange()
}, 1);
}, },
// 上传旅客名单 (err) => {
uploadHandleChange(){ this.loading = false;
if(this.loading) return }
let msg = { );
OrderId: this.uploadOrderId, },
GuestFileList: [this.GuestFile] // 单据详情
openDetails(item) {
let query = {
id: item.FrID,
blank: "y",
};
this.$router.push({
path: "/FinancialDocumentsDetail",
query,
});
},
// 制作单据
makeAdocument(row, index, num, Offset) {
let type = 0;
if (num == 3) {
type = 2;
} else {
type = num;
}
this.BillMakingMsg.RelevanceFrId = row.OrderType; //1接机 2送机 3包车
this.BillMakingMsg.ReFinanceId = row.OrderId;
this.BillMakingMsg.ReFinanceId2 = num;
this.BillMakingMsg.OtherType = 67;
let text = "";
let query = {};
if (num == 1) {
text = "收款";
} else if (num == 2) {
text = "付款";
} else if (num == 3) {
text = "成本";
}
query = {
blank: "y",
tab: `新增${text}单据`,
Type: type,
tradeObj: JSON.stringify(this.BillMakingMsg),
};
this.queryObj = query;
if (!Offset) {
this.$store.commit("ChoiceAddFinancialDocuments");
this.$router.push({
path: "/ChoiceAddFinancialDocuments",
query,
});
}
},
// 订单明细
goRoomDetails(obj, title) {
var path;
if (title === "订房详情") {
path = "roomReservationsDetails";
if (this.userInfo.RB_Group_id == 91) {
path = "roomReservationsDetails_swt";
}
this.$router.push({
name: path,
query: {
id: obj.OrderId,
OrderType: 1,
blank: "y",
tab: title,
},
});
} else {
//变更预定
this.$router.push({
name: "CharterPreview",
query: {
OrderId: obj.OrderId,
id: obj.ProductId,
blank: "y",
tab: title,
},
});
}
},
clickRightButtom(item, type) {
// 0取消订单 1确认订单 2收损
this.msg.OrderId = item.OrderId;
this.msg.SelffetchAddress = item.SelffetchAddress;
this.items = item;
this.typeState = type;
if (type == 0) {
if (!this.loading0) {
this.cancelOrderId = item.OrderId;
// 销售 OP
if (this.Title != "销售") {
this.cancelOrderDialog = true;
} else {
let that = this;
that
.$confirm(`是否确定取消订单?`, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.cancelOrderHandler();
})
.catch((err) => {
this.loading0 = false;
});
} }
this.loading = true }
} else if (type == 1) {
if (!this.loading1) {
this.confirmFun(item, type);
}
} else if (type == 2) {
if (!this.loading2) {
this.outerVisible = true;
this.msg.LossMoney = item.LossMoney ? item.LossMoney : 0;
}
}
},
// 销售取消订单
cancelOrder() {
let that = this;
if (this.loading0) return;
that
.$confirm(`是否确定取消订单?`, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.loading0 = true;
this.apipost( this.apipost(
"dict_post_SetSaleOrderGuestFile",msg, "ticket_post_CancelSaleTicketOrder",
res => { {
this.loading = false; OrderId: this.cancelOrderId,
IsOPCancel: this.Title != "销售" ? 1 : 0,
Remark: this.cancelRemark,
},
(res) => {
this.loading0 = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.Success(res.data.message); this.Success(res.data.message);
this.uploadOrderId=0
this.GuestFile=''
this.$emit("success"); this.$emit("success");
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
},
err => {
this.loading = false;
} }
); ).catch((err) => {
}, this.loading0 = false;
// 单据详情
openDetails(item) {
let query = {
id: item.FrID,
blank: "y",
};
this.$router.push({
path: "/FinancialDocumentsDetail",
query
}); });
}, })
// 制作单据 .catch(() => {
makeAdocument(row, index, num, Offset) { this.loading0 = false;
let type = 0 });
if(num==3){ },
type = 2 //提交
}else{ submitForm(msg) {
type = num //提交创建、修改表单
} this.$refs[msg].validate((valid) => {
this.BillMakingMsg.RelevanceFrId = row.OrderType//1接机 2送机 3包车 if (valid) {
this.BillMakingMsg.ReFinanceId = row.OrderId; if (!this.loading2) {
this.BillMakingMsg.ReFinanceId2 = num; this.saveUpdate();
this.BillMakingMsg.OtherType = 67;
let text = "";
let query = {};
if (num == 1) {
text = "收款";
} else if (num == 2) {
text = "付款";
} else if (num == 3) {
text = "成本";
}
query = {
blank: "y",
tab: `新增${text}单据`,
Type: type,
tradeObj: JSON.stringify(this.BillMakingMsg)
};
this.queryObj = query
if(!Offset){
this.$store.commit("ChoiceAddFinancialDocuments");
this.$router.push({
path: "/ChoiceAddFinancialDocuments",
query
});
} }
} else {
// this.Error("请完成必填项");
return false;
}
});
},
cancelOrderHandler() {
if (this.cancelRemark == "" && this.Title != "销售") {
this.Error("请填写取消订单的缘由");
return;
}
if (this.loading0) return;
this.loading0 = true;
this.apipost(
"CarSingle_post_CancelSaleCarOrder",
{
OrderId: this.cancelOrderId,
IsOPCancel: this.Title != "销售" ? 1 : 0,
Remark: this.Title != "销售" ? this.cancelRemark : "",
}, },
// 订单明细 (res) => {
goRoomDetails(obj, title) { if (res.data.resultCode == 1) {
var path this.Success(res.data.message);
if(title==='订房详情'){ this.cancelOrderDialog = false;
path = "roomReservationsDetails"; this.cancelOrderId = 0;
if (this.userInfo.RB_Group_id == 91) { this.cancelRemark = "";
path = "roomReservationsDetails_swt"; this.$emit("success");
} } else {
this.$router.push({ this.Error(res.data.message);
name: path,
query: {
id: obj.OrderId,
OrderType: 1,
blank: "y",
tab: title
}
});
}else{//变更预定
this.$router.push({
name: 'CharterPreview',
query: {
OrderId: obj.OrderId,
id: obj.ProductId,
blank: "y",
tab: title
}
});
} }
this.loading0 = false;
}, },
clickRightButtom(item, type) { (err) => {
// 0取消订单 1确认订单 2收损 this.loading0 = false;
this.msg.OrderId = item.OrderId; }
this.msg.SelffetchAddress = item.SelffetchAddress );
this.items = item },
this.typeState = type
if (type == 0) { saveUpdate() {
if (!this.loading0) { let text = "是否确认设置收损?";
this.cancelOrderId = item.OrderId this.$confirm(text, "提示", {
// 销售 OP confirmButtonText: "确定",
if(this.Title!='销售'){ cancelButtonText: "取消",
this.cancelOrderDialog = true; type: "warning",
}else{ })
let that = this .then(() => {
that.$confirm(`是否确定取消订单?`, '提示', { this.loading2 = true;
confirmButtonText: '确定', this.apipost(
cancelButtonText: '取消', "CarSingle_post_SetAdminCarOrderState",
type: 'warning' {
}).then(() => { OrderId: this.msg.OrderId,
this.cancelOrderHandler() State: this.typeState,
}).catch(err=>{ LossMoney: this.msg.LossMoney,
this.loading0= false },
}) (res) => {
} if (res.data.resultCode == 1) {
} this.Success(res.data.message);
} else if (type == 1) { this.$emit("success");
if (!this.loading1) { } else {
this.confirmFun(item, type); this.Error(res.data.message);
}
}else if (type == 2) {
if (!this.loading2) {
this.outerVisible = true;
this.msg.LossMoney = item.LossMoney ? item.LossMoney : 0;
}
}
},
// 销售取消订单
cancelOrder() {
let that = this
if (this.loading0) return;
that.$confirm(`是否确定取消订单?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading0 = true
this.apipost("ticket_post_CancelSaleTicketOrder", {
OrderId: this.cancelOrderId,
IsOPCancel: this.Title!='销售'?1:0,
Remark: this.cancelRemark
},
res => {
this.loading0= false
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.$emit("success");
} else {
this.Error(res.data.message);
}
}).catch(err=>{
this.loading0= false
})
}).catch(()=>{
this.loading0 = false
})
},
//提交
submitForm(msg) {
//提交创建、修改表单
this.$refs[msg].validate(valid => {
if (valid) {
if (!this.loading2) {
this.saveUpdate();
} }
} else { this.loading2 = false;
// this.Error("请完成必填项"); this.outerVisible = false;
return false; },
(err) => {
(this.loading2 = false), (this.outerVisible = false);
} }
}); );
}, })
cancelOrderHandler() { .catch(() => {});
if (this.cancelRemark == ""&&this.Title!='销售') { },
this.Error("请填写取消订单的缘由"); confirmFun(item, type) {
return; let text = "是否确认订单?";
} this.$confirm(text, "提示", {
if (this.loading0) return; confirmButtonText: "确定",
this.loading0 = true cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.loading1 = true;
this.apipost( this.apipost(
"CarSingle_post_CancelSaleCarOrder", "CarSingle_post_SetAdminCarOrderState",
{ {
OrderId: this.cancelOrderId, OrderId: item.OrderId,
IsOPCancel: this.Title!='销售'?1:0, State: type,
Remark: this.Title!='销售'?this.cancelRemark:'' LossMoney: type == 2 ? this.msg.LossMoney : "",
}, },
res => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.Success(res.data.message); this.Success(res.data.message);
this.cancelOrderDialog=false this.$emit("success");
this.cancelOrderId=0 } else {
this.cancelRemark='' this.Error(res.data.message);
this.$emit("success");
} else {
this.Error(res.data.message);
}
this.loading0 = false;
},
err => {
this.loading0 = false;
} }
); this.loading1 = false;
},
}, (err) => {
this.loading1 = false;
saveUpdate() {
let text = '是否确认设置收损?'
this.$confirm(text, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.loading2 = true;
this.apipost(
"CarSingle_post_SetAdminCarOrderState",
{
OrderId: this.msg.OrderId,
State: this.typeState,
LossMoney: this.msg.LossMoney,
},
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.$emit("success");
} else {
this.Error(res.data.message);
}
this.loading2 = false;
this.outerVisible = false;
},
err => {
(this.loading2 = false), (this.outerVisible = false);
}
);
})
.catch(() => {});
},
confirmFun(item,type) {
let text = '是否确认订单?'
this.$confirm(text, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.loading1 = true;
this.apipost(
"CarSingle_post_SetAdminCarOrderState",
{
OrderId: item.OrderId,
State: type,
LossMoney: type==2?this.msg.LossMoney:'',
},
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.$emit("success");
} else {
this.Error(res.data.message);
}
this.loading1 = false;
},
err => {
this.loading1 = false;
}
);
})
.catch(() => {
this.$message.info("已取消!");
});
},
//复制信息
CopyHandler(item) {
this.copyId = item.OrderId;
let copyText = item.OrderId;
const save = function(e) {
e.clipboardData.setData('text/plain', copyText)
e.preventDefault() // 阻止默认行为
} }
document.addEventListener('copy', save) // 添加一个copy事件 );
let x = document.execCommand('copy') // 执行copy方法 })
setTimeout(() => { .catch(() => {
this.copyId = 0; this.$message.info("已取消!");
}, 2000); });
}, },
setEdate() { //复制信息
return this.addMoth(new Date().Format("yyyy-MM-dd"), 1); CopyHandler(item) {
}, this.copyId = item.OrderId;
addMoth(d, m) { let copyText = item.OrderId;
let ds = d.split("-"), const save = function (e) {
_d = ds[2] - 0; e.clipboardData.setData("text/plain", copyText);
let nextM = new Date(ds[0], ds[1] - 1 + m + 1, 0); e.preventDefault(); // 阻止默认行为
let max = nextM.getDate(); };
d = new Date(ds[0], ds[1] - 1 + m, _d > max ? max : _d); document.addEventListener("copy", save); // 添加一个copy事件
return d let x = document.execCommand("copy"); // 执行copy方法
.toLocaleDateString() setTimeout(() => {
.match(/\d+/g) this.copyId = 0;
.join("-"); }, 2000);
}, },
com_onresize() { setEdate() {
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定, return this.addMoth(new Date().Format("yyyy-MM-dd"), 1);
var contentsHeight = document.body.clientHeight; },
var h = contentsHeight - 50 - 180 - 40; addMoth(d, m) {
if (h < 110) { let ds = d.split("-"),
return; _d = ds[2] - 0;
} let nextM = new Date(ds[0], ds[1] - 1 + m + 1, 0);
//设置table的行高 let max = nextM.getDate();
// this.tableHeight = h; d = new Date(ds[0], ds[1] - 1 + m, _d > max ? max : _d);
} return d.toLocaleDateString().match(/\d+/g).join("-");
}, },
mounted() { com_onresize() {
this.userInfo = this.getLocalStorage(); //clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
let ActionMenuCode = this.userInfo.ActionMenuCode; var contentsHeight = document.body.clientHeight;
if (ActionMenuCode.indexOf('is_correlationOP') != -1 ){ var h = contentsHeight - 50 - 180 - 40;
this.is_correlationOP = true if (h < 110) {
} return;
//自适应高度调节
this.com_onresize();
window.onresize = () => {
this.com_onresize();
};
} }
//设置table的行高
// this.tableHeight = h;
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let ActionMenuCode = this.userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf("is_correlationOP") != -1) {
this.is_correlationOP = true;
}
//自适应高度调节
this.com_onresize();
window.onresize = () => {
this.com_onresize();
}; };
</script> },
};
</script>
<style></style> <style></style>
\ No newline at end of file
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