Commit 4c209a7b authored by 黄奎's avatar 黄奎

页面修改

parents 653e956a 945d4ec9
...@@ -215,7 +215,8 @@ ...@@ -215,7 +215,8 @@
</ul> </ul>
</div> </div>
</div> </div>
<i slot="reference" v-show="item.Status==1" class="iconfont icon-rizhi1" @click="FinanceInfoChangeLog = item.FinanceInfoChangeLog"></i> <i slot="reference" v-show="item.Status==1" class="iconfont icon-rizhi1"
@click="getFinanceInfoChangeLog(item)"></i>
</el-popover> </el-popover>
</el-tooltip> </el-tooltip>
<el-tooltip popper-class="item _process" effect="dark" content="流程" placement="top"> <el-tooltip popper-class="item _process" effect="dark" content="流程" placement="top">
...@@ -294,6 +295,17 @@ export default { ...@@ -294,6 +295,17 @@ export default {
},components: { },components: {
"my-FlowChartModule": myFlowChartModule "my-FlowChartModule": myFlowChartModule
},methods:{ },methods:{
getFinanceInfoChangeLog(item){
this.apipost('FinancialFlowTemplate_post_GetTemplateLogList',{
TempleteId: item.Id
},res=>{
if(res.data.resultCode==1){
this.FinanceInfoChangeLog = res.data.data
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
handleCurrentChange(val) {//翻页功能按钮 handleCurrentChange(val) {//翻页功能按钮
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getTemplateList(); this.getTemplateList();
......
...@@ -941,6 +941,22 @@ export default { ...@@ -941,6 +941,22 @@ export default {
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true
}, },
{
field: "TransportWL",
title: "网络",
width: 50,
titleAlign: "left",
columnAlign: "left",
isResize: true
},
{
field: "TransportPW",
title: "票务",
width: 50,
titleAlign: "left",
columnAlign: "left",
isResize: true
},
{ {
field: "TransportCost", field: "TransportCost",
formatter: this.moneyFormat, formatter: this.moneyFormat,
......
...@@ -911,9 +911,10 @@ export default { ...@@ -911,9 +911,10 @@ export default {
} }
if(rowIndex<15){ if(rowIndex<15){
if(BranchId == 1245){ // if(BranchId == 1245){
that.$router.push({ name: "TeamRevenueReport",query:{"StartTime":startDate,"EndTime":endDate,BranchId:BranchId,OutBranchId:BranchId,StandardCurrencyId,blank:'y',tab:"营收报表"} }) // that.$router.push({ name: "TeamRevenueReport",query:{"StartTime":startDate,"EndTime":endDate,BranchId:BranchId,OutBranchId:BranchId,StandardCurrencyId,blank:'y',tab:"营收报表"} })
}else if(rowData.ZhaiYao=="联运收入"){ // }
if(rowData.ZhaiYao=="联运收入"){
that.goUrl("CombinedRevenueReport",startDate,endDate,BranchId,"联运收入") that.goUrl("CombinedRevenueReport",startDate,endDate,BranchId,"联运收入")
} }
// 跳转到应收团款查询 // 跳转到应收团款查询
......
...@@ -1911,6 +1911,22 @@ export default { ...@@ -1911,6 +1911,22 @@ export default {
columnAlign: "right", columnAlign: "right",
isResize: true isResize: true
}, },
{
field: "TransportWL",
title: "网络",
width: 50,
titleAlign: "left",
columnAlign: "right",
isResize: true
},
{
field: "TransportPW",
title: "票务",
width: 50,
titleAlign: "left",
columnAlign: "right",
isResize: true
},
{ {
field: "TransportCost", field: "TransportCost",
formatter: this.moneyFormat, formatter: this.moneyFormat,
......
...@@ -146,10 +146,10 @@ ...@@ -146,10 +146,10 @@
</tr> </tr>
<tr> <tr>
<td v-if="msg.TCID">团号</td> <td v-if="msg.TCID>0">团号</td>
<td v-if="msg.TCID">{{msg.TCID}}</td> <td v-if="msg.TCID>0">{{msg.TCID}}</td>
<td>订单号</td> <td>订单号</td>
<td :colspan="msg.TCID?0:3">{{msg.OrderId}}</td> <td :colspan="msg.TCID>0?0:3">{{msg.OrderId}}</td>
</tr> </tr>
<tr> <tr>
<td rowspan="6">开具内容</td> <td rowspan="6">开具内容</td>
...@@ -421,7 +421,12 @@ ...@@ -421,7 +421,12 @@
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.$message.success(res.data.message); this.$message.success(res.data.message);
let path = this.msg.InvoiceApplyType == 1 ? 'groupTourOrder' : 'VisaProductEditOrder' let path = ''
if(this.msg.InvoiceApplyType == 1){
path = 'groupTourOrder'
}else if(this.msg.InvoiceApplyType == 4){
path = 'VisaProductEditOrder'
}
setTimeout(() => { setTimeout(() => {
if(!this.crmOrderObj){ if(!this.crmOrderObj){
this.$router.push({ this.$router.push({
...@@ -469,9 +474,17 @@ ...@@ -469,9 +474,17 @@
}, },
getOrderDetail: function () { getOrderDetail: function () {
// 获取订单详情 // 获取订单详情
let OrderResource = 8; //团队订单 let OrderResource = this.msg.InvoiceApplyType;
if (this.msg.InvoiceApplyType != 1) { if (this.msg.InvoiceApplyType == 1) {
OrderResource = 8; //团队订单
}else if(this.msg.InvoiceApplyType==4){
OrderResource = 10; //签证订单 OrderResource = 10; //签证订单
}else if(this.msg.InvoiceApplyType==5){
OrderResource = 4; //车
}else if(this.msg.InvoiceApplyType==6){
OrderResource = 1; //酒店
}else if(this.msg.InvoiceApplyType==7){
OrderResource = 3; //景点
} }
this.apipost( this.apipost(
"InvoiceApply_get_GetOrderFinanceList", { "InvoiceApply_get_GetOrderFinanceList", {
...@@ -536,11 +549,9 @@ ...@@ -536,11 +549,9 @@
this.DepartName = userInfo.DepartName; this.DepartName = userInfo.DepartName;
this.emName = userInfo.emName; this.emName = userInfo.emName;
this.msg.OrderId = this.$route.query.OrderId; this.msg.OrderId = this.$route.query.OrderId;
this.msg.TCID = this.$route.query.TCID; this.msg.TCID = this.$route.query.TCID?this.$route.query.TCID:0;
this.msg.CustomerId = this.$route.query.customerId; this.msg.CustomerId = this.$route.query.customerId;
if (this.$route.query.InvoiceApplyType) { this.msg.InvoiceApplyType = this.$route.query.InvoiceApplyType?this.$route.query.InvoiceApplyType:1;
this.msg.InvoiceApplyType = this.$route.query.InvoiceApplyType;
}
if(this.$route.query.crmOrderObj){ if(this.$route.query.crmOrderObj){
let crmOrderObj = JSON.parse(this.$route.query.crmOrderObj) let crmOrderObj = JSON.parse(this.$route.query.crmOrderObj)
this.crmOrderObj = crmOrderObj this.crmOrderObj = crmOrderObj
......
...@@ -678,6 +678,22 @@ ...@@ -678,6 +678,22 @@
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
<div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
<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.InvoiceApplyList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.InvoiceApplyList&&item.InvoiceApplyList.length == 0" class="c9e fz12">
暂无发票单据
</span>
</div>
</div>
<!--<div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px"> <!--<div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
<div class="fz12">手配费单据</div> <div class="fz12">手配费单据</div>
<div class="row wrap orderNo fz12 py"> <div class="row wrap orderNo fz12 py">
...@@ -738,8 +754,8 @@ ...@@ -738,8 +754,8 @@
</div> </div>
</div> </div>
</div> </div>
<!-- v-if="item.OrderStatus > 3 || item.OrderStatus < 3" -->
<div <div
v-if="item.OrderStatus > 3 || item.OrderStatus < 3"
class="row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s" class="row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
> >
<div <div
...@@ -802,6 +818,8 @@ ...@@ -802,6 +818,8 @@
> >
<span class="c059FF6">编辑总金额</span> <span class="c059FF6">编辑总金额</span>
</div> </div>
<!-- 申请发票 -->
<ApplyFoInvoice v-if="userInfo.EmployeeId==item.EnterID" :obj="item" :type="6"></ApplyFoInvoice>
</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>
...@@ -928,8 +946,9 @@ ...@@ -928,8 +946,9 @@
import more from '../../public/more.vue'; import more from '../../public/more.vue';
import correlationOP from './correlationOP.vue'; import correlationOP from './correlationOP.vue';
import commissionDialog from "../../FinancialModule/TradeCommission/commissionDialog" import commissionDialog from "../../FinancialModule/TradeCommission/commissionDialog"
import ApplyFoInvoice from '../../public/ApplyFoInvoice';
export default { export default {
components: { offset, more, correlationOP,commissionDialog }, components: { offset, more, correlationOP,commissionDialog, ApplyFoInvoice },
props: ["OrderList","pagesTitle"], props: ["OrderList","pagesTitle"],
data() { data() {
return { return {
......
...@@ -104,14 +104,13 @@ ...@@ -104,14 +104,13 @@
} }
if(this.CorrelationObj.TypeNum==1){ if(this.CorrelationObj.TypeNum==1){
url = 'dict_post_SetCustomerOrderOP' url = 'dict_post_SetCustomerOrderOP'
} }else if(this.CorrelationObj.TypeNum===2){
if(this.CorrelationObj.TypeNum===2){
url = 'ticket_post_SetTicketOrderOP' url = 'ticket_post_SetTicketOrderOP'
} }else if(this.CorrelationObj.TypeNum===3){
if(this.CorrelationObj.TypeNum===3){
url = 'CarSingle_post_SetCarOrderOP' url = 'CarSingle_post_SetCarOrderOP'
} }else if(this.CorrelationObj.TypeNum===7){//签证op
if(this.CorrelationObj.TypeNum===4){ url = ''
}else if(this.CorrelationObj.TypeNum===4){
msg = { msg = {
OrderId: this.msg.OrderId, OrderId: this.msg.OrderId,
Money: this.msg.Money Money: this.msg.Money
......
...@@ -23,8 +23,7 @@ ...@@ -23,8 +23,7 @@
<div class="list-operation"> <div class="list-operation">
<div> <div>
<button v-if="x.Date>=OptionalTime" class="hollowFixedBtn" type="primary" <button v-if="x.Date>=OptionalTime" class="hollowFixedBtn" type="primary" @click="setEditorHandler(y)">
@click="setEditorHandler(y)">
<i class="el-icon-edit"></i> <i class="el-icon-edit"></i>
</button> </button>
<button class="normalBtn" type="primary" @click="removeHotelHandler(xi,i)"> <button class="normalBtn" type="primary" @click="removeHotelHandler(xi,i)">
...@@ -79,8 +78,7 @@ ...@@ -79,8 +78,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="类型" prop="OrderType"> <el-form-item label="类型" prop="OrderType">
<el-select v-model="parameters.OrderType"> <el-select v-model="parameters.OrderType">
<el-option v-for="item in cacheHotels" :key="item.ID" :label="item.Name" :value="item.ID"> <el-option v-for="item in cacheHotels" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -91,7 +89,7 @@ ...@@ -91,7 +89,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="电话" prop="ContactNumber"> <el-form-item label="电话" prop="">
<el-input v-model="parameters.ContactNumber"></el-input> <el-input v-model="parameters.ContactNumber"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -103,7 +101,8 @@ ...@@ -103,7 +101,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="备注" prop=""> <el-form-item label="备注" prop="">
<el-input type="textarea" :rows="1" placeholder="请输入备注" v-model="parameters.Remark"></el-input> <el-input type="textarea" :rows="1"
placeholder="请输入备注" v-model="parameters.Remark"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -113,8 +112,7 @@ ...@@ -113,8 +112,7 @@
<span class="coloref1416c fz12">订单总金额:</span> <span class="coloref1416c fz12">订单总金额:</span>
<span class="coloref1416c fbold"> <span class="coloref1416c fbold">
<span class="fz18">{{parameters.Money}}</span> <span class="fz18">{{parameters.Money}}</span>
<span class="fz13"> <span class="fz13"><!-- ¥ -->{{cars[0].CurrencyName}}</span>
<!-- ¥ -->{{cars[0].CurrencyName}}</span>
</span> </span>
</div> </div>
<div> <div>
...@@ -127,8 +125,8 @@ ...@@ -127,8 +125,8 @@
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
// crmOrderObj: { // crmOrderObj: {
...@@ -146,8 +144,8 @@ ...@@ -146,8 +144,8 @@
}, },
data() { data() {
return { return {
crmOrderObj: null, crmOrderObj:null,
OptionalTime: this.getBeforeDate(0, new Date().Format('yyyy-MM-dd')), //可编辑时间 OptionalTime: this.getBeforeDate(0,new Date().Format('yyyy-MM-dd')),//可编辑时间
cars: [], cars: [],
HotelLength: 0, HotelLength: 0,
addNum: 1, addNum: 1,
...@@ -168,16 +166,11 @@ ...@@ -168,16 +166,11 @@
currentS: 0, currentS: 0,
RemainingInventory: 0, RemainingInventory: 0,
loading: false, loading: false,
cacheHotels: [{ cacheHotels: [
Name: '散客', { Name: '散客', ID: 1 },
ID: 1 { Name: '团队', ID: 2 }
},
{
Name: '团队',
ID: 2
}
], ],
rules: { rules:{
OrderType: [{ OrderType: [{
required: true, required: true,
message: '请选择类型', message: '请选择类型',
...@@ -188,12 +181,12 @@ ...@@ -188,12 +181,12 @@
message: '请输入散客姓名', message: '请输入散客姓名',
trigger: 'blur' trigger: 'blur'
}], }],
ContactNumber: [{ ContactNumber: [
required: true, { required: true, message: "请输入联系电话", trigger: "blur" },
message: "请输入联系电话", {
trigger: "blur" pattern: this.$commonUtils.Regex.el_ISphone,
message: "请输入正确的电话"
} }
], ],
TCNum: [{ TCNum: [{
required: true, required: true,
...@@ -218,7 +211,7 @@ ...@@ -218,7 +211,7 @@
cars: { cars: {
handler: function (val, oldVal) { handler: function (val, oldVal) {
this.HotelLength = this.cars.length this.HotelLength = this.cars.length
localStorage.setItem("HotelLength", this.HotelLength) localStorage.setItem("HotelLength",this.HotelLength)
this.getMoney() this.getMoney()
}, },
deep: true deep: true
...@@ -232,10 +225,10 @@ ...@@ -232,10 +225,10 @@
}, },
created() { created() {
// crm自动登陆传过来的参数 // crm自动登陆传过来的参数
if (this.$route.query.crmOrderObj) { if(this.$route.query.crmOrderObj){
let crmOrderObj = JSON.parse(this.$route.query.crmOrderObj) let crmOrderObj = JSON.parse(this.$route.query.crmOrderObj)
this.crmOrderObj = crmOrderObj this.crmOrderObj = crmOrderObj
this.parameters.LureEmpId = crmOrderObj.LureEmpId //引流id this.parameters.LureEmpId = crmOrderObj.LureEmpId//引流id
this.parameters.CRMGuestId = crmOrderObj.CRMGuestId //客人ID this.parameters.CRMGuestId = crmOrderObj.CRMGuestId //客人ID
} }
this.cars = JSON.parse(localStorage.getItem("cars")) this.cars = JSON.parse(localStorage.getItem("cars"))
...@@ -247,7 +240,7 @@ ...@@ -247,7 +240,7 @@
}, },
methods: { methods: {
// 关闭购物车 // 关闭购物车
close() { close(){
localStorage.removeItem('editor') localStorage.removeItem('editor')
this.$emit('close') this.$emit('close')
}, },
...@@ -270,13 +263,13 @@ ...@@ -270,13 +263,13 @@
} }
}); });
}, },
setFormMsg() { setFormMsg(){
let temp = JSON.parse(JSON.stringify(this.cars)) let temp = JSON.parse(JSON.stringify(this.cars))
if (this.loading || this.cars.length == 0) return if(this.loading||this.cars.length==0) return
this.loading = true this.loading = true
this.parameters.DetailList = [] this.parameters.DetailList = []
temp.forEach((x) => { temp.forEach((x)=>{
x.Hotels.forEach((y) => { x.Hotels.forEach((y)=>{
y.RoomList = JSON.parse(JSON.stringify(y.DetailList)) y.RoomList = JSON.parse(JSON.stringify(y.DetailList))
delete y.DetailList delete y.DetailList
this.parameters.DetailList.push(y) this.parameters.DetailList.push(y)
...@@ -291,7 +284,7 @@ ...@@ -291,7 +284,7 @@
localStorage.removeItem('cars') localStorage.removeItem('cars')
localStorage.removeItem('editor') localStorage.removeItem('editor')
localStorage.removeItem('HotelLength') localStorage.removeItem('HotelLength')
this.cars = [] this.cars=[]
this.HotelLength = 0 this.HotelLength = 0
this.$emit('success') this.$emit('success')
} else { } else {
...@@ -304,112 +297,96 @@ ...@@ -304,112 +297,96 @@
} }
); );
}, },
removeHotelHandler(x, y) { removeHotelHandler(x,y){
let that = this let that = this
that.$confirm('是否确定删除?', '提示', { that.$confirm('是否确定删除?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
if (this.cars[x].Hotels.length == 1) { if(this.cars[x].Hotels.length==1){
this.cars.splice(x, 1) this.cars.splice(x,1)
} else { }else{
this.cars[x].Hotels.splice(y, 1) this.cars[x].Hotels.splice(y,1)
} }
this.HotelLength = this.cars.length this.HotelLength = this.cars.length
localStorage.removeItem('cars') localStorage.removeItem('cars')
localStorage.setItem('cars', JSON.stringify(this.cars)) localStorage.setItem('cars',JSON.stringify(this.cars))
localStorage.removeItem('HotelLength') localStorage.removeItem('HotelLength')
localStorage.setItem('HotelLength', JSON.stringify(this.HotelLength)) localStorage.setItem('HotelLength',JSON.stringify(this.HotelLength))
}).catch(() => { }).catch(() => {
}); });
}, },
// 编辑 // 编辑
setEditorHandler(x) { setEditorHandler(x){
localStorage.setItem('editor', JSON.stringify(x)) localStorage.setItem('editor',JSON.stringify(x))
this.$emit('editor', x) this.$emit('editor',x)
} }
} }
}; };
</script> </script>
<style scoped> <style scoped>
.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;
} }
.fz18{
.fz18 {
font-size: 18px; font-size: 18px;
} }
.fbold{
.fbold {
font-weight: bold; font-weight: bold;
} }
.paddinglr15{
.paddinglr15 {
padding: 0 15px; padding: 0 15px;
} }
.row-JCSB{
.row-JCSB {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.row-JCE{
.row-JCE {
display: flex; display: flex;
justify-content: end; justify-content: end;
} }
.colorffffff{
.colorffffff {
color: #ffffff; color: #ffffff;
} }
.color009ef7{
.color009ef7 {
color: #009ef7; color: #009ef7;
} }
.colore65100{
.colore65100 {
color: #e65100; color: #e65100;
} }
.coloref44336{
.coloref44336 {
color: #f44336; color: #f44336;
} }
.coloref1416c{
.coloref1416c {
color: #f1416c; color: #f1416c;
} }
.ListCar-form{
.ListCar-form {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
background: rgba(23, 23, 23, .5); background: rgba(23,23,23,.5);
z-index: 3; z-index: 3;
} }
.ListCar-form-box{
.ListCar-form-box {
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
...@@ -418,135 +395,112 @@ ...@@ -418,135 +395,112 @@
background: #ffffff; background: #ffffff;
z-index: 100; z-index: 100;
} }
.ListCar-box{
.ListCar-box {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
} }
.ListCar-close{
.ListCar-close {
position: absolute; position: absolute;
left: -47px; left: -47px;
top: 20%; top: 20%;
line-height: 26px; line-height: 26px;
} }
.ListCar-close i{
.ListCar-close i {
margin-left: 3px; margin-left: 3px;
} }
.normalBtn.ListCar-close{
.normalBtn.ListCar-close {
border-top-right-radius: 0; border-top-right-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
padding: 0 8px !important; padding: 0 8px !important;
} }
.ListCar-box{
.ListCar-box {
padding: 15px 0; padding: 15px 0;
} }
.ListCar-header{
.ListCar-header {
border-bottom: -; border-bottom: -;
} }
.ListCar-header-right{
.ListCar-header-right {
border-radius: 3px; border-radius: 3px;
padding: 5px 8px; padding: 5px 8px;
background: #fff3e0; background: #fff3e0;
} }
.ListCar-content{
.ListCar-content {
padding: 20px 15px; padding: 20px 15px;
height: calc(100% - 230px); height: calc(100% - 230px);
overflow: auto; overflow: auto;
} }
.ListCar-list{
.ListCar-list {
border-radius: 3px; border-radius: 3px;
background: black; background: black;
padding: 0 10px 10px 10px; padding: 0 10px 10px 10px;
margin: 0 0 10px 0; margin: 0 0 10px 0;
} }
.list-time{
.list-time {
padding: 10px 0 5px 0; padding: 10px 0 5px 0;
} }
.list-content-box{
.list-content-box {
background: #e1f5fe; background: #e1f5fe;
position: relative; position: relative;
border-radius: 3px; border-radius: 3px;
cursor: pointer; cursor: pointer;
margin-bottom: 5px; margin-bottom: 5px;
} }
.list-content-box:last-child{
.list-content-box:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.list-content{
.list-content {
padding: 8px 10px; padding: 8px 10px;
} }
.list-content-title{
.list-content-title {
border-bottom: 1px dashed #009ef7; border-bottom: 1px dashed #009ef7;
padding: 0 0 8px 0; padding: 0 0 8px 0;
} }
.content-title{
.content-title {
width: 300px; width: 300px;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.list-content-rooms{
.list-content-rooms {
border-bottom: 1px dashed #009ef7; border-bottom: 1px dashed #009ef7;
padding: 6px 0; padding: 6px 0;
} }
.list-content-rooms>div{
.list-content-rooms>div {
margin-bottom: 5px; margin-bottom: 5px;
} }
.list-content-rooms>div:last-child{
.list-content-rooms>div:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.list-content-num{
.list-content-num {
padding: 6px 0 0 0; padding: 6px 0 0 0;
} }
.list-operation{
.list-operation {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
bottom: 0; bottom: 0;
right: 0; right: 0;
background: rgba(23, 23, 23, .5); background: rgba(23,23,23,.5);
border-radius: 3px; border-radius: 3px;
display: none; display: none;
z-index: 1; z-index: 1;
} }
.list-operation div{
.list-operation div {
height: 100%; height: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.list-content-box:hover .list-operation{
.list-content-box:hover .list-operation {
display: block; display: block;
} }
.ListCar-bottom{
.ListCar-bottom {
padding: 15px 15px 0 15px; padding: 15px 15px 0 15px;
} }
.bottom-num{
.bottom-num {
align-items: center; align-items: center;
} }
</style>
</style>
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
.checklist_ul li{ .checklist_ul li{
display: inline-block; display: inline-block;
margin:10px 0; margin:10px 0;
width: 85px; width: 115px;
cursor: pointer; cursor: pointer;
} }
.tickets_red { .tickets_red {
...@@ -541,6 +541,9 @@ ...@@ -541,6 +541,9 @@
<span v-if="item.VisaStatus===1" class="tickets_red" ><span v-if="item.Status==0" >{{item.guestName}}</span><span v-else style="text-decoration:line-through;">{{item.guestName}}</span></span> <span v-if="item.VisaStatus===1" class="tickets_red" ><span v-if="item.Status==0" >{{item.guestName}}</span><span v-else style="text-decoration:line-through;">{{item.guestName}}</span></span>
<span v-if="item.VisaStatus===2" class="tickets_blue" ><span v-if="item.Status==0" >{{item.guestName}}</span><span v-else style="text-decoration:line-through;">{{item.guestName}}</span></span> <span v-if="item.VisaStatus===2" class="tickets_blue" ><span v-if="item.Status==0" >{{item.guestName}}</span><span v-else style="text-decoration:line-through;">{{item.guestName}}</span></span>
<span v-if="item.VisaStatus===3" class="tickets_black" ><span v-if="item.Status==0" >{{item.guestName}}</span><span v-else style="text-decoration:line-through;">{{item.guestName}}</span></span> <span v-if="item.VisaStatus===3" class="tickets_black" ><span v-if="item.Status==0" >{{item.guestName}}</span><span v-else style="text-decoration:line-through;">{{item.guestName}}</span></span>
<template v-if="item.CostRelationList.length+item.InsureRelationList.length+item.ServiceRelationList.length>0">
({{item.CostRelationList.length+item.InsureRelationList.length+item.ServiceRelationList.length}})
</template>
</label> </label>
</li> </li>
...@@ -633,6 +636,7 @@ export default { ...@@ -633,6 +636,7 @@ export default {
checkListAll:[], checkListAll:[],
checkd:false, checkd:false,
type2: null, type2: null,
isSignMonth: [44,64,164,255,267],//签证、月结相关流程
} }
}, },
methods: { methods: {
...@@ -769,7 +773,8 @@ export default { ...@@ -769,7 +773,8 @@ export default {
"companyID": this.OutBranchId, "companyID": this.OutBranchId,
"path": "", "path": "",
'blank': 'y', 'blank': 'y',
'orderObj': JSON.stringify(orderObj) 'orderObj': JSON.stringify(orderObj),
'templateID': JSON.stringify(this.isSignMonth),
} }
}); });
return return
...@@ -871,7 +876,8 @@ export default { ...@@ -871,7 +876,8 @@ export default {
"companyID": this.OutBranchId, "companyID": this.OutBranchId,
"path": "", "path": "",
'blank': 'y', 'blank': 'y',
'orderObj': JSON.stringify(orderObj) 'orderObj': JSON.stringify(orderObj),
'templateID': JSON.stringify(this.isSignMonth),
} }
}); });
}else if(this.Offset=='Offset'){ }else if(this.Offset=='Offset'){
...@@ -883,6 +889,7 @@ export default { ...@@ -883,6 +889,7 @@ export default {
blank: 'y', blank: 'y',
orderObj: JSON.stringify(orderObj), orderObj: JSON.stringify(orderObj),
Type: this.type, Type: this.type,
templateID: JSON.stringify(this.isSignMonth),
} }
this.queryObj = query this.queryObj = query
this.cdState = true this.cdState = true
...@@ -902,7 +909,8 @@ export default { ...@@ -902,7 +909,8 @@ export default {
"companyID": this.OutBranchId, "companyID": this.OutBranchId,
"path": "", "path": "",
'blank': 'y', 'blank': 'y',
'orderObj': JSON.stringify(orderObj) 'orderObj': JSON.stringify(orderObj),
'templateID': JSON.stringify(this.isSignMonth),
} }
}); });
} }
......
...@@ -426,9 +426,9 @@ ...@@ -426,9 +426,9 @@
<el-input v-model="addMsg.VisaB2CPrice" @keyup.native="checkPrice(addMsg,'VisaB2CPrice')" placeholder="请输入" maxlength="20"></el-input> <el-input v-model="addMsg.VisaB2CPrice" @keyup.native="checkPrice(addMsg,'VisaB2CPrice')" placeholder="请输入" maxlength="20"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="提成金额" prop="CommissionPrice"> <!-- <el-form-item label="提成金额" prop="CommissionPrice">
<el-input v-model="addMsg.CommissionPrice" placeholder="请输入" @keyup.native="checkPrice(addMsg,'CommissionPrice')"></el-input> <el-input v-model="addMsg.CommissionPrice" placeholder="请输入" @keyup.native="checkPrice(addMsg,'CommissionPrice')"></el-input>
</el-form-item> </el-form-item> -->
<el-form-item label="交通过路费" prop="TrafficToll"> <el-form-item label="交通过路费" prop="TrafficToll">
<el-input v-model="addMsg.TrafficToll" placeholder="请输入" @keyup.native="checkPrice(addMsg,'TrafficToll')"></el-input> <el-input v-model="addMsg.TrafficToll" placeholder="请输入" @keyup.native="checkPrice(addMsg,'TrafficToll')"></el-input>
</el-form-item> </el-form-item>
...@@ -787,7 +787,7 @@ export default { ...@@ -787,7 +787,7 @@ export default {
PeopleNum: "0", PeopleNum: "0",
CostPrice: "", CostPrice: "",
EntryType:1, EntryType:1,
CommissionPrice: "", CommissionPrice: "0",
VisaManagementId: "", VisaManagementId: "",
VisaB2CPrice: "", VisaB2CPrice: "",
TrafficToll:"0", TrafficToll:"0",
...@@ -986,7 +986,7 @@ getCompanyList() { ...@@ -986,7 +986,7 @@ getCompanyList() {
VisaPrice: "", VisaPrice: "",
PeopleNum: 0, PeopleNum: 0,
CostPrice: "", CostPrice: "",
CommissionPrice: "", CommissionPrice: "0",
VisaManagementId: "", VisaManagementId: "",
VisaB2CPrice: "", VisaB2CPrice: "",
VisaProductInfo: {}, VisaProductInfo: {},
......
...@@ -358,6 +358,19 @@ ...@@ -358,6 +358,19 @@
</el-select> </el-select>
</span> </span>
</li> </li>
<li>
<span>
<em>OP</em>
<el-select filterable v-model='msg.OpEmpId'>
<el-option :value="0" label="不限"></el-option>
<el-option v-for='item in EmployeeList'
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</span>
</li>
<li v-if="pagesTitle!='销售'"> <li v-if="pagesTitle!='销售'">
<span> <span>
<em>公司</em> <em>公司</em>
...@@ -529,6 +542,7 @@ ...@@ -529,6 +542,7 @@
RB_Branch_Id: -1, RB_Branch_Id: -1,
OrderId: 0, OrderId: 0,
IsFinish: '0', IsFinish: '0',
OpEmpId: 0,
}, },
addMsg: { addMsg: {
Id: 0, Id: 0,
......
...@@ -582,6 +582,7 @@ ...@@ -582,6 +582,7 @@
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="OP" prop="opEmName" min-width="100" style="background:#EAEAEA"></el-table-column>
<el-table-column label="出发日期" min-width="100" style="background:#EAEAEA"> <el-table-column label="出发日期" min-width="100" style="background:#EAEAEA">
<template slot-scope="scope"> <template slot-scope="scope">
<template> <template>
...@@ -767,6 +768,13 @@ ...@@ -767,6 +768,13 @@
v-if="scope.row.VisaPlanIdStr!=''&&pagesTitle!='销售'"> v-if="scope.row.VisaPlanIdStr!=''&&pagesTitle!='销售'">
<span class="c059FF6">签证详情</span> <span class="c059FF6">签证详情</span>
</div> </div>
<!-- <div
v-if="pagesTitle=='OP'"
class="row-c cursor-pointer radius5 change py5"
@click="clickCorrelation(item, 1)"
>
<span class="c059FF6">编辑关联OP</span>
</div> -->
<div class="row-c cursor-pointer radius5 change py5" @click="getDetail(scope.row,false)" <div class="row-c cursor-pointer radius5 change py5" @click="getDetail(scope.row,false)"
v-if="scope.row.income<=0&&(scope.row.visaOrderStatus==1||scope.row.visaOrderStatus==3)&&scope.row.visaStatus==1&&pagesTitle=='销售'"> v-if="scope.row.income<=0&&(scope.row.visaOrderStatus==1||scope.row.visaOrderStatus==3)&&scope.row.visaStatus==1&&pagesTitle=='销售'">
<span class="c059FF6">{{$t('system.table_edit')}}订单</span> <span class="c059FF6">{{$t('system.table_edit')}}订单</span>
...@@ -1056,6 +1064,10 @@ export default { ...@@ -1056,6 +1064,10 @@ export default {
} }
}, },
methods: { methods: {
clickCorrelation(item,){
this.CorrelationObj = JSON.parse(JSON.stringify(item));
this.CorrelationObj.TypeNum = 7;
},
DetailsOfRoyalty(){ DetailsOfRoyalty(){
}, },
......
<style scoped> <style scoped>
.image-slot { .image-slot{
height: 100%; height: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.time-box.time-box2 .time-box-width span{
.time-box.time-box2 .time-box-width span {
width: auto; width: auto;
} }
.flexOne{
.flexOne {
margin: auto; margin: auto;
width: 70%; width: 70%;
min-width: 1300px; min-width: 1300px;
...@@ -19,26 +17,22 @@ ...@@ -19,26 +17,22 @@
margin-top: 15px; margin-top: 15px;
align-items: flex-start; align-items: flex-start;
} }
.flexOne-left{
.flexOne-left {
flex-grow: 1; flex-grow: 1;
} }
.flexOne-form-bj{
.flexOne-form-bj {
border-radius: 5px; border-radius: 5px;
background: #ffffff; background: #ffffff;
padding: 15px; padding: 15px;
margin-bottom: 20px; margin-bottom: 20px;
} }
.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;
} }
.listone-form{
.listone-form {
padding: 5px 0 15px 0; padding: 5px 0 15px 0;
border-radius: 5px; border-radius: 5px;
background: #ffffff; background: #ffffff;
...@@ -49,165 +43,135 @@ ...@@ -49,165 +43,135 @@
overflow: hidden; overflow: hidden;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
} }
.listone-img{
.listone-img {
width: 130px; width: 130px;
flex-shrink: 0; flex-shrink: 0;
margin-right: 15px; margin-right: 15px;
border-radius: 5px; border-radius: 5px;
display: block; display: block;
} }
.listone-list{
.listone-list {
flex-grow: 1; flex-grow: 1;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.list-left h6,.card-centent h6{
.list-left h6,
.card-centent h6 {
font-size: 16px; font-size: 16px;
margin-bottom: 5px; margin-bottom: 5px;
cursor: pointer; cursor: pointer;
} }
.list-left div{
.list-left div {
color: #7E8299; color: #7E8299;
font-size: 13px; font-size: 13px;
margin-top: 7px; margin-top: 7px;
} }
.list-left div a{
.list-left div a {
color: #009EF7; color: #009EF7;
font-size: 12px; font-size: 12px;
margin-left: 15px; margin-left: 15px;
cursor: pointer; cursor: pointer;
} }
.flexOne-time{
.flexOne-time {
padding: 20px; padding: 20px;
} }
.time-box{
.time-box {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
margin-bottom: 15px; margin-bottom: 15px;
border: 0; border: 0;
} }
.time-box.center{
.time-box.center {
align-items: center; align-items: center;
} }
.time-box>span{
.time-box>span {
/* width: 100px; */ /* width: 100px; */
flex-shrink: 0; flex-shrink: 0;
font-size: 13px; font-size: 13px;
color: #181C32; color: #181C32;
margin-right: 40px; margin-right: 40px;
} }
.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,
.list-centent {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-top: 20px; margin-top: 20px;
} }
.infor-list li{
.infor-list li {
position: relative; position: relative;
width: 25%; width: 25%;
} }
.list-centent li { .list-centent li {
display: flex; display: flex;
width: 33.33%; width: 33.33%;
} }
.list-centent.active li { .list-centent.active li {
width: 25%; width: 25%;
} }
.list-centent.activeB li { .list-centent.activeB li {
width: 20%; width: 20%;
} }
.list-centent.activeC li { .list-centent.activeC li {
width: 50%; width: 50%;
} }
.bottom .el-form-item{
.bottom .el-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
.notice{
.notice {
border-radius: 5px; border-radius: 5px;
border: 1px dashed #FFA500; border: 1px dashed #FFA500;
background: #FFF3E0; background: #FFF3E0;
margin-bottom: 15px; margin-bottom: 15px;
padding: 15px; padding: 15px;
} }
.notice b{
.notice b {
font-size: 13px; font-size: 13px;
} }
.notice p{
.notice p {
color: #5E6278; color: #5E6278;
font-size: 12px; font-size: 12px;
padding: 10px 0 0 0; padding: 10px 0 0 0;
} }
.flexOne-right { .flexOne-right{
width: 300px; width: 300px;
flex-shrink: 0; flex-shrink: 0;
margin-left: 20px; margin-left: 20px;
...@@ -215,13 +179,11 @@ ...@@ -215,13 +179,11 @@
background: #ffffff; background: #ffffff;
padding: 15px; padding: 15px;
} }
.flexOne-right h4{
.flexOne-right h4 {
padding: 10px 0 20px 0; padding: 10px 0 20px 0;
color: #181C32; color: #181C32;
} }
.right-text{
.right-text {
border: 1px dashed #F1416C; border: 1px dashed #F1416C;
padding: 15px 10px; padding: 15px 10px;
background: #FFEBEE; background: #FFEBEE;
...@@ -230,111 +192,93 @@ ...@@ -230,111 +192,93 @@
margin-bottom: 20px; margin-bottom: 20px;
border-radius: 5px; border-radius: 5px;
} }
.right-text p{
.right-text p {
color: #6D6E83; color: #6D6E83;
font-size: 12px; font-size: 12px;
padding: 10px 0 0 0; padding: 10px 0 0 0;
} }
.right-form{
.right-form {
border-top: 1px dashed #EEEEEE; border-top: 1px dashed #EEEEEE;
border-bottom: 1px dashed #EEEEEE; border-bottom: 1px dashed #EEEEEE;
padding: 20px 0; padding: 20px 0;
} }
.right-form h6{
.right-form h6 {
font-size: 14px; font-size: 14px;
color: black; color: black;
} }
.noData{
.noData {
text-align: center; text-align: center;
color: #7E8299; color: #7E8299;
font-size: 14px; font-size: 14px;
} }
.right-form-list{
.right-form-list {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 20px 0; padding: 20px 0;
} }
.right-list{
.right-list {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-bottom: 6px; margin-bottom: 6px;
} }
.right-list-left{
.right-list-left {
flex: 1; flex: 1;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.leftText{
.leftText {
width: 150px; width: 150px;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
} }
.right-list-right{
.right-list-right {
flex-shrink: 0; flex-shrink: 0;
font-size: 13px; font-size: 13px;
color: #181C32; color: #181C32;
} }
.right-Money{
.right-Money {
padding: 20px 0; padding: 20px 0;
font-size: 14px; font-size: 14px;
color: #181C32; color: #181C32;
} }
.right-Money b{
.right-Money b {
font-size: 18px; font-size: 18px;
color: #F1416C; color: #F1416C;
margin-left: 5px; margin-left: 5px;
} }
.right-Money,.right-Submit{
.right-Money,
.right-Submit {
display: flex; display: flex;
flex-direction: row-reverse; flex-direction: row-reverse;
} }
/deep/.el-input-number{
/deep/.el-input-number {
width: 200px; width: 200px;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
} }
/deep/.el-input-number .el-input__inner{
/deep/.el-input-number .el-input__inner {
text-align: center; text-align: center;
height: 34px; height: 34px;
} }
/deep/.line-heigh .el-input-number{
/deep/.line-heigh .el-input-number {
line-height: 32px; line-height: 32px;
} }
/deep/.el-date-editor.el-input, .el-date-editor.el-input__inner{
/deep/.el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto; width: auto;
} }
</style> </style>
<template> <template>
<div class="flexOne"> <div class="flexOne">
<div class="flexOne-left"> <div class="flexOne-left">
<div class="flexOne-form-bj"> <div class="flexOne-form-bj">
<h3> <h3>
<template v-if="detailsObj.CarType==1">接机</template><template <template v-if="detailsObj.CarType==1">接机</template><template v-if="detailsObj.CarType==2">送机</template><template v-if="detailsObj.CarType==3">包车</template>信息
v-if="detailsObj.CarType==2">送机</template><template v-if="detailsObj.CarType==3">包车</template>信息
</h3> </h3>
<div class="listone-form"> <div class="listone-form">
<el-image v-if="detailsObj.ImageList" class="listone-img" :src="detailsObj.ImageList[0]" fit="contain"> <el-image v-if="detailsObj.ImageList" class="listone-img" :src="detailsObj.ImageList[0]" fit="cover"
style="max-height: 50px;">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
<span> <span>
加载中<span class="dot">...</span> 加载中<span class="dot">...</span>
...@@ -363,8 +307,8 @@ ...@@ -363,8 +307,8 @@
<div class="time-box center"> <div class="time-box center">
<span>包车日期:</span> <span>包车日期:</span>
<div> <div>
<el-date-picker class="w150" v-model='SetOutTime' format="yyyy-MM-dd" value-format="yyyy-MM-dd" <el-date-picker class="w150" v-model='SetOutTime' format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="date"
type="date" :picker-options="beforeCheck" laceholder="包车日期" @change="getQuotation"> :picker-options="beforeCheck" laceholder="包车日期" @change="getQuotation">
</el-date-picker> </el-date-picker>
</div> </div>
</div> </div>
...@@ -434,8 +378,8 @@ ...@@ -434,8 +378,8 @@
<b>訂單類型:</b> <b>訂單類型:</b>
<div> <div>
<el-radio v-if="msg.OrderType==1" v-model="msg.OrderType" label="1">接机</el-radio> <el-radio v-if="msg.OrderType==1" v-model="msg.OrderType" label="1">接机</el-radio>
<el-radio v-if="msg.OrderType==2" v-model="msg.OrderType" label="2">送机</el-radio> <el-radio v-if="msg.OrderType==2" v-model="msg.OrderType" label="2" >送机</el-radio>
<el-radio v-if="msg.OrderType==3" v-model="msg.OrderType" label="3">包车</el-radio> <el-radio v-if="msg.OrderType==3" v-model="msg.OrderType" label="3" >包车</el-radio>
</div> </div>
</div> </div>
<div class="flexOne-description"> <div class="flexOne-description">
...@@ -449,24 +393,26 @@ ...@@ -449,24 +393,26 @@
<div class="list-centent active"> <div class="list-centent active">
<li> <li>
<el-form-item label="航厦" prop="AirportTerminal"> <el-form-item label="航厦" prop="AirportTerminal">
<el-input v-model="msg.AirportTerminal" placeholder="输入航厦" /> <el-input v-model="msg.AirportTerminal" placeholder="输入航厦"/>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
<el-form-item label="航空公司" prop="AirLine"> <el-form-item label="航空公司" prop="AirLine">
<el-input v-model="msg.AirLine" placeholder="输入航空公司" /> <el-input v-model="msg.AirLine" placeholder="输入航空公司"/>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
<el-form-item label="航班号" prop="FlightNumber"> <el-form-item label="航班号" prop="FlightNumber">
<el-input v-model="msg.FlightNumber" placeholder="输入航班号" /> <el-input v-model="msg.FlightNumber" placeholder="输入航班号"/>
</el-form-item> </el-form-item>
</li> </li>
<li class="bottom"> <li class="bottom">
<el-form-item :label="msg.OrderType==1?'抵达时间':'出发时间'" prop="FlightTime"> <el-form-item :label="msg.OrderType==1?'抵达时间':'出发时间'" prop="FlightTime">
<el-date-picker v-model="msg.FlightTime" type="datetime" format="yyyy-MM-dd HH:mm" <el-date-picker
value-format="yyyy-MM-dd HH:mm" :placeholder="msg.OrderType==1?'选择抵达时间':'选择送机时间'" v-model="msg.FlightTime"
:picker-options="beforeCheck"> type="datetime"
format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
:placeholder="msg.OrderType==1?'选择抵达时间':'选择送机时间'" :picker-options="beforeCheck">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</li> </li>
...@@ -474,8 +420,7 @@ ...@@ -474,8 +420,7 @@
</div> </div>
</div> </div>
<div class="flexOne-infor-box"> <div class="flexOne-infor-box">
<b><template v-if="msg.OrderType==1">接机</template><template v-if="msg.OrderType==2">送机</template><template <b><template v-if="msg.OrderType==1">接机</template><template v-if="msg.OrderType==2">送机</template><template v-if="msg.OrderType==3">包机</template>信息</b>
v-if="msg.OrderType==3">包机</template>信息</b>
<div class="infor-list"> <div class="infor-list">
<div class="list-centent active"> <div class="list-centent active">
<li v-if="msg.OrderType!=1"> <li v-if="msg.OrderType!=1">
...@@ -489,7 +434,7 @@ ...@@ -489,7 +434,7 @@
</el-form-item> </el-form-item>
</li> </li>
<li v-if="msg.OrderType!=2"> <li v-if="msg.OrderType!=2">
<el-form-item label="下车地点" prop="GetoffAddress"> <el-form-item label="下车地点" prop="GetoffAddress" >
<el-input type="textarea" :autosize="{ minRows: 1, maxRows: 4}" v-model="msg.GetoffAddress" <el-input type="textarea" :autosize="{ minRows: 1, maxRows: 4}" v-model="msg.GetoffAddress"
placeholder="请输入下车地点"> placeholder="请输入下车地点">
</el-input> </el-input>
...@@ -499,9 +444,11 @@ ...@@ -499,9 +444,11 @@
</li> </li>
<li class="bottom"> <li class="bottom">
<el-form-item label="预定时间" prop="OrderDate"> <el-form-item label="预定时间" prop="OrderDate">
<el-date-picker v-model="msg.OrderDate" type="datetime" format="yyyy-MM-dd HH:mm" <el-date-picker
value-format="yyyy-MM-dd HH:mm" placeholder="选择预定时间" :picker-options="beforeCheck" v-model="msg.OrderDate"
@change="getTime"> type="datetime"
format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
placeholder="选择预定时间" :picker-options="beforeCheck" @change="getTime">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</li> </li>
...@@ -515,28 +462,28 @@ ...@@ -515,28 +462,28 @@
<div class="list-centent active"> <div class="list-centent active">
<li> <li>
<el-form-item label="成人数" prop="ManNum"> <el-form-item label="成人数" prop="ManNum">
<el-input type="Number" v-model="msg.ManNum" placeholder="输入成人数" /> <el-input type="Number" v-model="msg.ManNum" placeholder="输入成人数"/>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
<el-form-item label="儿童数" prop=""> <el-form-item label="儿童数" prop="">
<el-input type="Number" v-model="msg.ChildNum" placeholder="输入儿童数" /> <el-input type="Number" v-model="msg.ChildNum" placeholder="输入儿童数"/>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
<el-form-item label="婴儿数" prop=""> <el-form-item label="婴儿数" prop="">
<el-input type="Number" v-model="msg.BabyNum" placeholder="输入婴儿数" /> <el-input type="Number" v-model="msg.BabyNum" placeholder="输入婴儿数"/>
</el-form-item> </el-form-item>
</li> </li>
<template v-if="msg.OrderType!=3"> <template v-if="msg.OrderType!=3">
<li> <li>
<el-form-item label="手提行李" prop=""> <el-form-item label="手提行李" prop="">
<el-input type="Number" v-model="msg.HandLuggageNum" placeholder="手提行李数" /> <el-input type="Number" v-model="msg.HandLuggageNum" placeholder="手提行李数"/>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
<el-form-item label="托运行李" prop=""> <el-form-item label="托运行李" prop="">
<el-input type="Number" v-model="msg.RegisteredLuggageNum" placeholder="托运行李数" /> <el-input type="Number" v-model="msg.RegisteredLuggageNum" placeholder="托运行李数"/>
</el-form-item> </el-form-item>
</li> </li>
</template> </template>
...@@ -549,30 +496,30 @@ ...@@ -549,30 +496,30 @@
<div class="list-centent active"> <div class="list-centent active">
<li> <li>
<el-form-item label="姓" prop="SurName"> <el-form-item label="姓" prop="SurName">
<el-input v-model="msg.SurName" placeholder="请输入姓" /> <el-input v-model="msg.SurName" placeholder="请输入姓"/>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
<el-form-item label="名" prop="Name"> <el-form-item label="名" prop="Name">
<el-input v-model="msg.Name" placeholder="请输入名" /> <el-input v-model="msg.Name" placeholder="请输入名"/>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
<el-form-item label="电话" prop="Mobile"> <el-form-item label="电话" prop="">
<el-input type="Number" v-model="msg.Mobile" placeholder="请输入电话" /> <el-input type="Number" v-model="msg.Mobile" placeholder="请输入电话"/>
</el-form-item> </el-form-item>
</li> </li>
<li class="bottom"> <li class="bottom">
<el-form-item label="性别" prop="Sex"> <el-form-item label="性别" prop="Sex">
<el-radio v-model="msg.Sex" label="1"></el-radio> <el-radio v-model="msg.Sex" label="1"></el-radio>
<el-radio v-model="msg.Sex" label="2"></el-radio> <el-radio v-model="msg.Sex" label="2" ></el-radio>
</el-form-item> </el-form-item>
</li> </li>
</div> </div>
</div> </div>
<div style="margin-top: 20px;"> <div style="margin-top: 20px;">
<el-input style="width: 100%;" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" v-model="msg.Remark" <el-input style="width: 100%;" type="textarea" :autosize="{ minRows: 2, maxRows: 4}"
placeholder="订单备注" /> v-model="msg.Remark" placeholder="订单备注"/>
</div> </div>
</div> </div>
</el-form> </el-form>
...@@ -618,15 +565,17 @@ ...@@ -618,15 +565,17 @@
<!-- <el-button v-if="!isCheck" class="hollowFixedBtn" type="primary"> <!-- <el-button v-if="!isCheck" class="hollowFixedBtn" type="primary">
提交订单 提交订单
</el-button> --> </el-button> -->
<el-button :disabled="!isCheck" :loading="loading" class="normalBtn" type="primary" @click="submit"> <el-button :disabled="!isCheck"
:loading="loading"
class="normalBtn" type="primary" @click="submit">
提交订单 提交订单
</el-button> </el-button>
</div> </div>
</div> </div>
<!-- 选择地址 --> <!-- 选择地址 -->
<el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress"> <el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress">
<Map @refList="selectAddress = false" v-on:headCallBack="headCall" v-bind:Address="Address" :type="MapType" <Map @refList="selectAddress = false" v-on:headCallBack="headCall" v-bind:Address="Address"
:index="index" :GetOff="MapType==1?GetOnTheBusObj:GetOffTheBusIdObj"></Map> :type="MapType" :index="index" :GetOff="MapType==1?GetOnTheBusObj:GetOffTheBusIdObj"></Map>
</el-dialog> </el-dialog>
<!-- 包车产品详情信息 --> <!-- 包车产品详情信息 -->
<el-dialog custom-class="w1000" title="包车产品详情" :visible.sync="showDetails" center @close="showDetails=false"> <el-dialog custom-class="w1000" title="包车产品详情" :visible.sync="showDetails" center @close="showDetails=false">
...@@ -634,15 +583,12 @@ ...@@ -634,15 +583,12 @@
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import Map from "../../public/Map.vue"; import Map from "../../public/Map.vue";
import Details from './components/Details.vue' import Details from './components/Details.vue'
export default { export default {
components: { components: { Details,Map },
Details,
Map
},
data() { data() {
return { return {
index: 1, index: 1,
...@@ -651,39 +597,39 @@ ...@@ -651,39 +597,39 @@
MapType: 1, MapType: 1,
GetOnTheBusObj: '', GetOnTheBusObj: '',
GetOffTheBusIdObj: '', GetOffTheBusIdObj: '',
PlaceTypes2: [], PlaceTypes2:[],
PlaceTypes: [], PlaceTypes:[],
AirportTypes: [], AirportTypes:[],
isCheck: true, isCheck:true,
showDetails: false, showDetails: false,
loading: false, loading: false,
msg: { msg: {
OrderId: 0, OrderId: 0,
OrderType: 0, OrderType: 0,
OrderDate: '', //预定日期 OrderDate:'',//预定日期
Unit_Price: '', //单价 Unit_Price: '',//单价
Num: '', //数量 Num: '',//数量
Money: 0.0, Money: 0.0,
Sex: '1', //1男2女 Sex: '1',//1男2女
SurName: '', //姓 SurName: '',//姓
Name: '', //名 Name: '',//名
Remark: '', Remark: '',
AirportId: '', AirportId: '',
AirportTerminal: '', //航厦 AirportTerminal: '',//航厦
AirLine: '', //航空公司名称 AirLine: '',//航空公司名称
FlightNumber: '', //航班号 FlightNumber: '',//航班号
FlightTime: '', //航班时间 FlightTime: '',//航班时间
GetonAddress: '', //上车点 GetonAddress: '',//上车点
GetoffAddress: '', //下车点 GetoffAddress: '',//下车点
ManNum: null, //成人数 ManNum: null,//成人数
ChildNum: null, //儿童数 ChildNum: null,//儿童数
BabyNum: null, //婴儿数 BabyNum: null,//婴儿数
HandLuggageNum: null, //手提行李数量 HandLuggageNum: null,//手提行李数量
RegisteredLuggageNum: null, //托运行李数量 RegisteredLuggageNum: null,//托运行李数量
ContactWay: '', //联络方式 WeChat ContactWay: '',//联络方式 WeChat
Mobile: '', //电话 Mobile:'',//电话
ProductId: '', ProductId: '',
CarId: '', //产品类型ID CarId: '',//产品类型ID
LureEmpId: 0, LureEmpId: 0,
CRMGuestId: 0, CRMGuestId: 0,
}, },
...@@ -693,11 +639,11 @@ ...@@ -693,11 +639,11 @@
detailsObj: {}, detailsObj: {},
beforeCheck: { beforeCheck: {
disabledDate: time => { disabledDate: time => {
let endTime = new Date(this.getBeforeDate(1, new Date().Format("yyyy-MM-dd"))); let endTime = new Date(this.getBeforeDate(1,new Date().Format("yyyy-MM-dd")));
return time && endTime.getTime() >= time.getTime(); return time && endTime.getTime() >= time.getTime();
} }
}, },
rules: { rules:{
AirportTerminal: [{ AirportTerminal: [{
required: true, required: true,
message: '请输入航厦', message: '请输入航厦',
...@@ -733,7 +679,7 @@ ...@@ -733,7 +679,7 @@
message: '请选择预定时间', message: '请选择预定时间',
trigger: 'blur' trigger: 'blur'
}], }],
ManNum: [{ ManNum:[{
required: true, required: true,
message: '输入成人数', message: '输入成人数',
trigger: 'blur' trigger: 'blur'
...@@ -753,12 +699,12 @@ ...@@ -753,12 +699,12 @@
message: '请输入英文名', message: '请输入英文名',
trigger: 'blur' trigger: 'blur'
}], }],
Mobile: [{ Mobile: [
required: true, { required: true, message: "请输入联系电话", trigger: "blur" },
message: "请输入联系电话", {
trigger: "blur" pattern: this.$commonUtils.Regex.el_ISphone,
}, message: "请输入正确的电话"
}
], ],
}, },
detailsRow: null, detailsRow: null,
...@@ -773,16 +719,16 @@ ...@@ -773,16 +719,16 @@
this.selectAddress = true this.selectAddress = true
}, },
headCall(msg, type, index, address_detail) { headCall(msg, type, index, address_detail) {
if (type == 1) { if(type==1){
this.msg.GetonAddress = address_detail this.msg.GetonAddress = address_detail
} else { }else{
this.msg.GetoffAddress = address_detail this.msg.GetoffAddress = address_detail
} }
}, },
getTime() { getTime(){
this.SetOutTime = this.msg.OrderDate this.SetOutTime = this.msg.OrderDate
}, },
submit() { submit(){
this.$refs['msg'].validate((valid) => { this.$refs['msg'].validate((valid) => {
if (valid) { if (valid) {
this.setFormMsg() this.setFormMsg()
...@@ -791,9 +737,9 @@ ...@@ -791,9 +737,9 @@
} }
}); });
}, },
setFormMsg() { setFormMsg(){
this.types.forEach(x => { this.types.forEach(x=>{
if (x.checked) { if(x.checked){
this.msg.Unit_Price = x.B2BPrice this.msg.Unit_Price = x.B2BPrice
this.msg.Num = x.num this.msg.Num = x.num
} }
...@@ -818,65 +764,65 @@ ...@@ -818,65 +764,65 @@
changePeople(val) { changePeople(val) {
this.getNum() this.getNum()
}, },
getNum() { getNum(){
this.types.forEach(x => { this.types.forEach(x=>{
if (x.num > x.RemainingInventory) { if(x.num>x.RemainingInventory){
x.num = x.RemainingInventory x.num = x.RemainingInventory
} }
}) })
setTimeout(() => { setTimeout(()=>{
this.calcMoneyHandler() this.calcMoneyHandler()
}, 50) },50)
}, },
calcMoneyHandler() { calcMoneyHandler(){
this.msg.Money = 0.0 this.msg.Money=0.0
this.types.forEach(x => { this.types.forEach(x=>{
if (x.checked) { if(x.checked){
this.msg.Money += x.B2BPrice * x.num this.msg.Money+=x.B2BPrice*x.num
} }
}) })
}, },
changeDetailListHandler(e, i, OrderId) { changeDetailListHandler(e,i,OrderId) {
if (i == 1) { if(i==1){
if (!OrderId) { if(!OrderId){
this.AirportTypes.forEach(x => { this.AirportTypes.forEach(x=>{
x.checked = false x.checked = false
}) })
e.checked = !e.checked e.checked = !e.checked
let AirportTypes = this.AirportTypes.filter(x => x.checked) let AirportTypes = this.AirportTypes.filter(x => x.checked)
if (AirportTypes && AirportTypes[0]) { if(AirportTypes&&AirportTypes[0]){
this.msg.AirportId = AirportTypes[0].AirportId this.msg.AirportId = AirportTypes[0].AirportId
} }
if (this.AirportTypes.findIndex(x => x.checked) > -1) this.getQuotation() if(this.AirportTypes.findIndex(x => x.checked) > -1) this.getQuotation()
} }
} }
if (i == 2) { if(i==2){
// if(!OrderId){ // if(!OrderId){
this.PlaceTypes.forEach(x => { this.PlaceTypes.forEach(x=>{
x.checked = false x.checked = false
}) })
e.checked = !e.checked e.checked = !e.checked
let PlaceTypes = this.PlaceTypes.filter(x => x.checked) let PlaceTypes = this.PlaceTypes.filter(x => x.checked)
if (PlaceTypes && PlaceTypes[0]) { if(PlaceTypes&&PlaceTypes[0]){
this.GetOnTheBusObj = PlaceTypes[0] this.GetOnTheBusObj = PlaceTypes[0]
} }
// } // }
} }
if (i == 4) { if(i==4){
// if(!OrderId){ // if(!OrderId){
this.PlaceTypes2.forEach(x => { this.PlaceTypes2.forEach(x=>{
x.checked = false x.checked = false
}) })
e.checked = !e.checked e.checked = !e.checked
let PlaceTypes2 = this.PlaceTypes2.filter(x => x.checked) let PlaceTypes2 = this.PlaceTypes2.filter(x => x.checked)
if (PlaceTypes2 && PlaceTypes2[0]) { if(PlaceTypes2&&PlaceTypes2[0]){
this.GetOffTheBusIdObj = PlaceTypes2[0] this.GetOffTheBusIdObj = PlaceTypes2[0]
} }
// } // }
} }
if (i == 3) { if(i==3){
this.types.forEach(x => { this.types.forEach(x=>{
if (x.Id != e.Id) { if(x.Id!=e.Id){
x.checked = false x.checked = false
} }
}) })
...@@ -885,7 +831,7 @@ ...@@ -885,7 +831,7 @@
} }
e.checked = !e.checked e.checked = !e.checked
let types = this.types.filter(x => x.checked) let types = this.types.filter(x => x.checked)
if (types && types[0]) { if(types&&types[0]){
this.msg.CarId = types[0].Id this.msg.CarId = types[0].Id
this.getQuotation() this.getQuotation()
} }
...@@ -896,9 +842,10 @@ ...@@ -896,9 +842,10 @@
this.$forceUpdate() this.$forceUpdate()
}, },
// 获取报价 // 获取报价
getQuotation() { getQuotation(){
this.apipost( this.apipost(
"CarSingle_post_GetSaleCarSingleProductMonthPrice", { "CarSingle_post_GetSaleCarSingleProductMonthPrice",
{
AirportId: this.msg.AirportId, AirportId: this.msg.AirportId,
CarTypeId: this.msg.CarId, CarTypeId: this.msg.CarId,
Month: this.SetOutTime, Month: this.SetOutTime,
...@@ -906,14 +853,14 @@ ...@@ -906,14 +853,14 @@
}, },
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
let SetOutTime = this.SetOutTime.length > 10 ? this.SetOutTime.slice(0, 10) : this.SetOutTime let SetOutTime = this.SetOutTime.length>10?this.SetOutTime.slice(0,10):this.SetOutTime
let newData = res.data.data.filter(x => x.Date == SetOutTime) let newData = res.data.data.filter(x=>x.Date==SetOutTime)
let types = this.types.filter(x => x.checked) let types = this.types.filter(x => x.checked)
newData.length > 0 && this.types.forEach((item, index) => { newData.length>0&&this.types.forEach((item,index) => {
if (this.msg.CarId == item.Id && newData[0].Price) { if(this.msg.CarId==item.Id&&newData[0].Price){
item.B2BPrice = newData[0].Price item.B2BPrice = newData[0].Price
this.msg.Unit_Price = newData[0].Price this.msg.Unit_Price = newData[0].Price
} else { }else{
item.B2BPrice = 0.0 item.B2BPrice = 0.0
} }
}); });
...@@ -922,9 +869,10 @@ ...@@ -922,9 +869,10 @@
}) })
}, },
getInfo() { getInfo(){
this.apipost( this.apipost(
"CarSingle_post_GetSaleCarSingleProductInfo", { "CarSingle_post_GetSaleCarSingleProductInfo",
{
ProductId: this.msg.ProductId, ProductId: this.msg.ProductId,
}, },
res => { res => {
...@@ -942,23 +890,26 @@ ...@@ -942,23 +890,26 @@
addList(res.data.data.PlaceList); addList(res.data.data.PlaceList);
addList(res.data.data.CarTypeList); addList(res.data.data.CarTypeList);
this.AirportTypes = res.data.data.AirportList this.AirportTypes = res.data.data.AirportList
if (this.AirportTypes.length > 0) { if(this.AirportTypes.length>0){
this.changeDetailListHandler(this.AirportTypes[0], 1, this.msg.OrderId) this.changeDetailListHandler(this.AirportTypes[0],1,this.msg.OrderId)
} }
this.PlaceTypes = JSON.parse(JSON.stringify(res.data.data.PlaceList)) this.PlaceTypes = JSON.parse(JSON.stringify(res.data.data.PlaceList))
if (this.PlaceTypes.length > 0) { if(this.PlaceTypes.length>0){
this.changeDetailListHandler(this.PlaceTypes[0], 2, this.msg.OrderId) this.changeDetailListHandler(this.PlaceTypes[0],2,this.msg.OrderId)
} }
this.PlaceTypes2 = JSON.parse(JSON.stringify(res.data.data.PlaceList)) this.PlaceTypes2 = JSON.parse(JSON.stringify(res.data.data.PlaceList))
if (this.PlaceTypes2.length > 0) { if(this.PlaceTypes2.length>0){
this.changeDetailListHandler(this.PlaceTypes2[0], 4, this.msg.OrderId) this.changeDetailListHandler(this.PlaceTypes2[0],4,this.msg.OrderId)
} }
this.types = res.data.data.CarTypeList this.types = res.data.data.CarTypeList
if (this.types && this.types.length == 0) { if(this.types&&this.types.length>0){
message.errorMsg(`${t('v102.ticket.nobj')}`) this.changeDetailListHandler(this.types[0],3)
}
if(this.types&&this.types.length==0){
this.Error('暂无报价,无法下单')
} }
} else { }else{
this.Error(res.data.message) this.Error(res.data.message)
} }
}, },
...@@ -966,53 +917,54 @@ ...@@ -966,53 +917,54 @@
); );
}, },
// 获取订单详情 // 获取订单详情
getOrderInfo() { getOrderInfo(){
this.apipost( this.apipost(
"CarSingle_post_GetSaleMyCarOrderInfo", { "CarSingle_post_GetSaleMyCarOrderInfo",
{
OrderId: this.msg.OrderId, OrderId: this.msg.OrderId,
}, },
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.SetOutTime = res.data.data.OrderDate.substr(0, 10) this.SetOutTime = res.data.data.OrderDate.substr(0,10)
this.msg = { this.msg = {
OrderId: res.data.data.OrderId, OrderId: res.data.data.OrderId,
OrderType: String(res.data.data.OrderType), OrderType: String(res.data.data.OrderType),
OrderDate: res.data.data.OrderDate, //预定日期 OrderDate: res.data.data.OrderDate,//预定日期
Unit_Price: res.data.data.Unit_Price, //单价 Unit_Price: res.data.data.Unit_Price,//单价
Num: res.data.data.Num, //数量 Num: res.data.data.Num,//数量
Money: res.data.data.Money, Money: res.data.data.Money,
Sex: String(res.data.data.Sex), //1男2女 Sex: String(res.data.data.Sex),//1男2女
SurName: res.data.data.SurName, //姓 SurName: res.data.data.SurName,//姓
Name: res.data.data.Name, //名 Name: res.data.data.Name,//名
Remark: res.data.data.Remark, Remark: res.data.data.Remark,
AirportId: res.data.data.AirportId, AirportId: res.data.data.AirportId,
AirportTerminal: res.data.data.AirportTerminal, //航厦 AirportTerminal: res.data.data.AirportTerminal,//航厦
AirLine: res.data.data.AirLine, //航空公司名称 AirLine: res.data.data.AirLine,//航空公司名称
FlightNumber: res.data.data.FlightNumber, //航班号 FlightNumber: res.data.data.FlightNumber,//航班号
FlightTime: res.data.data.FlightTime, //航班时间 FlightTime: res.data.data.FlightTime,//航班时间
GetonAddress: res.data.data.GetonAddress, //上车点 GetonAddress: res.data.data.GetonAddress,//上车点
GetoffAddress: res.data.data.GetoffAddress, //下车点 GetoffAddress: res.data.data.GetoffAddress,//下车点
ManNum: String(res.data.data.ManNum), //成人数 ManNum: String(res.data.data.ManNum),//成人数
ChildNum: String(res.data.data.ChildNum), //儿童数 ChildNum: String(res.data.data.ChildNum),//儿童数
BabyNum: String(res.data.data.BabyNum), //婴儿数 BabyNum: String(res.data.data.BabyNum),//婴儿数
HandLuggageNum: String(res.data.data.HandLuggageNum), //手提行李数量 HandLuggageNum: String(res.data.data.HandLuggageNum),//手提行李数量
RegisteredLuggageNum: String(res.data.data.RegisteredLuggageNum), //托运行李数量 RegisteredLuggageNum: String(res.data.data.RegisteredLuggageNum),//托运行李数量
ContactWay: res.data.data.ContactWay, //联络方式 WeChat ContactWay: res.data.data.ContactWay,//联络方式 WeChat
Mobile: res.data.data.Mobile, //电话 Mobile: res.data.data.Mobile,//电话
ProductId: res.data.data.ProductId, ProductId: res.data.data.ProductId,
CarId: res.data.data.CarId, //产品类型ID CarId: res.data.data.CarId,//产品类型ID
} }
this.getQuotation() this.getQuotation()
this.AirportTypes.forEach(x => { this.AirportTypes.forEach(x=>{
if (x.AirportId == res.data.data.AirportId) { if(x.AirportId==res.data.data.AirportId){
this.changeDetailListHandler(x, 1) this.changeDetailListHandler(x,1)
} }
}) })
this.types.forEach(x => { this.types.forEach(x=>{
if (x.Id == res.data.data.CarId) { if(x.Id==res.data.data.CarId){
x.num = res.data.data.Num x.num = res.data.data.Num
x.B2BPrice = res.data.data.Unit_Price x.B2BPrice = res.data.data.Unit_Price
this.changeDetailListHandler(x, 3) this.changeDetailListHandler(x,3)
} }
}) })
...@@ -1028,9 +980,9 @@ ...@@ -1028,9 +980,9 @@
}, },
mounted() { mounted() {
// crm自动登陆传过来的参数 // crm自动登陆传过来的参数
if (this.$route.query.crmOrderObj) { if(this.$route.query.crmOrderObj){
this.crmOrderObj = JSON.parse(this.$route.query.crmOrderObj) this.crmOrderObj = JSON.parse(this.$route.query.crmOrderObj)
this.msg.LureEmpId = this.crmOrderObj.LureEmpId //引流id this.msg.LureEmpId = this.crmOrderObj.LureEmpId//引流id
this.msg.CRMGuestId = this.crmOrderObj.CRMGuestId //客人ID this.msg.CRMGuestId = this.crmOrderObj.CRMGuestId //客人ID
} }
}, },
...@@ -1040,10 +992,10 @@ ...@@ -1040,10 +992,10 @@
this.SetOutTime = this.$route.query.OrderDate this.SetOutTime = this.$route.query.OrderDate
// this.msg.OrderDate = this.$route.query.OrderDate+ ' 00:00' // this.msg.OrderDate = this.$route.query.OrderDate+ ' 00:00'
this.getInfo() this.getInfo()
if (this.msg.OrderId) { if(this.msg.OrderId){
this.getOrderInfo() this.getOrderInfo()
} }
} }
}; };
</script> </script>
...@@ -785,6 +785,22 @@ ...@@ -785,6 +785,22 @@
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
<div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
<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.InvoiceApplyList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.InvoiceApplyList&&item.InvoiceApplyList.length == 0" class="c9e fz12">
暂无发票单据
</span>
</div>
</div>
<div <div
class="column justify-c px15 bgf5 radius5 ml flex-g pa20" class="column justify-c px15 bgf5 radius5 ml flex-g pa20"
style="min-width: 230px" style="min-width: 230px"
...@@ -809,13 +825,13 @@ ...@@ -809,13 +825,13 @@
</div> </div>
</div> </div>
</div> </div>
<div <!-- v-if="
v-if="
item.OrderStatus > 0 && item.OrderStatus > 0 &&
item.OrderStatus < 4 && item.OrderStatus < 4 &&
item.OrderStatus != 3 item.OrderStatus != 3
" " -->
class="column justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s" <div
class="row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
> >
<div <div
v-if=" v-if="
...@@ -877,6 +893,8 @@ ...@@ -877,6 +893,8 @@
> >
<span class="c059FF6">编辑总金额</span> <span class="c059FF6">编辑总金额</span>
</div> </div>
<!-- 申请发票 -->
<ApplyFoInvoice v-if="userInfo.EmployeeId==item.EnterID" :obj="item" :type="5"></ApplyFoInvoice>
</div> </div>
</div> </div>
<div class="mt mb20 bgf5 pa15 row-c" v-if="item.CancelRemark"> <div class="mt mb20 bgf5 pa15 row-c" v-if="item.CancelRemark">
...@@ -1015,8 +1033,9 @@ ...@@ -1015,8 +1033,9 @@
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";
import ApplyFoInvoice from '../../../public/ApplyFoInvoice';
export default { export default {
components: { offset, correlationOP, commissionDialog }, components: { offset, correlationOP, commissionDialog,ApplyFoInvoice },
props: ["OrderList", "pagesTitle"], props: ["OrderList", "pagesTitle"],
data() { data() {
return { return {
......
...@@ -650,7 +650,7 @@ ...@@ -650,7 +650,7 @@
</div> </div>
<div <div
v-if="item.OfferState!=3" v-if="item.OfferState!=3"
class="column justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s" class="row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
> >
<div <div
v-if=" v-if="
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
margin-right: 15px; margin-right: 15px;
border-radius: 5px; border-radius: 5px;
display: block; display: block;
border: 1px solid #eee;
} }
.listone-list{ .listone-list{
flex-grow: 1; flex-grow: 1;
...@@ -219,7 +220,8 @@ ...@@ -219,7 +220,8 @@
<div :style="{'height':tableHeight+'px'}" style="overflow: auto;" v-loading="loading"> <div :style="{'height':tableHeight+'px'}" style="overflow: auto;" v-loading="loading">
<div v-if="ViewType==1" class="listone-box"> <div v-if="ViewType==1" class="listone-box">
<div class="listone-form" v-for="(x,index) in tableData" :key="index"> <div class="listone-form" v-for="(x,index) in tableData" :key="index">
<el-image v-if="x.ImageList" class="listone-img" :src="x.ImageList[0]" fit="contain"> <el-image v-if="x.ImageList" class="listone-img" :src="x.ImageList[0]" fit="cover"
style="max-height: 110px;">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
<span> <span>
加载中<span class="dot">...</span> 加载中<span class="dot">...</span>
...@@ -469,4 +471,3 @@ ...@@ -469,4 +471,3 @@
}; };
</script> </script>
\ No newline at end of file
<template>
<div class="row-c cursor-pointer radius5 change py5" @click="goUrlAdd">
<span class="c059FF6">申请发票</span>
</div>
</template>
<script>
export default {
props: ["obj","type"],
components: {},
data() {
return {
}
},
watch: {
obj: {
handler(newValue,onldValue) {
},
deep:true,
immediate: true
},
},
mounted() {
},
methods: {
// 申请发票 tyep 4机票 5车 6酒店 7景点
goUrlAdd() {
this.$router.push({
name: 'invoicesManagerAdd',
query: {
OrderId: this.obj.OrderId,
TCID: 0,
customerId: this.obj.CustomerId,
InvoiceApplyType: this.type,
blank: "y",
}
});
},
}
}
</script>
<style scoped>
</style>
...@@ -368,7 +368,7 @@ ...@@ -368,7 +368,7 @@
</li> </li>
<li> <li>
<el-form-item label="电话" prop="Mobile"> <el-form-item label="电话" prop="">
<el-input type="Number" v-model="msg.Mobile" placeholder="请输入电话"/> <el-input type="Number" v-model="msg.Mobile" placeholder="请输入电话"/>
</el-form-item> </el-form-item>
</li> </li>
...@@ -454,14 +454,14 @@ ...@@ -454,14 +454,14 @@
</div> </div>
</div> </div>
<div class="right-Submit"> <div class="right-Submit">
<button class="hollowFixedBtn" v-loading="loading"
type="primary"
:disabled="!isCheck" @click="submit">
提交订单
</button>
<!-- <button v-else class="normalBtn" type="primary" @click="submit"> <!-- <button v-else class="normalBtn" type="primary" @click="submit">
提交订单 提交订单
</button> --> </button> -->
<el-button :disabled="!isCheck"
:loading="loading"
class="normalBtn" type="primary" @click="submit">
提交订单
</el-button>
</div> </div>
</div> </div>
<!-- 门票详情信息 --> <!-- 门票详情信息 -->
...@@ -656,8 +656,11 @@ ...@@ -656,8 +656,11 @@
}); });
}; };
addList(res.data.data.TicketPriceList); addList(res.data.data.TicketPriceList);
this.types = res.data.data.TicketPriceList.filter(x=>{ return x.B2BPrice>0})
this.msg.Money = 0.00 this.msg.Money = 0.00
this.types = res.data.data.TicketPriceList.filter(x=>{ return x.B2BPrice>0})
if(this.types&&this.types.length>0){
this.changeDetailListHandler(this.types[0])
}
if(this.types&&this.types.length==0){ if(this.types&&this.types.length==0){
this.Error('暂无报价,无法下单') this.Error('暂无报价,无法下单')
} }
......
...@@ -757,7 +757,22 @@ ...@@ -757,7 +757,22 @@
@click="isOffset(item, index, 3)"></i> @click="isOffset(item, index, 3)"></i>
</el-tooltip> </el-tooltip>
</div> </div>
</div>
<div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
<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.InvoiceApplyList"
@click="openDetails(x)"
>{{ x.FrID }}</span
>
<span v-if="item.InvoiceApplyList&&item.InvoiceApplyList.length == 0" class="c9e fz12">
暂无发票单据
</span>
</div>
</div> </div>
<div class="column justify-c px15 bgf5 radius5 ml flex-g pa20" style="min-width: 230px;"> <div class="column justify-c px15 bgf5 radius5 ml flex-g pa20" style="min-width: 230px;">
<div class="row-c justify-sb pb5" :class="{'borderD':item.MailingMoney>0||item.DiscountsMoney>0}"> <div class="row-c justify-sb pb5" :class="{'borderD':item.MailingMoney>0||item.DiscountsMoney>0}">
...@@ -789,7 +804,8 @@ ...@@ -789,7 +804,8 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="item.OrderStatus > 0 && item.OrderStatus < 4 && item.OrderStatus != 3" <!-- v-if="item.OrderStatus > 0 && item.OrderStatus < 4 && item.OrderStatus != 3" -->
<div
class="row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop flex-s"> class="row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop flex-s">
<div v-if=" <div v-if="
item.OrderStatus == 1 && item.OrderStatus == 1 &&
...@@ -849,6 +865,8 @@ ...@@ -849,6 +865,8 @@
> >
<span class="c059FF6">编辑总金额</span> <span class="c059FF6">编辑总金额</span>
</div> </div>
<!-- 申请发票 -->
<ApplyFoInvoice v-if="userInfo.EmployeeId==item.EnterID" :obj="item" :type="7"></ApplyFoInvoice>
<!-- <template v-if="item.OrderStatus==2"> <!-- <template v-if="item.OrderStatus==2">
<div class="column-jac fz12 flex-s c20C997"> <div class="column-jac fz12 flex-s c20C997">
<div class="mb5">已支付</div> <div class="mb5">已支付</div>
...@@ -1015,9 +1033,11 @@ ...@@ -1015,9 +1033,11 @@
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 { import ApplyFoInvoice from '../../public/ApplyFoInvoice';
export default {
components: { components: {
offset,correlationOP,commissionDialog offset,correlationOP,commissionDialog,ApplyFoInvoice
}, },
props: ["OrderList", "pagesTitle"], props: ["OrderList", "pagesTitle"],
data() { data() {
......
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