|
@@ -25,7 +25,7 @@
|
|
<div>
|
|
<div>
|
|
<el-form :model="delegationInfo" label-width="100px" class="demo-ruleForm">
|
|
<el-form :model="delegationInfo" label-width="100px" class="demo-ruleForm">
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="团组名称:" label-width="160px">
|
|
<el-form-item label="团组名称:" label-width="160px">
|
|
<el-select v-model="DiIdSelect" clearable filterable placeholder="团组选择"
|
|
<el-select v-model="DiIdSelect" clearable filterable placeholder="团组选择"
|
|
@change="AirTicketResChange" :disabled="isShow" style="width: 100%;">
|
|
@change="AirTicketResChange" :disabled="isShow" style="width: 100%;">
|
|
@@ -35,13 +35,13 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="团 号:" prop="tourCode" label-width="160px">
|
|
<el-form-item label="团 号:" prop="tourCode" label-width="160px">
|
|
<el-input placeholder="团号" v-model="delegationInfo.tourCode" :disabled="true">
|
|
<el-input placeholder="团号" v-model="delegationInfo.tourCode" :disabled="true">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="客户:" prop="clientName" label-width="160px">
|
|
<el-form-item label="客户:" prop="clientName" label-width="160px">
|
|
<el-input placeholder="客户" v-model="delegationInfo.clientName" :disabled="true">
|
|
<el-input placeholder="客户" v-model="delegationInfo.clientName" :disabled="true">
|
|
</el-input>
|
|
</el-input>
|
|
@@ -50,7 +50,7 @@
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="出访国家:" prop="visitCountry" label-width="160px">
|
|
<el-form-item label="出访国家:" prop="visitCountry" label-width="160px">
|
|
<el-input placeholder="出访国家" v-model="delegationInfo.visitCountry" :disabled="true">
|
|
<el-input placeholder="出访国家" v-model="delegationInfo.visitCountry" :disabled="true">
|
|
</el-input>
|
|
</el-input>
|
|
@@ -61,15 +61,16 @@
|
|
<el-form :model="airTicketResOpData" :rules="airTicketResRules" ref="airTicketResOpData" label-width="100px"
|
|
<el-form :model="airTicketResOpData" :rules="airTicketResRules" ref="airTicketResOpData" label-width="100px"
|
|
class="demo-ruleForm">
|
|
class="demo-ruleForm">
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="舱类型:" label-width="160px" prop="cType">
|
|
<el-form-item label="舱类型:" label-width="160px" prop="cType">
|
|
- <el-select v-model="airTicketResOpData.cType" placeholder="舱类型" style="width: 100%;">
|
|
|
|
|
|
+ <el-select v-model="airTicketResOpData.cType" placeholder="舱类型" style="width: 100%;"
|
|
|
|
+ @change="tankTypeChange">
|
|
<el-option v-for="item in ticketClass" :key="item.id" :label="item.name" :value="item.id">
|
|
<el-option v-for="item in ticketClass" :key="item.id" :label="item.name" :value="item.id">
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="机票单价:" prop="prePrice" label-width="160px">
|
|
<el-form-item label="机票单价:" prop="prePrice" label-width="160px">
|
|
<el-input placeholder="机票单价" v-model="airTicketResOpData.prePrice" style="width: 58%;"
|
|
<el-input placeholder="机票单价" v-model="airTicketResOpData.prePrice" style="width: 58%;"
|
|
@input="peiceinput">
|
|
@input="peiceinput">
|
|
@@ -82,7 +83,7 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="机票总价:" prop="price" label-width="160px">
|
|
<el-form-item label="机票总价:" prop="price" label-width="160px">
|
|
<el-input placeholder="机票总价" v-model="airTicketResOpData.price" style="width: 58%;"
|
|
<el-input placeholder="机票总价" v-model="airTicketResOpData.price" style="width: 58%;"
|
|
:disabled="true">
|
|
:disabled="true">
|
|
@@ -98,13 +99,75 @@
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
|
|
+ <el-form-item label="机票编号:" label-width="160px" prop="ticketNumber">
|
|
|
|
+ <el-input placeholder="机票编号" v-model="airTicketResOpData.ticketNumber">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="width: 25%;">
|
|
|
|
+ <el-form-item label="机票票号:" label-width="160px" prop="ticketCode">
|
|
|
|
+ <el-input placeholder="机票票号" v-model="airTicketResOpData.ticketCode">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ </div>
|
|
|
|
+ <div style="display: flex;">
|
|
|
|
+ <div style="width: 100%;">
|
|
|
|
+ <el-form-item label="航班描述:" prop="flightsDescription" label-width="160px">
|
|
|
|
+ <el-input type="textarea" :rows="5"
|
|
|
|
+ placeholder="请严格遵守此格式!!! 1. EK363 R1 WE08MAR CANDXB HK7 0015 0515 SEAME 2 3 (注意空格以及多条数据换行)"
|
|
|
|
+ v-model="airTicketResOpData.flightsDescription" @change="flightsCodeChange"></el-input>
|
|
|
|
+
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="display: flex;">
|
|
|
|
+ <div style="width: 25%;">
|
|
|
|
+ <el-form-item label="航班简述:" label-width="160px" prop="flightsCode">
|
|
|
|
+ <el-input placeholder="航班简述" v-model="airTicketResOpData.flightsCode">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="width: 25%;">
|
|
|
|
+ <el-form-item label="城 市:" prop="flightsCity" label-width="160px">
|
|
|
|
+ <el-input placeholder="城市" v-model="airTicketResOpData.flightsCity">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="width: 25%;">
|
|
|
|
+ <el-form-item label="航班日期:" prop="flightsDate" label-width="160px">
|
|
|
|
+ <el-date-picker v-model="airTicketResOpData.flightsDate" type="date" placeholder="航班日期">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="width: 25%;">
|
|
|
|
+ <el-form-item label="航班时间:" prop="flightsTime" label-width="160px">
|
|
|
|
+
|
|
|
|
+ <el-time-select v-model="airTicketResOpData.flightsTime" placeholder="航班时间">
|
|
|
|
+ </el-time-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="display: flex;">
|
|
|
|
+ <div style="width: 25%;">
|
|
|
|
+ <el-form-item label="此舱位客人名称:" prop="clientName" label-width="160px">
|
|
|
|
+ <el-select v-model="airTicketResOpData.clientName" placeholder="此舱位客人名称" multiple clearable
|
|
|
|
+ filterable @change="clientNamechange">
|
|
|
|
+ <el-option v-for="item in clientNameId" :key="item.id"
|
|
|
|
+ :label="item.pinyin + '(' + item.name + ')'" :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="此舱位人数:" prop="clientNum" label-width="160px">
|
|
<el-form-item label="此舱位人数:" prop="clientNum" label-width="160px">
|
|
<el-input placeholder="此舱位人数" v-model="airTicketResOpData.clientNum" @input="peiceinput">
|
|
<el-input placeholder="此舱位人数" v-model="airTicketResOpData.clientNum" @input="peiceinput">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="是否值机: " label-width="160px">
|
|
<el-form-item label="是否值机: " label-width="160px">
|
|
<el-radio-group v-model="airTicketResOpData.isCheckIn">
|
|
<el-radio-group v-model="airTicketResOpData.isCheckIn">
|
|
<el-radio :label=1>是</el-radio>
|
|
<el-radio :label=1>是</el-radio>
|
|
@@ -112,7 +175,7 @@
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="是否选座:" label-width="160px">
|
|
<el-form-item label="是否选座:" label-width="160px">
|
|
<el-radio-group v-model="airTicketResOpData.isSetSeat">
|
|
<el-radio-group v-model="airTicketResOpData.isSetSeat">
|
|
<el-radio :label=1>是</el-radio>
|
|
<el-radio :label=1>是</el-radio>
|
|
@@ -123,7 +186,7 @@
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="是否购买行李:" label-width="160px">
|
|
<el-form-item label="是否购买行李:" label-width="160px">
|
|
<el-radio-group v-model="airTicketResOpData.isPackage">
|
|
<el-radio-group v-model="airTicketResOpData.isPackage">
|
|
<el-radio :label=1>是</el-radio>
|
|
<el-radio :label=1>是</el-radio>
|
|
@@ -131,7 +194,7 @@
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="是否行李直挂:" label-width="160px">
|
|
<el-form-item label="是否行李直挂:" label-width="160px">
|
|
<el-radio-group v-model="airTicketResOpData.isBagHandle">
|
|
<el-radio-group v-model="airTicketResOpData.isBagHandle">
|
|
<el-radio :label=1>是</el-radio>
|
|
<el-radio :label=1>是</el-radio>
|
|
@@ -139,7 +202,7 @@
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <div style="width: 33%;">
|
|
|
|
|
|
+ <div style="width: 25%;">
|
|
<el-form-item label="是否火车票出票选座:" label-width="160px">
|
|
<el-form-item label="是否火车票出票选座:" label-width="160px">
|
|
<el-radio-group v-model="airTicketResOpData.isTrain">
|
|
<el-radio-group v-model="airTicketResOpData.isTrain">
|
|
<el-radio :label=1>是</el-radio>
|
|
<el-radio :label=1>是</el-radio>
|
|
@@ -148,41 +211,9 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
- <div style="width: 50%;">
|
|
|
|
- <el-form-item label="航班简述:" label-width="160px" prop="flightsCode">
|
|
|
|
- <el-input placeholder="航班简述" v-model="airTicketResOpData.flightsCode">
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
- <div style="width: 50%;">
|
|
|
|
- <el-form-item label="城 市:" prop="flightsCity" label-width="160px">
|
|
|
|
- <el-input placeholder="城市" v-model="airTicketResOpData.flightsCity">
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div style="display: flex;">
|
|
|
|
- <div style="width: 100%;">
|
|
|
|
- <el-form-item label="此舱位客人名称:" prop="clientName" label-width="160px">
|
|
|
|
- <el-input placeholder="此舱位客人名称" v-model="airTicketResOpData.clientName">
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <!-- <div>
|
|
|
|
- <span style="color: red; padding-left: 100px;">
|
|
|
|
- 请严格遵守此格式!!! 1. EK363 R1 WE08MAR CANDXB HK7 0015 0515 SEAME 2 3 (注意空格以及多条数据换行)
|
|
|
|
- </span>
|
|
|
|
- </div> -->
|
|
|
|
- <div style="display: flex;">
|
|
|
|
- <div style="width: 100%;">
|
|
|
|
- <el-form-item label="航班描述:" prop="flightsDescription" label-width="160px">
|
|
|
|
- <el-input type="textarea" :rows="5"
|
|
|
|
- placeholder="请严格遵守此格式!!! 1. EK363 R1 WE08MAR CANDXB HK7 0015 0515 SEAME 2 3 (注意空格以及多条数据换行)"
|
|
|
|
- v-model="airTicketResOpData.flightsDescription"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
<div style="width: 100%;">
|
|
<div style="width: 100%;">
|
|
@@ -376,43 +407,43 @@ export default {
|
|
return {
|
|
return {
|
|
airTicketResRules: {
|
|
airTicketResRules: {
|
|
cType: [
|
|
cType: [
|
|
- { required: true, message: '请选择舱位类型', trigger: 'change' }
|
|
|
|
|
|
+ { required: true, message: '请选择舱位类型', trigger: ['blur', 'change'] }
|
|
],
|
|
],
|
|
prePrice: [
|
|
prePrice: [
|
|
- { required: true, message: '请输入机票单价', trigger: 'change' },
|
|
|
|
|
|
+ { required: true, message: '请输入机票单价', trigger: ['blur', 'change'] },
|
|
{ pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
|
|
{ pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
|
|
],
|
|
],
|
|
clientNum: [
|
|
clientNum: [
|
|
- { required: true, message: '请输入舱位人数', trigger: 'change' },
|
|
|
|
|
|
+ { required: true, message: '请输入舱位人数', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
flightsCode: [
|
|
flightsCode: [
|
|
- { required: true, message: '请输入航班描述', trigger: 'change' },
|
|
|
|
|
|
+ { required: true, message: '请输入航班描述', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
flightsCity: [
|
|
flightsCity: [
|
|
- { required: true, message: '请输入城市', trigger: 'change' },
|
|
|
|
|
|
+ { required: true, message: '请输入城市', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
clientName: [
|
|
clientName: [
|
|
- { required: true, message: '请输入客人姓名', trigger: 'change' },
|
|
|
|
|
|
+ { type: "array", required: true, message: '请选择责任人', trigger: ['blur', ['blur', 'change']] }
|
|
],
|
|
],
|
|
flightsDescription: [
|
|
flightsDescription: [
|
|
- { required: true, message: '请严格遵守格式,正确填写', trigger: 'change' },
|
|
|
|
|
|
+ { required: true, message: '请严格遵守格式,正确填写', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
},
|
|
},
|
|
cardPaymentRules: {
|
|
cardPaymentRules: {
|
|
payDId: [
|
|
payDId: [
|
|
- { required: true, message: '请选择支付方式', trigger: 'blur' },
|
|
|
|
|
|
+ { required: true, message: '请选择支付方式', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
consumptionPatterns: [
|
|
consumptionPatterns: [
|
|
- { required: true, message: '请输入消费方式', trigger: 'blur' },
|
|
|
|
|
|
+ { required: true, message: '请输入消费方式', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
payee: [
|
|
payee: [
|
|
- { required: true, message: '请输入收款方', trigger: 'blur' },
|
|
|
|
|
|
+ { required: true, message: '请输入收款方', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
orbitalPrivateTransfer: [
|
|
orbitalPrivateTransfer: [
|
|
- { required: true, message: '请选择费用表示', trigger: 'blur' },
|
|
|
|
|
|
+ { required: true, message: '请选择费用表示', trigger: ['blur', 'change'] },
|
|
],
|
|
],
|
|
// ctdId: [
|
|
// ctdId: [
|
|
- // { required: true, message: '请选择卡类型', trigger: 'blur' },
|
|
|
|
|
|
+ // { required: true, message: '请选择卡类型', trigger: ['blur', 'change'] },
|
|
// ]
|
|
// ]
|
|
},
|
|
},
|
|
title: "新增机票费用录入",
|
|
title: "新增机票费用录入",
|
|
@@ -429,33 +460,33 @@ export default {
|
|
cardType: [],//卡类型下拉框
|
|
cardType: [],//卡类型下拉框
|
|
airTicketAgents: [],//合作的代理资料
|
|
airTicketAgents: [],//合作的代理资料
|
|
airTicketAgentsId: '',
|
|
airTicketAgentsId: '',
|
|
|
|
+ clientNameId: [],//客人姓名
|
|
|
|
+ clientNameList: [],
|
|
airGroupCostParameter: {},//机票成本预算
|
|
airGroupCostParameter: {},//机票成本预算
|
|
- jjccb: 0,
|
|
|
|
- jjcrs: 0,
|
|
|
|
- jjczj: 0,
|
|
|
|
- gwccb: 0,
|
|
|
|
- gwcrs: 0,
|
|
|
|
- gwczj: 0,
|
|
|
|
status: 0,
|
|
status: 0,
|
|
airTicketResOpData: {
|
|
airTicketResOpData: {
|
|
id: 0,
|
|
id: 0,
|
|
diId: 0,
|
|
diId: 0,
|
|
- cType: '',
|
|
|
|
|
|
+ cType: 460,
|
|
prePrice: 0,
|
|
prePrice: 0,
|
|
preCurrency: 48,
|
|
preCurrency: 48,
|
|
price: 0,
|
|
price: 0,
|
|
currency: 48,
|
|
currency: 48,
|
|
clientNum: 0,
|
|
clientNum: 0,
|
|
- clientName: '',
|
|
|
|
|
|
+ clientName: [],
|
|
isCheckIn: 0,
|
|
isCheckIn: 0,
|
|
isSetSeat: 0,
|
|
isSetSeat: 0,
|
|
isPackage: 0,
|
|
isPackage: 0,
|
|
isBagHandle: 0,
|
|
isBagHandle: 0,
|
|
isTrain: 0,
|
|
isTrain: 0,
|
|
flightsCode: '',
|
|
flightsCode: '',
|
|
|
|
+ flightsDate: '',
|
|
|
|
+ flightsTime: '',
|
|
flightsCity: '',
|
|
flightsCity: '',
|
|
flightsDescription: '',
|
|
flightsDescription: '',
|
|
priceDescription: '',
|
|
priceDescription: '',
|
|
|
|
+ ticketNumber: '',
|
|
|
|
+ ticketCode: '',
|
|
createUserId: 0,
|
|
createUserId: 0,
|
|
remark: ''
|
|
remark: ''
|
|
},
|
|
},
|
|
@@ -486,6 +517,13 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ clientNamechange(val) {
|
|
|
|
+ console.log(val.length)
|
|
|
|
+ this.airTicketResOpData.clientNum = val.length;
|
|
|
|
+ this.cardPaymentOpData.payMoney = parseFloat(parseFloat(this.airTicketResOpData.prePrice) * parseFloat(this.airTicketResOpData.clientNum)).toFixed(2)
|
|
|
|
+ this.cardPaymentOpData.payThenMoney = this.cardPaymentOpData.payMoney
|
|
|
|
+ this.airTicketResOpData.price = parseFloat(parseFloat(this.airTicketResOpData.prePrice) * parseFloat(this.airTicketResOpData.clientNum)).toFixed(2)
|
|
|
|
+ },
|
|
//团组下拉框
|
|
//团组下拉框
|
|
AirTicketResSelect() {
|
|
AirTicketResSelect() {
|
|
var url = "/api/Groups/AirTicketResSelect"
|
|
var url = "/api/Groups/AirTicketResSelect"
|
|
@@ -507,7 +545,7 @@ export default {
|
|
that.cardType = res.data.data.cardType;//卡类型下拉框
|
|
that.cardType = res.data.data.cardType;//卡类型下拉框
|
|
that.airTicketAgents = res.data.data.airTicketAgents//合作方资料下拉框
|
|
that.airTicketAgents = res.data.data.airTicketAgents//合作方资料下拉框
|
|
that.DiIdSelect = parseInt(that.DiId)
|
|
that.DiIdSelect = parseInt(that.DiId)
|
|
- that.AirTicketResList()
|
|
|
|
|
|
+ that.QueryTankType();
|
|
}
|
|
}
|
|
|
|
|
|
})
|
|
})
|
|
@@ -515,6 +553,7 @@ export default {
|
|
AirTicketResChange() {
|
|
AirTicketResChange() {
|
|
this.AirTicketResList();
|
|
this.AirTicketResList();
|
|
},
|
|
},
|
|
|
|
+
|
|
AirTicketResList() {
|
|
AirTicketResList() {
|
|
var url = "/api/Groups/AirTicketResList"
|
|
var url = "/api/Groups/AirTicketResList"
|
|
var that = this
|
|
var that = this
|
|
@@ -528,31 +567,58 @@ export default {
|
|
diId: that.DiIdSelect
|
|
diId: that.DiIdSelect
|
|
}
|
|
}
|
|
}).then(function (res) {
|
|
}).then(function (res) {
|
|
-
|
|
|
|
if (res.data.code == 200) {
|
|
if (res.data.code == 200) {
|
|
|
|
|
|
that.delegationInfo = res.data.data.delegationInfo
|
|
that.delegationInfo = res.data.data.delegationInfo
|
|
that.airGroupCostParameter = res.data.data.airGroupCostParameter
|
|
that.airGroupCostParameter = res.data.data.airGroupCostParameter
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- if (that.DiId != undefined && that.id != undefined) {
|
|
|
|
- that.status = 2;
|
|
|
|
- that.isShow = true
|
|
|
|
- that.AirTicketResById();
|
|
|
|
- } else {
|
|
|
|
- that.isShow = false
|
|
|
|
- that.status = 1;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ QueryTankType() {
|
|
|
|
+ var url = "/api/Groups/tankType"
|
|
|
|
+ var that = this
|
|
|
|
+ this.$axios({
|
|
|
|
+ method: 'post',
|
|
|
|
+ url: url,
|
|
|
|
+ headers: {
|
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
|
+ },
|
|
|
|
+ data: {
|
|
|
|
+ id: that.airTicketResOpData.cType
|
|
|
|
+ }
|
|
|
|
+ }).then(function (res) {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+
|
|
|
|
+ that.clientNameId = res.data.data
|
|
|
|
+ that.AirTicketResList()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ tankTypeChange() {
|
|
|
|
+ this.QueryTankType();
|
|
},
|
|
},
|
|
//点击保存事件
|
|
//点击保存事件
|
|
addBtn() {
|
|
addBtn() {
|
|
- if (this.IsAuditGM = 1) {
|
|
|
|
|
|
+
|
|
|
|
+ if (this.IsAuditGM == 1) {
|
|
|
|
+ var ss = this.airTicketResOpData.clientName.split(',')
|
|
|
|
+ this.airTicketResOpData.clientName = [];
|
|
|
|
+ ss.forEach(function (item) {
|
|
|
|
+ that.airTicketResOpData.clientName.push(parseInt(item))
|
|
|
|
+ });
|
|
this.$message.error('审核已通过,不可修改!');
|
|
this.$message.error('审核已通过,不可修改!');
|
|
} else {
|
|
} else {
|
|
if (this.DiId == null && this.DiId == undefined && this.DiId == "") {
|
|
if (this.DiId == null && this.DiId == undefined && this.DiId == "") {
|
|
this.$message.error("请选择团组名称");
|
|
this.$message.error("请选择团组名称");
|
|
|
|
+ var ss = this.airTicketResOpData.clientName.split(',')
|
|
|
|
+ this.airTicketResOpData.clientName = [];
|
|
|
|
+ ss.forEach(function (item) {
|
|
|
|
+ that.airTicketResOpData.clientName.push(parseInt(item))
|
|
|
|
+ });
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+
|
|
const that = this;
|
|
const that = this;
|
|
let formArr = ['airTicketResOpData', 'cardPaymentOpData']//三个form表单的ref
|
|
let formArr = ['airTicketResOpData', 'cardPaymentOpData']//三个form表单的ref
|
|
var resultArr = [] //用来接受返回结果的数组
|
|
var resultArr = [] //用来接受返回结果的数组
|
|
@@ -570,11 +636,17 @@ export default {
|
|
checkForm(item)
|
|
checkForm(item)
|
|
})
|
|
})
|
|
Promise.all(resultArr).then(values => {
|
|
Promise.all(resultArr).then(values => {
|
|
- that.airTicketResOpData.diId = that.DiId;
|
|
|
|
- that.airTicketResOpData.createUserId = that.userId;
|
|
|
|
|
|
+ debugger
|
|
|
|
|
|
|
|
+ that.airTicketResOpData.diId = parseInt(that.DiId);
|
|
|
|
+ that.airTicketResOpData.createUserId = that.userId;
|
|
|
|
+ var clientNameStr = ''
|
|
|
|
+ that.airTicketResOpData.clientName.forEach(function (item) {
|
|
|
|
+ clientNameStr += item + ","
|
|
|
|
+ });
|
|
|
|
+ that.airTicketResOpData.clientName = clientNameStr.substring(0, clientNameStr.length - 1)
|
|
that.cardPaymentOpData.createUserId = that.userId;
|
|
that.cardPaymentOpData.createUserId = that.userId;
|
|
- that.cardPaymentOpData.diId = that.DiId;
|
|
|
|
|
|
+ that.cardPaymentOpData.diId = parseInt(that.DiId);
|
|
if (that.cardPaymentOpData.ctdId == '') {
|
|
if (that.cardPaymentOpData.ctdId == '') {
|
|
that.cardPaymentOpData.ctdId = 0;
|
|
that.cardPaymentOpData.ctdId = 0;
|
|
}
|
|
}
|
|
@@ -597,14 +669,32 @@ export default {
|
|
type: 'success'
|
|
type: 'success'
|
|
});
|
|
});
|
|
that.loading = true;
|
|
that.loading = true;
|
|
|
|
+ var ss = that.airTicketResOpData.clientName.split(',')
|
|
|
|
+ that.airTicketResOpData.clientName = [];
|
|
|
|
+ ss.forEach(function (item) {
|
|
|
|
+ that.airTicketResOpData.clientName.push(parseInt(item))
|
|
|
|
+ });
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
that.$router.push('/home/AirTicketRes')
|
|
that.$router.push('/home/AirTicketRes')
|
|
}, 3000);
|
|
}, 3000);
|
|
} else {
|
|
} else {
|
|
|
|
+ var ss = that.airTicketResOpData.clientName.split(',')
|
|
|
|
+ that.airTicketResOpData.clientName = [];
|
|
|
|
+ ss.forEach(function (item) {
|
|
|
|
+ that.airTicketResOpData.clientName.push(parseInt(item))
|
|
|
|
+ });
|
|
that.$message.error(res.data.msg);
|
|
that.$message.error(res.data.msg);
|
|
}
|
|
}
|
|
|
|
+ }).catch(function (error) {
|
|
|
|
+ console.log(error)
|
|
})// 此时必填完成,做保存后的业务操作
|
|
})// 此时必填完成,做保存后的业务操作
|
|
|
|
+
|
|
}).catch(_ => {
|
|
}).catch(_ => {
|
|
|
|
+ var ss = this.airTicketResOpData.clientName.split(',')
|
|
|
|
+ this.airTicketResOpData.clientName = [];
|
|
|
|
+ ss.forEach(function (item) {
|
|
|
|
+ that.airTicketResOpData.clientName.push(parseInt(item))
|
|
|
|
+ });
|
|
this.$message.error('请完善信息在保存!');
|
|
this.$message.error('请完善信息在保存!');
|
|
return false;
|
|
return false;
|
|
})
|
|
})
|
|
@@ -625,19 +715,71 @@ export default {
|
|
}
|
|
}
|
|
}).then(function (res) {
|
|
}).then(function (res) {
|
|
if (res.data.code == 200) {
|
|
if (res.data.code == 200) {
|
|
|
|
+ var airData = res.data.data.airTicket
|
|
|
|
|
|
- that.airTicketResOpData = res.data.data.airTicket;
|
|
|
|
|
|
+ that.airTicketResOpData.id = airData.id
|
|
|
|
+ that.airTicketResOpData.diId = airData.diId
|
|
|
|
+ that.airTicketResOpData.cType = airData.cType
|
|
|
|
+ that.airTicketResOpData.prePrice = airData.prePrice
|
|
|
|
+ that.airTicketResOpData.preCurrency = airData.preCurrency
|
|
|
|
+ that.airTicketResOpData.price = airData.price
|
|
|
|
+ that.airTicketResOpData.currency = airData.currency
|
|
|
|
+ that.airTicketResOpData.clientNum = airData.clientNum
|
|
|
|
+ that.airTicketResOpData.isCheckIn = airData.isCheckIn
|
|
|
|
+ that.airTicketResOpData.isSetSeat = airData.isSetSeat
|
|
|
|
+ that.airTicketResOpData.isPackage = airData.isPackage
|
|
|
|
+ that.airTicketResOpData.isBagHandle = airData.isBagHandle
|
|
|
|
+ that.airTicketResOpData.isTrain = airData.isTrain
|
|
|
|
+ that.airTicketResOpData.flightsCode = airData.flightsCode
|
|
|
|
+ that.airTicketResOpData.flightsDate = airData.flightsDate
|
|
|
|
+ that.airTicketResOpData.flightsTime = airData.flightsTime
|
|
|
|
+ that.airTicketResOpData.flightsCity = airData.flightsCity
|
|
|
|
+ that.airTicketResOpData.flightsDescription = airData.flightsDescription
|
|
|
|
+ that.airTicketResOpData.priceDescription = airData.priceDescription
|
|
|
|
+ that.airTicketResOpData.ticketNumber = airData.ticketNumber
|
|
|
|
+ that.airTicketResOpData.ticketCode = airData.ticketCode
|
|
|
|
+ that.airTicketResOpData.createUserId = airData.createUserId
|
|
|
|
+ that.airTicketResOpData.remark = airData.remark
|
|
|
|
+
|
|
|
|
+ debugger
|
|
|
|
+ var ss = airData.clientName.split(',')
|
|
|
|
+ that.airTicketResOpData.clientName = [];
|
|
|
|
+ ss.forEach(function (item) {
|
|
|
|
+ that.airTicketResOpData.clientName.push(parseInt(item))
|
|
|
|
+ });
|
|
that.prePrice = res.data.data.airTicket.prePrice
|
|
that.prePrice = res.data.data.airTicket.prePrice
|
|
that.currencyId = res.data.data.airTicket.preCurrency
|
|
that.currencyId = res.data.data.airTicket.preCurrency
|
|
that.clientNum = res.data.data.airTicket.clientNum
|
|
that.clientNum = res.data.data.airTicket.clientNum
|
|
- that.cardPaymentOpData = res.data.data.creditCard;
|
|
|
|
- that.IsAuditGM = that.cardPaymentOpData.isAuditGM
|
|
|
|
- debugger
|
|
|
|
- if (that.cardPaymentOpData.ctdId == 0) {
|
|
|
|
|
|
+ var creData = res.data.data.creditCard;
|
|
|
|
+ that.cardPaymentOpData.id = creData.id
|
|
|
|
+ that.cardPaymentOpData.payDId = creData.payDId
|
|
|
|
+ that.cardPaymentOpData.consumptionPatterns = creData.consumptionPatterns
|
|
|
|
+ that.cardPaymentOpData.consumptionDate = creData.consumptionDate
|
|
|
|
+ that.cardPaymentOpData.bankNo = creData.bankNo
|
|
|
|
+ that.cardPaymentOpData.cardholderName = creData.cardholderName
|
|
|
|
+ that.cardPaymentOpData.payMoney = creData.payMoney
|
|
|
|
+ that.cardPaymentOpData.paymentCurrency = creData.paymentCurrency
|
|
|
|
+ that.cardPaymentOpData.companyBankNo = creData.companyBankNo
|
|
|
|
+ that.cardPaymentOpData.otherBankName = creData.otherBankName
|
|
|
|
+ that.cardPaymentOpData.otherSideNo = creData.otherSideNo
|
|
|
|
+ that.cardPaymentOpData.otherSideName = creData.otherSideName
|
|
|
|
+ that.cardPaymentOpData.mfOperator = creData.mfOperator
|
|
|
|
+ that.cardPaymentOpData.mfOperatorDate = creData.mfOperatorDate
|
|
|
|
+ that.cardPaymentOpData.diId = creData.diId
|
|
|
|
+ that.cardPaymentOpData.payThenMoney = creData.payThenMoney
|
|
|
|
+ that.cardPaymentOpData.payee = creData.payee
|
|
|
|
+ that.cardPaymentOpData.createUserId = creData.createUserId
|
|
|
|
+ that.cardPaymentOpData.orbitalPrivateTransfer = creData.orbitalPrivateTransfer
|
|
|
|
+ that.cardPaymentOpData.remark = creData.remark
|
|
|
|
+
|
|
|
|
+ that.IsAuditGM = creData.isAuditGM
|
|
|
|
+
|
|
|
|
+ if (creData.ctdId == 0) {
|
|
that.cardPaymentOpData.ctdId = ""
|
|
that.cardPaymentOpData.ctdId = ""
|
|
|
|
+ } else {
|
|
|
|
+ that.cardPaymentOpData.ctdId = parseInt(creData.ctdId)
|
|
}
|
|
}
|
|
-
|
|
|
|
- that.cardPaymentOpData.orbitalPrivateTransfer = parseInt(that.cardPaymentOpData.orbitalPrivateTransfer)
|
|
|
|
|
|
+ that.cardPaymentOpData.orbitalPrivateTransfer = parseInt(creData.orbitalPrivateTransfer)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -670,13 +812,13 @@ export default {
|
|
this.airTicketAgentsId = '';
|
|
this.airTicketAgentsId = '';
|
|
for (var i = 0; i < this.cardType.length; i++) {
|
|
for (var i = 0; i < this.cardType.length; i++) {
|
|
if (this.cardType[i].id == parseInt(id)) {
|
|
if (this.cardType[i].id == parseInt(id)) {
|
|
- console.log(this.cardType[i].remark)
|
|
|
|
this.cardPaymentOpData.bankNo = this.cardType[i].remark
|
|
this.cardPaymentOpData.bankNo = this.cardType[i].remark
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//单价值改变事件
|
|
//单价值改变事件
|
|
peiceinput() {
|
|
peiceinput() {
|
|
|
|
+ debugger
|
|
this.cardPaymentOpData.payMoney = parseFloat(parseFloat(this.airTicketResOpData.prePrice) * parseFloat(this.airTicketResOpData.clientNum)).toFixed(2)
|
|
this.cardPaymentOpData.payMoney = parseFloat(parseFloat(this.airTicketResOpData.prePrice) * parseFloat(this.airTicketResOpData.clientNum)).toFixed(2)
|
|
this.cardPaymentOpData.payThenMoney = this.cardPaymentOpData.payMoney
|
|
this.cardPaymentOpData.payThenMoney = this.cardPaymentOpData.payMoney
|
|
this.airTicketResOpData.price = parseFloat(parseFloat(this.airTicketResOpData.prePrice) * parseFloat(this.airTicketResOpData.clientNum)).toFixed(2)
|
|
this.airTicketResOpData.price = parseFloat(parseFloat(this.airTicketResOpData.prePrice) * parseFloat(this.airTicketResOpData.clientNum)).toFixed(2)
|
|
@@ -685,16 +827,170 @@ export default {
|
|
this.cardPaymentOpData.paymentCurrency = Id;
|
|
this.cardPaymentOpData.paymentCurrency = Id;
|
|
this.airTicketResOpData.preCurrency = Id;
|
|
this.airTicketResOpData.preCurrency = Id;
|
|
this.airTicketResOpData.currency = Id;
|
|
this.airTicketResOpData.currency = Id;
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ //航班描述值改变事件
|
|
|
|
+ flightsCodeChange(val) {
|
|
|
|
+ var reg = /[\r\n]+/g;
|
|
|
|
+ var that = this;
|
|
|
|
+ that.airTicketResOpData.flightsCode = ''
|
|
|
|
+ that.airTicketResOpData.flightsCity = ''
|
|
|
|
+ var dateTime = [];
|
|
|
|
+ if (reg.test(val)) {
|
|
|
|
+ debugger
|
|
|
|
+ var attrsList = val.split(reg)
|
|
|
|
+ attrsList.forEach(function (item, index) {
|
|
|
|
+ debugger
|
|
|
|
+ var ss = item.split(' ')
|
|
|
|
+ for (var i = 0; i < ss.length; i++) {
|
|
|
|
+ ss[i] = ss[i].trim();
|
|
|
|
+ if (!ss[i]) {
|
|
|
|
+ ss.splice(i, 1);
|
|
|
|
+ i--;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ss = ss;
|
|
|
|
+ debugger
|
|
|
|
+ that.airTicketResOpData.flightsCode += ss[1] + '/'//航班号
|
|
|
|
+ that.airTicketResOpData.flightsCity += ss[4].substring(0, 3) + '-' + ss[4].substring(3) + '/'//城市
|
|
|
|
+ var dateStr = ss[3].substring(4)
|
|
|
|
+ switch (dateStr) {
|
|
|
|
+ case "JAN":
|
|
|
|
+ dateStr = "01";
|
|
|
|
+ break;
|
|
|
|
+ case "FEB":
|
|
|
|
+ dateStr = "02";
|
|
|
|
+ break;
|
|
|
|
+ case "MAR":
|
|
|
|
+ dateStr = "03";
|
|
|
|
+ break;
|
|
|
|
+ case "APR":
|
|
|
|
+ dateStr = "04";
|
|
|
|
+ break;
|
|
|
|
+ case "MAY":
|
|
|
|
+ dateStr = "05";
|
|
|
|
+ break;
|
|
|
|
+ case "JUN":
|
|
|
|
+ dateStr = "06";
|
|
|
|
+ break;
|
|
|
|
+ case "JUL":
|
|
|
|
+ dateStr = "07";
|
|
|
|
+ break;
|
|
|
|
+ case "AUG":
|
|
|
|
+ dateStr = "08";
|
|
|
|
+ break;
|
|
|
|
+ case "SEP":
|
|
|
|
+ dateStr = "09";
|
|
|
|
+ break;
|
|
|
|
+ case "OCT":
|
|
|
|
+ dateStr = "10";
|
|
|
|
+ break;
|
|
|
|
+ case "NOV":
|
|
|
|
+ dateStr = "11";
|
|
|
|
+ break;
|
|
|
|
+ case "DEC":
|
|
|
|
+ dateStr = "12";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ dateTime.push({
|
|
|
|
+ date: new Date(new Date().getFullYear() + '-' + dateStr + '-' + ss[3].substring(2, 4)),
|
|
|
|
+ time: ss[6].substring(0, 2) + ':' + ss[6].substring(2)
|
|
|
|
+ })//日期
|
|
|
|
+ });
|
|
|
|
+ that.airTicketResOpData.flightsCode = that.airTicketResOpData.flightsCode.substring(0, that.airTicketResOpData.flightsCode.length - 1)//航班号
|
|
|
|
+ that.airTicketResOpData.flightsCity = that.airTicketResOpData.flightsCity.substring(0, that.airTicketResOpData.flightsCity.length - 1)//城市
|
|
|
|
+
|
|
|
|
+ var compare = function (obj1, obj2) {
|
|
|
|
+ var val1 = obj1.date;
|
|
|
|
+ var val2 = obj2.date;
|
|
|
|
+ if (val1 < val2) {
|
|
|
|
+ return -1;
|
|
|
|
+ } else if (val1 > val2) {
|
|
|
|
+ return 1;
|
|
|
|
+ } else {
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ dateTime = dateTime.sort(compare);
|
|
|
|
+ that.airTicketResOpData.flightsTime = dateTime[dateTime.length - 1].time
|
|
|
|
+ that.airTicketResOpData.flightsDate = dateTime[dateTime.length - 1].date
|
|
|
|
+ } else {
|
|
|
|
+ var ss = val.split(' ')
|
|
|
|
+ for (var i = 0; i < ss.length; i++) {
|
|
|
|
+ ss[i] = ss[i].trim();
|
|
|
|
+ if (!ss[i]) {
|
|
|
|
+ ss.splice(i, 1);
|
|
|
|
+ i--;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ss = ss;
|
|
|
|
+ that.airTicketResOpData.flightsCode = ss[1]//航班号
|
|
|
|
+ that.airTicketResOpData.flightsCity += ss[4].substring(0, 3) + '-' + ss[4].substring(3)//城市
|
|
|
|
+ that.airTicketResOpData.flightsTime = ss[6].substring(0, 2) + ':' + ss[6].substring(2)//时间
|
|
|
|
+ debugger
|
|
|
|
+ var dateStr = ss[3].substring(4)
|
|
|
|
+ switch (dateStr) {
|
|
|
|
+ case "JAN":
|
|
|
|
+ dateStr = "01";
|
|
|
|
+ break;
|
|
|
|
+ case "FEB":
|
|
|
|
+ dateStr = "02";
|
|
|
|
+ break;
|
|
|
|
+ case "MAR":
|
|
|
|
+ dateStr = "03";
|
|
|
|
+ break;
|
|
|
|
+ case "APR":
|
|
|
|
+ dateStr = "04";
|
|
|
|
+ break;
|
|
|
|
+ case "MAY":
|
|
|
|
+ dateStr = "05";
|
|
|
|
+ break;
|
|
|
|
+ case "JUN":
|
|
|
|
+ dateStr = "06";
|
|
|
|
+ break;
|
|
|
|
+ case "JUL":
|
|
|
|
+ dateStr = "07";
|
|
|
|
+ break;
|
|
|
|
+ case "AUG":
|
|
|
|
+ dateStr = "08";
|
|
|
|
+ break;
|
|
|
|
+ case "SEP":
|
|
|
|
+ dateStr = "09";
|
|
|
|
+ break;
|
|
|
|
+ case "OCT":
|
|
|
|
+ dateStr = "10";
|
|
|
|
+ break;
|
|
|
|
+ case "NOV":
|
|
|
|
+ dateStr = "11";
|
|
|
|
+ break;
|
|
|
|
+ case "DEC":
|
|
|
|
+ dateStr = "12";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ that.airTicketResOpData.flightsDate = new Date().getFullYear() + '-' + dateStr + '-' + ss[3].substring(2, 4)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+
|
|
},
|
|
},
|
|
|
|
|
|
mounted() {
|
|
mounted() {
|
|
|
|
|
|
this.token = JSON.parse(localStorage.getItem('userinif')).token;
|
|
this.token = JSON.parse(localStorage.getItem('userinif')).token;
|
|
this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
|
|
this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
|
|
- this.AirTicketResSelect();
|
|
|
|
|
|
+
|
|
this.id = this.$route.query.id
|
|
this.id = this.$route.query.id
|
|
this.DiId = this.$route.query.DiId
|
|
this.DiId = this.$route.query.DiId
|
|
|
|
+ this.AirTicketResSelect()
|
|
|
|
+ var that = this
|
|
|
|
+ if (that.DiId != undefined && that.id != undefined) {
|
|
|
|
+ that.status = 2;
|
|
|
|
+ that.isShow = true
|
|
|
|
+ that.AirTicketResById();
|
|
|
|
+ } else {
|
|
|
|
+ that.isShow = false
|
|
|
|
+ that.status = 1;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|