Commit 30e913f7 authored by 吴春's avatar 吴春

解决冲突

parents 62fedaa4 ed623665
...@@ -149,7 +149,6 @@ ...@@ -149,7 +149,6 @@
<div class="contForm"> <div class="contForm">
<el-form :model="addMsg" ref="addMsg" label-position="right" :rules="rules" label-width="100px"> <el-form :model="addMsg" ref="addMsg" label-position="right" :rules="rules" label-width="100px">
<li> <li>
<el-form-item :label="$t('visaT.nationality')" prop="Nationality"> <el-form-item :label="$t('visaT.nationality')" prop="Nationality">
<el-select v-model="addMsg.Nationality" filterable size=mini class="w230"> <el-select v-model="addMsg.Nationality" filterable size=mini class="w230">
<el-option v-for="item in countryList" :key="item.ID" :label="item.Name" :value="item.ID"> <el-option v-for="item in countryList" :key="item.ID" :label="item.Name" :value="item.ID">
...@@ -158,23 +157,10 @@ ...@@ -158,23 +157,10 @@
</el-form-item> </el-form-item>
</li> </li>
<li v-if="addMsg.Nationality==2"> <li v-if="addMsg.Nationality==2">
<el-form-item <el-form-item :label="$t('visaT.Chinesesurname')" prop="SurNameID">
:label="$t('visaT.Chinesesurname')" prop="SurNameID"> <el-select class="w230" ref="options" v-model="addMsg.SurNameID" filterable remote reserve-keyword
<el-select placeholder="请输入关键词" :remote-method="(query)=>remoteMethod(query,1)" @change="(e)=>getName(e,1)">
class="w230" <el-option v-for="item in options" :key="item.value" :label="`${item.name}`" :value="item.value">
ref="options"
v-model="addMsg.SurNameID"
filterable
remote
reserve-keyword
placeholder="请输入关键词"
:remote-method="(query)=>remoteMethod(query,1)"
@change="(e)=>getName(e,1)">
<el-option
v-for="item in options"
:key="item.value"
:label="`${item.name}`"
:value="item.value">
<span style="float: left">{{ item.label }}</span> <span style="float: left">{{ item.label }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</span> <span style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</span>
</el-option> </el-option>
...@@ -182,23 +168,11 @@ ...@@ -182,23 +168,11 @@
</el-form-item> </el-form-item>
</li> </li>
<li v-if="addMsg.Nationality==2"> <li v-if="addMsg.Nationality==2">
<el-form-item <el-form-item :label="$t('admin.admin_Surname')" prop="NameID">
:label="$t('admin.admin_Surname')" prop="NameID"> <el-select class="w230" ref="optionsNames" v-model="addMsg.NameID" filterable remote reserve-keyword
<el-select :placeholder="$t('rule.qsrzwm')" :remote-method="(query)=>remoteMethod(query)"
class="w230"
ref="optionsNames"
v-model="addMsg.NameID"
filterable
remote
reserve-keyword
:placeholder="$t('rule.qsrzwm')"
:remote-method="(query)=>remoteMethod(query)"
@change="(e)=>getName(e)"> @change="(e)=>getName(e)">
<el-option <el-option v-for="item in optionsNames" :key="item.value" :label="`${item.name}`" :value="item.value">
v-for="item in optionsNames"
:key="item.value"
:label="`${item.name}`"
:value="item.value">
<span style="float: left">{{ item.label }}</span> <span style="float: left">{{ item.label }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</span> <span style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</span>
</el-option> </el-option>
...@@ -228,11 +202,11 @@ ...@@ -228,11 +202,11 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
</li> </li>
<li > <li>
<!-- v-if="LineId === 14 || LineId === 2" --> <!--国内线且国籍是中国的才验证身份证-->
<el-form-item :label="$t('admin.admin_IDcard')" prop="IdCard" v-if="addMsg.Nationality==2"> <el-form-item :label="$t('admin.admin_IDcard')" prop="IdCard" v-if="LineId==90&&addMsg.Nationality==2">
<el-input v-model="addMsg.IdCard" type="text" :class=" IdCardSure ? '' : 'colorRed'" size=mini class="w230" <el-input v-model="addMsg.IdCard" type="text" :class=" IdCardSure ? '' : 'colorRed'" size=mini
:placeholder="$t('visaT.Pleasefillin')" @blur.prevent="authentication()"> class="w230" :placeholder="$t('visaT.Pleasefillin')" @blur.prevent="authentication()">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('admin.admin_IDcard')" v-else> <el-form-item :label="$t('admin.admin_IDcard')" v-else>
...@@ -265,8 +239,8 @@ ...@@ -265,8 +239,8 @@
:placeholder="$t('visaT.ptxPassportNo')"></el-input> :placeholder="$t('visaT.ptxPassportNo')"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('system.table_Passport')" prop="PassportNo" v-else> <el-form-item :label="$t('system.table_Passport')" prop="PassportNo" v-else>
<el-input v-model='addMsg.PassportNo' :class=" PassportNoSure ? '' : 'colorRed'" type="text" size=mini class="w230" <el-input v-model='addMsg.PassportNo' :class=" PassportNoSure ? '' : 'colorRed'" type="text" size=mini
@change="isValidPassport" :placeholder="$t('visaT.ptxPassportNo')"></el-input> class="w230" @change="isValidPassport" :placeholder="$t('visaT.ptxPassportNo')"></el-input>
</el-form-item> </el-form-item>
</li> </li>
<li> <li>
...@@ -685,11 +659,11 @@ ...@@ -685,11 +659,11 @@
</el-form> </el-form>
</div> </div>
<p style="text-align: center; padding: 20px 0;"> <p style="text-align: center; padding: 20px 0;">
<input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="goBack" /> <el-button plain @click="goBack" size="small">{{$t('pub.cancelBtn')}}</el-button>
<input type="button" class="normalBtn" :value="$t('pub.saveBtn')" <el-button type="primary" :loading="btnState" @click="submitForm('addMsg',1)" size="small">{{$t('pub.saveBtn')}}
:style="btnState===true?'':'background-color: gray'" @click="submitForm('addMsg',1)" /> </el-button>
<input v-if="this.addMsg.Id==0" type="button" class="normalBtn" :value="$t('objFill.baocbjxtj')" <el-button v-if="addMsg.Id==0" type="primary" :loading="btnState" @click="submitForm('addMsg',2)" size="small">
:style="btnState===true?'':'background-color: gray'" @click="submitForm('addMsg',2)" /> {{$t('objFill.baocbjxtj')}}</el-button>
</p> </p>
</div> </div>
</template> </template>
...@@ -703,8 +677,8 @@ ...@@ -703,8 +677,8 @@
DutyTypeList: [], DutyTypeList: [],
ppAge: 0, ppAge: 0,
loading: false, loading: false,
PassportNoSure:true, PassportNoSure: true,
IdCardSure:true, IdCardSure: true,
templateType: 1, templateType: 1,
templateSign: "", templateSign: "",
imgBase64String: "", imgBase64String: "",
...@@ -857,7 +831,7 @@ ...@@ -857,7 +831,7 @@
trigger: "blur" trigger: "blur"
}, },
{ {
pattern: /^[0-9a-zA-Z]+$/,//this.isValidPassport(), pattern: /^[0-9a-zA-Z]+$/, //this.isValidPassport(),
message: this.$t('visaT.zqdhzh') message: this.$t('visaT.zqdhzh')
} }
], ],
...@@ -912,11 +886,11 @@ ...@@ -912,11 +886,11 @@
VisaStartStatus: 2, VisaStartStatus: 2,
AirStartStatus: 2, AirStartStatus: 2,
SafeStartStatus: 2, SafeStartStatus: 2,
btnState: true, btnState: false,
roomlist: [], roomlist: [],
isOneDay: 0, isOneDay: 0,
LineId: 0, LineId: 0,
GroupStartDateStr:'',//出发团期 GroupStartDateStr: '', //出发团期
EndDateStr: '', EndDateStr: '',
guoqi: false, guoqi: false,
JingDianList: [], JingDianList: [],
...@@ -925,32 +899,37 @@ ...@@ -925,32 +899,37 @@
}; };
}, },
methods: { methods: {
getName(e,type){ getName(e, type) {
let findIndex let findIndex
if(type) { if (type) {
findIndex = this.options.findIndex(x=>x.value==e) findIndex = this.options.findIndex(x => x.value == e)
let obj = this.options[findIndex] let obj = this.options[findIndex]
this.addMsg.SurName = obj.name.toUpperCase(); this.addMsg.SurName = obj.name.toUpperCase();
this.addMsg.ESurName = obj.label.toUpperCase(); this.addMsg.ESurName = obj.label.toUpperCase();
}else{ } else {
findIndex = this.optionsNames.findIndex(x=>x.value==e) findIndex = this.optionsNames.findIndex(x => x.value == e)
let obj = this.optionsNames[findIndex] let obj = this.optionsNames[findIndex]
this.addMsg.Name = obj.name.toUpperCase(); this.addMsg.Name = obj.name.toUpperCase();
this.addMsg.EName = obj.label.toUpperCase(); this.addMsg.EName = obj.label.toUpperCase();
} }
}, },
remoteMethod(query,type) { remoteMethod(query, type) {
if (query !== '') { if (query !== '') {
if(type==1) { if (type == 1) {
if(query!=this.addMsg.SurName) this.addMsg.SurName = query if (query != this.addMsg.SurName) {
this.Transformation(query,'SurName') this.addMsg.SurName = query;
this.addMsg.SurNameID = "";
}
this.Transformation(query, 'SurName')
} else {
if (query != this.addMsg.Name) {
this.addMsg.Name = query;
this.addMsg.NameID = '';
} }
else { this.Transformation(query, 'Name')
if(query!=this.addMsg.Name) this.addMsg.Name = query
this.Transformation(query,'Name')
} }
} else { } else {
if(type==1) this.options = []; if (type == 1) this.options = [];
else this.optionsNames = [] else this.optionsNames = []
} }
}, },
...@@ -1187,18 +1166,41 @@ ...@@ -1187,18 +1166,41 @@
history.go(-1); history.go(-1);
}, },
submitForm(addMsg, type) { submitForm(addMsg, type) {
if (this.btnState === true) { this.timeOver()
// if(this.LineId!=90&&this.addMsg.Nationality===2&& !this.isValidPassport(this.addMsg.PassportNo)){ var result = this.isValidPassport()
// this.Error(this.$t('visaT.Pleasefillin')+this.$t('visaT.zqdhzh')); if (!result) {
// return false; return;
// } }
if (this.LineId == 90 && this.addMsg.Nationality === 2) {
if (this.addMsg.IdCard == '') {
this.$message.error(this.$t('objFill.qingtxsfzhm'));
return;
}
if (!this.isValidIdCardFormat(this.addMsg.IdCard)) {
this.$message.error("无效的身份证号码");
return;
}
}
this.addMsg.EconomicCapabilityList = [];
this.EconomicCapabilityS.forEach(x => {
if (x.isShow == true) {
this.addMsg.EconomicCapabilityList.push({
Key: x.Name,
Value: x.Content,
ID: x.ID
});
}
});
if (this.addMsg.Marriage == "") {
this.addMsg.Marriage = "0";
}
//提交创建、修改表单 //提交创建、修改表单
this.$refs[addMsg].validate(valid => { this.$refs[addMsg].validate(valid => {
this.btnState = false
if (valid) { if (valid) {
this.savePassenger(type); this.btnState = true;
this.seveInfo(type);
} else { } else {
this.btnState = true this.btnState = false;
if (this.addMsg.Nationality == 2 && this.addMsg.SurName == '') { if (this.addMsg.Nationality == 2 && this.addMsg.SurName == '') {
this.Error(this.$t('objFill.v101.Rest.qingtxgrxx')[0]); this.Error(this.$t('objFill.v101.Rest.qingtxgrxx')[0]);
return false; return false;
...@@ -1254,52 +1256,22 @@ ...@@ -1254,52 +1256,22 @@
return false; return false;
} }
}); });
}
},
savePassenger(type) {
this.timeOver()
var result= this.isValidPassport()
if(!result)
{
return ;
}
if(this.addMsg.Nationality===2&& !this.isValidIdCardFormat(this.addMsg.IdCard)){
this.$message.error("无效的身份证号码");
return ;
}
if ((this.LineId === 14 || this.LineId === 2) && this.addMsg.IdCard === '' && this.addMsg.Nationality == 2) {
return this.$message.error(this.$t('objFill.qingtxsfzhm'));
}
this.addMsg.EconomicCapabilityList = [];
this.EconomicCapabilityS.forEach(x => {
if (x.isShow == true) {
this.addMsg.EconomicCapabilityList.push({
Key: x.Name,
Value: x.Content,
ID: x.ID
});
}
});
if (this.addMsg.Marriage == "") {
this.addMsg.Marriage = "0";
}
this.seveInfo(type)
}, },
seveInfo(type) { seveInfo(type) {
this.apipost( this.apipost(
"sellorder_post_SetTravelGuestInfo_V2", "sellorder_post_SetTravelGuestInfo_V2",
this.addMsg, this.addMsg,
res => { res => {
this.btnState = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.$message.success(res.data.message); this.$message.success(res.data.message);
if (type == 1) { if (type == 1) {
history.go(-1); history.go(-1);
} else { } else {
this.btnState = true
this.ClearData(); this.ClearData();
} }
} else { } else {
this.btnState = true
this.$message.error(res.data.message); this.$message.error(res.data.message);
} }
}, },
...@@ -1345,7 +1317,6 @@ ...@@ -1345,7 +1317,6 @@
} }
return combinations.join(","); return combinations.join(",");
}, },
combinePinyinDP(pinyinArrays) { combinePinyinDP(pinyinArrays) {
const result = []; const result = [];
const dfs = (index, currentStr) => { const dfs = (index, currentStr) => {
...@@ -1360,16 +1331,14 @@ ...@@ -1360,16 +1331,14 @@
dfs(0, ""); dfs(0, "");
return result.join(","); return result.join(",");
}, },
Transformation(val, type, input) {
Transformation(val, type,input) {
let text = this.pinyin(val, { let text = this.pinyin(val, {
heteronym: true, // 启用多音字模式 heteronym: true, // 启用多音字模式
style: this.pinyin.STYLE_NORMAL, style: this.pinyin.STYLE_NORMAL,
segment: true segment: true
}); });
// 如果当前字是 "茜",则替换为自定义拼音 // 如果当前字是 "茜",则替换为自定义拼音
if(val.includes('茜')){ if (val.includes('茜')) {
text = text.map(pinyinArr => { text = text.map(pinyinArr => {
if (pinyinArr[0] === 'qian') { // 默认返回的是 qian if (pinyinArr[0] === 'qian') { // 默认返回的是 qian
return ['qiàn', 'xī']; // 替换成自定义多音字 return ['qiàn', 'xī']; // 替换成自定义多音字
...@@ -1377,77 +1346,71 @@ ...@@ -1377,77 +1346,71 @@
return pinyinArr; return pinyinArr;
}); });
} }
console.log("text",text);
const pinyinArray = text const pinyinArray = text
const result = this.combinePinyinDP(pinyinArray); const result = this.combinePinyinDP(pinyinArray);
if (type == "SurName") { if (type == "SurName") {
let upText = result let upText = result
// this.addMsg.ESurName = upText;
this.options = [] this.options = []
let names = upText.split(',') let names = upText.split(',')
names.forEach((x,index)=>{ names.forEach((x, index) => {
this.options.push({ this.options.push({
label: x.toUpperCase(), label: x.toUpperCase(),
value: index+1, value: index + 1,
name: this.addMsg.SurName.toUpperCase(), name: this.addMsg.SurName.toUpperCase(),
}) })
}) })
if(names!=null&&names.length==1){ if (names != null && names.length == 1) {
if(input){ if (input) {
this.addMsg.SurNameID = this.options[0].value; this.addMsg.SurNameID = this.options[0].value;
this.addMsg.ESurName = this.options[0].label; this.addMsg.ESurName = this.options[0].label;
}else{ } else {
setTimeout(() => { setTimeout(() => {
this.addMsg.SurNameID = this.options[0].value; this.addMsg.SurNameID = this.options[0].value;
this.addMsg.ESurName = this.options[0].label; this.addMsg.ESurName = this.options[0].label;
}, 500); }, 500);
} }
} else {
}else{ let findIndex = this.options.findIndex(x => x.label == this.addMsg.ESurName)
let findIndex = this.options.findIndex(x=>x.label==this.addMsg.ESurName) if (findIndex != -1) {
if(findIndex!=-1){ this.addMsg.SurNameID = this.options[findIndex].value;
this.addMsg.SurNameID=this.options[findIndex].value; } else {
}else{ this.addMsg.SurNameID = '';
this.addMsg.SurNameID=''; this.addMsg.ESurName = '';
this.addMsg.ESurName='';
} }
} }
this.$forceUpdate() this.$forceUpdate()
} }
if (type == "Name") { if (type == "Name") {
let upText = result let upText = result
// this.addMsg.EName = upText;
this.optionsNames = [] this.optionsNames = []
let names = upText.split(',') let names = upText.split(',')
names.forEach((x,index)=>{ names.forEach((x, index) => {
this.optionsNames.push({ this.optionsNames.push({
label: x.toUpperCase(), label: x.toUpperCase(),
value: index+1, value: index + 1,
name: this.addMsg.Name.toUpperCase(), name: this.addMsg.Name.toUpperCase(),
}) })
}) })
if(names!=null&&names.length==1){ if (names != null && names.length == 1) {
if(input){ if (input) {
this.addMsg.NameID = this.optionsNames[0].value; this.addMsg.NameID = this.optionsNames[0].value;
this.addMsg.EName = this.optionsNames[0].label; this.addMsg.EName = this.optionsNames[0].label;
}else{ } else {
setTimeout(() => { setTimeout(() => {
if(this.optionsNames.length>0){ if (this.optionsNames.length > 0) {
this.addMsg.NameID=this.optionsNames[0].value; this.addMsg.NameID = this.optionsNames[0].value;
this.addMsg.EName=this.optionsNames[0].label; this.addMsg.EName = this.optionsNames[0].label;
} }
}, 500); }, 500);
} }
}else{ } else {
let findIndex = this.optionsNames.findIndex(x=>x.label==this.addMsg.EName) let findIndex = this.optionsNames.findIndex(x => x.label == this.addMsg.EName)
if(findIndex!=-1){ if (findIndex != -1) {
this.addMsg.NameID=this.optionsNames[findIndex].value; this.addMsg.NameID = this.optionsNames[findIndex].value;
return return
} }
this.addMsg.NameID=''; this.addMsg.NameID = '';
this.addMsg.EName=''; this.addMsg.EName = '';
} }
} }
this.$forceUpdate() this.$forceUpdate()
...@@ -1556,6 +1519,28 @@ ...@@ -1556,6 +1519,28 @@
} }
return isCheck; return isCheck;
}, },
//中国护照验证逻辑
isValidPassport: function () {
var isCheck = true;
if (this.addMsg.PassportNo.length !== 9) {
this.$message.error("请输入9位护照号")
isCheck = false;
return;
}
if (this.addMsg.Nationality === 2) {
// 单个字母开头(E或G)后跟8位数字
const pattern1 = /^[EGH][0-9]{8}$/;
// 两个字母开头(E开头,第二个字母不能是I或O)后跟7位数字
const pattern2 = /^E[A-HJ-NP-Z][0-9]{7}$/;
this.PassportNoSure = pattern1.test(this.addMsg.PassportNo) || pattern2.test(this.addMsg.PassportNo);
if (!this.PassportNoSure) {
this.$message.error("护照格式不正确")
isCheck = false;
return;
}
}
return isCheck;
},
getVisaApplyForTypeEnum() { getVisaApplyForTypeEnum() {
// 获取申请类型 // 获取申请类型
this.apipost( this.apipost(
...@@ -1653,8 +1638,8 @@ ...@@ -1653,8 +1638,8 @@
if (this.$route.query.isOneDay === 1) { if (this.$route.query.isOneDay === 1) {
this.addMsg.IsBed = 0 this.addMsg.IsBed = 0
} }
this.Transformation(this.addMsg.SurName,'SurName',1) this.Transformation(this.addMsg.SurName, 'SurName', 1)
this.Transformation(this.addMsg.Name,'Name',2) this.Transformation(this.addMsg.Name, 'Name', 2)
} else { } else {
this.$message.error(); this.$message.error();
} }
...@@ -1690,6 +1675,10 @@ ...@@ -1690,6 +1675,10 @@
); );
}, },
ClearData() { ClearData() {
this.options = [];
this.optionsNames = [];
this.addMsg.SurNameID = "";
this.addMsg.NameID = "";
this.addMsg.SurName = ""; this.addMsg.SurName = "";
this.addMsg.Name = ""; this.addMsg.Name = "";
this.addMsg.Sex = ""; this.addMsg.Sex = "";
...@@ -1863,16 +1852,22 @@ ...@@ -1863,16 +1852,22 @@
this.addMsg.TCID = this.$route.query.TCID; this.addMsg.TCID = this.$route.query.TCID;
this.addMsg.OrderId = this.$route.query.orderId; this.addMsg.OrderId = this.$route.query.orderId;
this.Roominformation() //调取下房间信息 this.Roominformation() //调取下房间信息
this.Transformation(this.addMsg.SurName, 'SurName', 1)
this.Transformation(this.addMsg.Name, 'Name', 2)
if (this.LineId == 90 && this.addMsg.Nationality == 2) {
this.addMsg.Birthday = this.getBirthdayFromIdCard(IdCard);
}
} }
}, },
err => {} err => {}
); );
} }
} }
if (this.LineId == 90 && this.addMsg.Nationality == 2) {
this.addMsg.Birthday = this.getBirthdayFromIdCard(IdCard); this.addMsg.Birthday = this.getBirthdayFromIdCard(IdCard);
}
}, },
//验证身份证号码
isValidIdCardFormat(idCard) { isValidIdCardFormat(idCard) {
const reg = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/; const reg = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/;
return reg.test(idCard); return reg.test(idCard);
...@@ -1881,16 +1876,14 @@ ...@@ -1881,16 +1876,14 @@
// 去除空格并转换为大写(处理末尾可能的小写x) // 去除空格并转换为大写(处理末尾可能的小写x)
idCard = (idCard || '').trim().toUpperCase(); idCard = (idCard || '').trim().toUpperCase();
const len = idCard.length; const len = idCard.length;
if (len > 0) {
// 验证身份证长度 // 验证身份证长度
if (len !== 15 && len !== 18) { if (len !== 15 && len !== 18) {
this.$message.error("无效的身份证号码"); this.$message.error("无效的身份证号码");
this.IdCardSure=false; this.IdCardSure = false;
return ""; return "";
} }
let year, month, day; let year, month, day;
if (len === 15) { // 15位身份证 if (len === 15) { // 15位身份证
year = '19' + idCard.substring(6, 8); // 年份补19前缀 year = '19' + idCard.substring(6, 8); // 年份补19前缀
month = idCard.substring(8, 10); month = idCard.substring(8, 10);
...@@ -1900,17 +1893,17 @@ ...@@ -1900,17 +1893,17 @@
month = idCard.substring(10, 12); month = idCard.substring(10, 12);
day = idCard.substring(12, 14); day = idCard.substring(12, 14);
} }
// 日期有效性验证 // 日期有效性验证
const date = new Date(`${year}-${month}-${day}`); const date = new Date(`${year}-${month}-${day}`);
if (isNaN(date.getTime())) { if (isNaN(date.getTime())) {
this.$message.error("身份证中的出生日期无效"); this.$message.error("身份证中的出生日期无效");
this.IdCardSure=false; this.IdCardSure = false;
return ""; return "";
} }
this.IdCardSure=true; this.IdCardSure = true;
// 返回格式化的出生日期(YYYY-MM-DD) // 返回格式化的出生日期(YYYY-MM-DD)
return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`; return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`;
}
}, },
getData: function () { getData: function () {
......
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<template v-if="isOrder==0"> <template v-if="isOrder==0">
<span style="color:red;">{{$t('objFill.opygbddcz')}}</span> <span style="color:red;">{{$t('objFill.opygbddcz')}}</span>
</template> </template>
<template v-if="isOrder==1 && !isDis" > <div v-show="tableList.length<guestNum&&IsLeaderOrder>0" @click="showSetLeader=true;getBranchList()">{{$t('objFill.v101.Rest.xuanzhelddy')}}</div> <template v-if="isOrder==1 && !isDis">
<div v-show="tableList.length<guestNum&&IsLeaderOrder>0" @click="showSetLeader=true;getBranchList()">
{{$t('objFill.v101.Rest.xuanzhelddy')}}</div>
<div v-show="tableList.length<guestNum" @click="goUrlA(0)">{{$t('pub.addBtn')}}</div> <div v-show="tableList.length<guestNum" @click="goUrlA(0)">{{$t('pub.addBtn')}}</div>
</template> </template>
...@@ -57,15 +59,18 @@ ...@@ -57,15 +59,18 @@
<td style="color:red;">{{item.IsHightSchool==1?$t('objFill.xuesheng'):""}}</td> <td style="color:red;">{{item.IsHightSchool==1?$t('objFill.xuesheng'):""}}</td>
<td> <td>
<el-button-group> <el-button-group>
<el-tooltip v-if="isOrder==1 && !isDis" class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start"> <el-tooltip v-if="isOrder==1 && !isDis" class="item" effect="dark" :content="$t('pub.updateMsg')"
placement="top-start">
<el-button type="primary" style='background:#00C6FF; border-color:#00C6FF' <el-button type="primary" style='background:#00C6FF; border-color:#00C6FF'
icon="iconfont icon-bianji-smal" @click="goUrlA(item.Id)"></el-button> icon="iconfont icon-bianji-smal" @click="goUrlA(item.Id)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="isOrder==1 && !isDis" class="item" effect="dark" :content="$t('system.table_delete')" placement="top-start"> <el-tooltip v-if="isOrder==1 && !isDis" class="item" effect="dark" :content="$t('system.table_delete')"
placement="top-start">
<el-button type="primary" style='background:#e95252; border-color:#e95252' <el-button type="primary" style='background:#e95252; border-color:#e95252'
icon="iconfont icon-shanchu" @click="pal_del(item)"></el-button> icon="iconfont icon-shanchu" @click="pal_del(item)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="isOrder==1 && !isDis" class="item" effect="dark" :content="$t('objFill.xiazasqb')" placement="top-start"> <el-tooltip v-if="isOrder==1 && !isDis" class="item" effect="dark" :content="$t('objFill.xiazasqb')"
placement="top-start">
<el-button type="primary" style='background:#9E8DE3; border-color:#9E8DE3' <el-button type="primary" style='background:#9E8DE3; border-color:#9E8DE3'
icon="iconfont icon-img_download" @click="goUrlB(item.Id)"></el-button> icon="iconfont icon-img_download" @click="goUrlB(item.Id)"></el-button>
</el-tooltip> </el-tooltip>
...@@ -80,7 +85,6 @@ ...@@ -80,7 +85,6 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="combottomDiv" v-if="showSetLeader" v-loading="loadingSet"> <div class="combottomDiv" v-if="showSetLeader" v-loading="loadingSet">
<div class="combottomTitle">{{ $t("ground.szlindui") }}</div> <div class="combottomTitle">{{ $t("ground.szlindui") }}</div>
<div class="clearfix"> <div class="clearfix">
...@@ -103,7 +107,8 @@ ...@@ -103,7 +107,8 @@
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="$t('system.query_name')" prop="lineCode"> <el-form-item :label="$t('system.query_name')" prop="lineCode">
<el-input v-model="leaderQueryMsg.LeaderName" @keyup.enter.native="getLeaderList" :placeholder="$t('tips.srgjzjxguolv')"></el-input> <el-input v-model="leaderQueryMsg.LeaderName" @keyup.enter.native="getLeaderList"
:placeholder="$t('tips.srgjzjxguolv')"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
...@@ -123,7 +128,7 @@ ...@@ -123,7 +128,7 @@
</div> </div>
<div class="RL_ListDiv"> <div class="RL_ListDiv">
<div class="LeaderSpan" :class="{ ckedClass: ckedIndex == index }" v-for="(item, index) in leaderListArr" <div class="LeaderSpan" :class="{ ckedClass: ckedIndex == index }" v-for="(item, index) in leaderListArr"
:key="item.subCode" @click="getLeaderInfo(index, item.LeaderId)" style="margin:5px 0px 0px 5px;" > :key="item.subCode" @click="getLeaderInfo(index, item.LeaderId)" style="margin:5px 0px 0px 5px;">
<span class="RL_LeaderName">{{ item.LeaderName }}:{{item.IdCard }}/ {{item.Passport }} /{{item.MobilePhone }}【{{ <span class="RL_LeaderName">{{ item.LeaderName }}:{{item.IdCard }}/ {{item.Passport }} /{{item.MobilePhone }}【{{
getLeaderTypeStr(item.Type, item.LeaderGuidClass) getLeaderTypeStr(item.Type, item.LeaderGuidClass)
}}】</span> }}】</span>
...@@ -133,9 +138,8 @@ ...@@ -133,9 +138,8 @@
</div> </div>
</div> </div>
<div class="clearfix " style="float: left;width: 5%;"> <div class="clearfix " style="float: left;width: 5%;">
<div > <div>
<input type="button" class="normalBtn" @click="setTheLeader" <input type="button" class="normalBtn" @click="setTheLeader" :value="$t('pub.sureBtn')" />
:value="$t('pub.sureBtn')" />
</div> </div>
</div> </div>
</div> </div>
...@@ -155,10 +159,10 @@ ...@@ -155,10 +159,10 @@
tcid: '0', tcid: '0',
tcnum: '0' tcnum: '0'
}, },
setMsg:{ setMsg: {
OrderId:0, OrderId: 0,
TCID:0, TCID: 0,
NewGuestId:0, NewGuestId: 0,
}, },
guestNum: 0, guestNum: 0,
isOrder: 0, isOrder: 0,
...@@ -167,7 +171,7 @@ ...@@ -167,7 +171,7 @@
LineId: 0, LineId: 0,
EndDateStr: "", EndDateStr: "",
isDis: false, isDis: false,
IsLeaderOrder:0, IsLeaderOrder: 0,
leaderQueryMsg: { leaderQueryMsg: {
QTCID: 0, QTCID: 0,
CountryID: 0, CountryID: 0,
...@@ -177,13 +181,13 @@ ...@@ -177,13 +181,13 @@
}, },
//验证重复提交 //验证重复提交
isSubmit: true, isSubmit: true,
ckedIndex:-1, ckedIndex: -1,
//领队或者领兼地 //领队或者领兼地
isLeaderType: "", isLeaderType: "",
leaderTypeArray: [{ leaderTypeArray: [{
Id: 0, Id: 0,
Text: this.$t('objFill.qingxuanzhe'), Text: this.$t('objFill.qingxuanzhe'),
},{ }, {
Id: 2, Id: 2,
Text: this.$t('objFill.lingduijdy'), Text: this.$t('objFill.lingduijdy'),
}, },
...@@ -198,8 +202,8 @@ ...@@ -198,8 +202,8 @@
], ],
//分公司列表 //分公司列表
BranchList: [], BranchList: [],
showSetLeader:false, showSetLeader: false,
loadingSet:false, loadingSet: false,
leaderListArr: [], leaderListArr: [],
}; };
}, },
...@@ -229,17 +233,16 @@ ...@@ -229,17 +233,16 @@
} }
}, },
//点击选中名单 //点击选中名单
getLeaderInfo(index,LeaderId) { getLeaderInfo(index, LeaderId) {
this.ckedIndex = index; this.ckedIndex = index;
this.setMsg.NewGuestId=LeaderId this.setMsg.NewGuestId = LeaderId
}, },
getLeaderTypeStr: function (type, clas) { getLeaderTypeStr: function (type, clas) {
if (type == 2) { if (type == 2) {
return this.$t('leader.leader_leaderDi'); return this.$t('leader.leader_leaderDi');
} else if (type ==3) { } else if (type == 3) {
return this.$t('leader.leader_Guide'); return this.$t('leader.leader_Guide');
} } else if (type == 1 && clas == 0) {
else if (type == 1 && clas == 0) {
return this.$t('leader.leader_Leader'); return this.$t('leader.leader_Leader');
} else if (type == 1 && clas == 1) { } else if (type == 1 && clas == 1) {
return this.$t('op.THLeader'); return this.$t('op.THLeader');
...@@ -275,11 +278,11 @@ ...@@ -275,11 +278,11 @@
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.leaderListArr = res.data.data.LeaderData; this.leaderListArr = res.data.data.LeaderData;
this.ScheduleArray = res.data.data.ScheduleData; this.ScheduleArray = res.data.data.ScheduleData;
if (this.leaderQueryMsg.LeaderType == 1) {//1领队2领队兼导游3导游 if (this.leaderQueryMsg.LeaderType == 1) { //1领队2领队兼导游3导游
this.isLeaderType = this.$t('leader.leader_Leader'); this.isLeaderType = this.$t('leader.leader_Leader');
} else if (this.leaderQueryMsg.LeaderType == 2){ } else if (this.leaderQueryMsg.LeaderType == 2) {
this.isLeaderType = this.$t('leader.leader_leaderDi'); this.isLeaderType = this.$t('leader.leader_leaderDi');
}else if (this.leaderQueryMsg.LeaderType == 3){ } else if (this.leaderQueryMsg.LeaderType == 3) {
this.isLeaderType = this.$t('leader.leader_Guide'); this.isLeaderType = this.$t('leader.leader_Guide');
} }
} }
...@@ -298,8 +301,8 @@ ...@@ -298,8 +301,8 @@
this.isOneDay = res.data.data.IsOneDay; this.isOneDay = res.data.data.IsOneDay;
this.LineId = res.data.data.LineId; this.LineId = res.data.data.LineId;
this.EndDateStr = res.data.data.EndDateStr; this.EndDateStr = res.data.data.EndDateStr;
this.IsLeaderOrder= res.data.data.IsLeaderOrder; this.IsLeaderOrder = res.data.data.IsLeaderOrder;
this.leaderQueryMsg.QTCID= res.data.data.TCID; this.leaderQueryMsg.QTCID = res.data.data.TCID;
} else { } else {
this.$message.error(res.data.message) this.$message.error(res.data.message)
} }
...@@ -307,19 +310,20 @@ ...@@ -307,19 +310,20 @@
}); });
}, },
pal_del: function (item) { pal_del: function (item) {
var that = this;
this.$confirm(this.$t('objFill.shifouscglvke'), this.$t('tips.tips'), { this.$confirm(this.$t('objFill.shifouscglvke'), this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'), confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'), cancelButtonText: this.$t('pub.cancelBtn'),
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.apipost('sellorder_post_DelTravelGuestInfo', { that.apipost('sellorder_post_DelTravelGuestInfo', {
GuestId: item.Id GuestId: item.Id
}, res => { }, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.$message.Success(this.$t('tips.shanchuchenggong')) that.Success(that.$t('tips.shanchuchenggong'))
this.getData() that.getData()
} else { } else {
this.$message.error(res.data.message) that.Error(res.data.message)
} }
}, err => {}) }, err => {})
}) })
...@@ -377,17 +381,20 @@ ...@@ -377,17 +381,20 @@
background-color: #e95252 !important; background-color: #e95252 !important;
color: #fff; color: #fff;
} }
.RL_ListDiv { .RL_ListDiv {
width: 100%; width: 100%;
height: 174px; height: 174px;
overflow: auto; overflow: auto;
} }
.RL_LeaderListDiv { .RL_LeaderListDiv {
width: 200px; width: 200px;
height: 206px; height: 206px;
margin-left: 30px; margin-left: 30px;
border: 1px solid #d1d1d1; border: 1px solid #d1d1d1;
} }
.RL_infoDiv { .RL_infoDiv {
width: 260px; width: 260px;
height: 140px; height: 140px;
...@@ -395,6 +402,7 @@ ...@@ -395,6 +402,7 @@
padding: 10px; padding: 10px;
font-size: 14px; font-size: 14px;
} }
.RL_LeaderTitle { .RL_LeaderTitle {
width: 100%; width: 100%;
height: 30px; height: 30px;
...@@ -404,6 +412,7 @@ ...@@ -404,6 +412,7 @@
line-height: 30px; line-height: 30px;
font-size: 14px; font-size: 14px;
} }
.RL_LeaderName { .RL_LeaderName {
display: inline-block; display: inline-block;
min-width: 50px; min-width: 50px;
...@@ -414,6 +423,7 @@ ...@@ -414,6 +423,7 @@
float: left; float: left;
margin-right: 20px; margin-right: 20px;
} }
.passengerSaleList { .passengerSaleList {
width: 100%; width: 100%;
} }
...@@ -479,7 +489,7 @@ ...@@ -479,7 +489,7 @@
} }
/*拒签人员*/ /*拒签人员*/
.passengerSaleList_table .redTr td{ .passengerSaleList_table .redTr td {
color: #E95252; color: #E95252;
} }
......
...@@ -1532,8 +1532,7 @@ ...@@ -1532,8 +1532,7 @@
<span class="iconfont icon-img_yizi"></span> <span class="iconfont icon-img_yizi"></span>
</li> </li>
<li> <li>
<p class="_num3">{{item.TicketNum==null?'0':item.TicketNum}} <p class="_num3">
<template v-if="item.ChangeNum!=0">
<el-popover placement="top-start" title="变更记录" width="250" trigger="hover"> <el-popover placement="top-start" title="变更记录" width="250" trigger="hover">
<table> <table>
<template v-for="(cItem,cIndex) in item.ChangeList"> <template v-for="(cItem,cIndex) in item.ChangeList">
...@@ -1545,10 +1544,10 @@ ...@@ -1545,10 +1544,10 @@
</tr> </tr>
</template> </template>
</table> </table>
<font style="color:blue" slot="reference"> {{item.ChangeNum>0?'+':''}}{{item.ChangeNum}} <font style="color:blue" slot="reference">
{{item.TicketNum==null?'0':item.TicketNum+item.ChangeNum}}
</font> </font>
</el-popover> </el-popover>
</template>
</p> </p>
<p class="_wz">{{$t('Airticket.Air_reservation')}}</p> <p class="_wz">{{$t('Airticket.Air_reservation')}}</p>
</li> </li>
...@@ -2091,21 +2090,21 @@ ...@@ -2091,21 +2090,21 @@
:disabled="addMsg.TCIDList&&addMsg.TCIDList.length>0"> :disabled="addMsg.TCIDList&&addMsg.TCIDList.length>0">
<template v-if="addMsg.TCIDList&&addMsg.TCIDList.length>0"> <template v-if="addMsg.TCIDList&&addMsg.TCIDList.length>0">
<el-button slot="append"> <el-button slot="append">
<el-popover width="450"> <el-popover width="460">
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody> <tbody>
<template v-for="(rootItem,rootIndex) in addMsg.ChangeList"> <template v-for="(rootItem,rootIndex) in addMsg.ChangeList">
<tr :key="rootIndex"> <tr :key="rootIndex" style="padding-top:5px;">
<td> <td>
团号: 团号:
<el-select v-model="rootItem.RelationTCID" filterable class="w180"> <el-select v-model="rootItem.RelationTCID" filterable class="w180" :suffix-icon="''">
<el-option v-for="(subItem,subIndex) in addMsg.PriceList" <el-option v-for="(subItem,subIndex) in choosePriceList"
:key="subItem.TCID+`_`+subIndex" :value="subItem.TCID" :key="subItem.TCID+`_`+subIndex" :value="subItem.TCID"
:label="subItem.TCNUM+`(`+subItem.TCID+`)`"></el-option> :label="subItem.TCNUM+`(`+subItem.TCID+`)`"></el-option>
</el-select> </el-select>
</td> </td>
<td> <td>
人数: 变更人数:
<el-input v-model="rootItem.ChangeValue" class="w80" <el-input v-model="rootItem.ChangeValue" class="w80"
@keyup.native="checkInteger(rootItem,'ChangeValue',true)"> @keyup.native="checkInteger(rootItem,'ChangeValue',true)">
</el-input> </el-input>
...@@ -2122,12 +2121,18 @@ ...@@ -2122,12 +2121,18 @@
</tbody> </tbody>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="3" style="text-align:center;margin-top:10px;"> <td colspan="3" style="text-align:center;padding-top:10px;">
<el-tooltip class="item" effect="dark" content="点击添加" placement="top-start"> <el-tooltip class="item" effect="dark" content="点击添加" placement="top-start">
<i class="el-icon-plus" style="cursor:pointer;" @click="addChangeTicketNum()"></i> <i class="el-icon-plus" style="cursor:pointer;font-size:18px;"
@click="addChangeTicketNum()"></i>
</el-tooltip> </el-tooltip>
</td> </td>
</tr> </tr>
<tr>
<td colspan="3" style="text-align:left;color:red;">
请填写团队变更人数,不是本团机位数,比如:新增机位填2,减少机位填-2.
</td>
</tr>
</tfoot> </tfoot>
</table> </table>
<p slot="reference" class="_wz _yiyong">机位变更</p> <p slot="reference" class="_wz _yiyong">机位变更</p>
...@@ -2985,7 +2990,6 @@ ...@@ -2985,7 +2990,6 @@
TCIDList: [], //已绑定的团期(TCID) TCIDList: [], //已绑定的团期(TCID)
PriceList: [], //已绑团期列表{TCID,TCNUM等} PriceList: [], //已绑团期列表{TCID,TCNUM等}
ChangeList: [], //变更列表 ChangeList: [], //变更列表
}, },
//去程 //去程
addGoFlight: { addGoFlight: {
...@@ -3057,9 +3061,7 @@ ...@@ -3057,9 +3061,7 @@
addShow: false, addShow: false,
command: false, command: false,
sanmai: false, sanmai: false,
uploadDoc: true, uploadDoc: true,
//散卖obj //散卖obj
sales: { sales: {
AirTicketId: 0, AirTicketId: 0,
...@@ -3179,6 +3181,7 @@ ...@@ -3179,6 +3181,7 @@
}, },
userInfo: {}, //当前登录用户 userInfo: {}, //当前登录用户
BranchList: [], //出团公司 BranchList: [], //出团公司
choosePriceList: [],
}; };
}, },
methods: { methods: {
...@@ -3190,31 +3193,35 @@ ...@@ -3190,31 +3193,35 @@
AirticketId: 0, AirticketId: 0,
ChangType: 1, ChangType: 1,
ChangeValue: 0, ChangeValue: 0,
RelationTCID: 0, RelationTCID: "",
} }
this.addMsg.ChangeList.push(tempObj); this.addMsg.ChangeList.push(tempObj);
} }
}, },
//删除绑定数据 //删除绑定数据
deleteChangeTicketNum(rootItem, index) { deleteChangeTicketNum(rootItem, index) {
var that = this;
that.Confirm("是要要删除?", function () {
if (rootItem.ChangeId > 0) { if (rootItem.ChangeId > 0) {
var dMsg = { var dMsg = {
AirticketId: rootItem.AirticketId, AirticketId: rootItem.AirticketId,
ChangeId: rootItem.ChangeId, ChangeId: rootItem.ChangeId,
}; };
this.apipost( that.apipost(
"AirTicket_post_DeleteAirticketChange", dMsg, "AirTicket_post_DeleteAirticketChange", dMsg,
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.Success(res.data.message); that.Success(res.data.message);
that.getList();
} else { } else {
this.Error(res.data.message); that.Error(res.data.message);
} }
}, },
err => {} err => {}
); );
} }
this.addMsg.ChangeList.splice(index, 1); that.addMsg.ChangeList.splice(index, 1);
});
}, },
//生成虚拟团 //生成虚拟团
createTravel(item) { createTravel(item) {
...@@ -4078,6 +4085,7 @@ ...@@ -4078,6 +4085,7 @@
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.addMsg = res.data.data; this.addMsg = res.data.data;
this.getPriceList(this.addMsg)
if (this.addMsg.OpenPlatform != null) { if (this.addMsg.OpenPlatform != null) {
if (this.addMsg.OpenPlatform != "") { if (this.addMsg.OpenPlatform != "") {
this.OpenPlatformStrings = this.addMsg.OpenPlatform.split( this.OpenPlatformStrings = this.addMsg.OpenPlatform.split(
...@@ -4550,6 +4558,44 @@ ...@@ -4550,6 +4558,44 @@
} }
); );
}, },
//获取团期列表
getPriceList(item) {
this.choosePriceList = [];
var qMsg = {
pageIndex: 1,
pageSize: 1000,
LineId: 0,
StartGroupDate: "",
EndGroupDate: "",
TeamType: 0,
QTeamType: "0,1,4,5"
}
if (item) {
if (item.LineId) {
qMsg.LineId = item.LineId;
}
if (item.PriceList && item.PriceList.length > 0) {
qMsg.StartGroupDate = item.PriceList[0].QStartDate;
qMsg.EndGroupDate = item.PriceList[0].QStartDate;
}
}
if (qMsg.StartGroupDate != '' && qMsg.EndGroupDate != '') {
this.apipost("travel_get_GetTravelPrciePageList_V2", qMsg, (res) => {
if (res.data.resultCode == 1) {
var tempArray = res.data.data.pageData;
if (tempArray && tempArray.length > 0) {
tempArray.forEach(tItem => {
var pObj = {
TCID: tItem.TCID,
TCNUM: tItem.TCNUM,
}
this.choosePriceList.push(pObj);
})
}
}
});
}
}
}, },
mounted() { mounted() {
this.userInfo = this.getLocalStorage(); this.userInfo = this.getLocalStorage();
......
...@@ -782,7 +782,7 @@ ...@@ -782,7 +782,7 @@
<span class="iconfont icon-img_yizi"></span> <span class="iconfont icon-img_yizi"></span>
</li> </li>
<li> <li>
<p class="_num1">{{item.TicketNum==null?'0':item.TicketNum}}</p> <p class="_num1">{{item.TicketNum+item.ChangeNum}}</p>
<p class="_wz">{{$t('Airticket.Air_reservation')}}</p> <p class="_wz">{{$t('Airticket.Air_reservation')}}</p>
</li> </li>
<li> <li>
......
...@@ -1173,12 +1173,12 @@ ...@@ -1173,12 +1173,12 @@
<div class="TC_SeatList" v-if="item.BindNum > 0" style="color: red"> <div class="TC_SeatList" v-if="item.BindNum > 0" style="color: red">
{{ $t("Operation.Op_bindNum") }}: {{ item.BindNum }} {{ $t("Operation.Op_bindNum") }}: {{ item.BindNum }}
</div> </div>
<el-popover placement="top-start" title="变更记录" width="260" trigger="hover"> <el-popover placement="top-start" title="变更记录" width="260" trigger="hover" v-if="item.NoBindNum > 0">
<table> <table>
<template v-for="(subItem,subIndex) in item.TicketList"> <template v-for="(subItem,subIndex) in item.TicketList">
<template v-for="(changeItem,changeIndex) in subItem.SubList"> <template v-for="(changeItem,changeIndex) in subItem.SubList">
<template v-if="changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0"> <template v-if="changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0">
<tr> <tr :key="`d_`+index+`s_`+subIndex+`t_`+changeIndex">
<td> <td>
{{changeItem.TCNUM}}({{changeItem.TCID}}) {{changeItem.TCNUM}}({{changeItem.TCID}})
{{changeItem.ChangeModel.ChangeValue>0?'+':''}} {{changeItem.ChangeModel.ChangeValue>0?'+':''}}
...@@ -1189,8 +1189,7 @@ ...@@ -1189,8 +1189,7 @@
</template> </template>
</template> </template>
</table> </table>
<div class="TC_SeatList" v-if="item.NoBindNum > 0" <div class="TC_SeatList" style="color: blue;font-weight:bold;cursor:pointer;" slot="reference">
style="color: blue;font-weight:bold;cursor:pointer;" slot="reference">
尚未绑定: {{ item.NoBindNum }} 尚未绑定: {{ item.NoBindNum }}
</div> </div>
</el-popover> </el-popover>
...@@ -1722,14 +1721,22 @@ ...@@ -1722,14 +1721,22 @@
<template v-else-if="subItem.TravelTicketType==3"> <template v-else-if="subItem.TravelTicketType==3">
<font style="color:red;"> {{$t('objFill.v101.lspiao')}}</font> <font style="color:red;"> {{$t('objFill.v101.lspiao')}}</font>
</template> </template>
总机位:<font style="font-weight:bold;">{{subItem.TicketNum}}</font> <font>
总机位:<font style="font-weight:bold;">{{item.TicketNum}}</font>
<template v-if="subItem.ChangeNum!=0"> <template v-if="subItem.ChangeNum!=0">
<font style="font-weight:bold;">{{subItem.ChangeNum>0?'+':''}}{{subItem.ChangeNum}}={{item.TicketNum}}</font> <font style="font-weight:bold;">
=[{{subItem.TicketNum}}{{subItem.ChangeNum>0?'+':''}}{{subItem.ChangeNum}}]</font>
</template> </template>
</font>
; ;
<template v-for="thirdItem in subItem.SubList"> <template v-for="(thirdItem,thirdIndex) in subItem.SubList">
{{thirdItem.TCNUM}}({{thirdItem.TCID}}) 绑定:<font style="font-weight:bold;color:blue;"> <font style="color:blue;cursor:pointer;" @click="gotoTCList(thirdItem)">
{{thirdItem.BindNum}}</font>, {{thirdItem.TCNUM}}({{thirdItem.TCID}}) 绑定:<font style="font-weight:bold;">
{{thirdItem.BindNum}}</font>
</font>
<template v-if="thirdIndex!=subItem.SubList.Length-1">
,
</template>
</template> </template>
{{subItem.TicketOpRemark}} {{subItem.TicketOpRemark}}
【{{subItem.TicketCreateByName}}】 【{{subItem.TicketCreateByName}}】
......
...@@ -776,17 +776,15 @@ ...@@ -776,17 +776,15 @@
<div class="TC_SeatList">{{$t('Airticket.Air_firstClass')}}:{{item.FSeat}}</div> <div class="TC_SeatList">{{$t('Airticket.Air_firstClass')}}:{{item.FSeat}}</div>
<div class="TC_SeatList">{{$t('Airticket.Air_businessClass')}}:{{item.CSeat}}</div> <div class="TC_SeatList">{{$t('Airticket.Air_businessClass')}}:{{item.CSeat}}</div>
<div class="TC_SeatList">{{$t('Airticket.Air_EconomyClass')}}:{{item.YSeat}}</div> <div class="TC_SeatList">{{$t('Airticket.Air_EconomyClass')}}:{{item.YSeat}}</div>
<div class="TC_SeatList" v-if="item.BindNum>0" style="color:red;">{{$t('Operation.Op_bindNum')}}: <el-popover placement="top-start" title="变更记录" width="260" trigger="hover" v-if="item.NoBindNum > 0">
{{item.BindNum}}</div>
<el-popover placement="top-start" title="变更记录" width="260" trigger="hover">
<table> <table>
<template v-for="(subItem,subIndex) in item.TicketList"> <template v-for="(subItem,subIndex) in item.TicketList">
<template v-for="(changeItem,changeIndex) in subItem.SubList"> <template v-for="(changeItem,changeIndex) in subItem.SubList">
<template v-if="changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0"> <template v-if="changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0">
<tr> <tr :key="`d_`+index+`s_`+subIndex+`t_`+changeIndex">
<td> <td>
{{changeItem.TCNUM}}({{changeItem.TCID}}) {{changeItem.TCNUM}}({{changeItem.TCID}})
{{changeItem.ChangeModel.ChangeValue>0?'+':'-'}} {{changeItem.ChangeModel.ChangeValue>0?'+':''}}
{{changeItem.ChangeModel.ChangeValue}} {{changeItem.ChangeModel.ChangeValue}}
</td> </td>
</tr> </tr>
...@@ -794,8 +792,7 @@ ...@@ -794,8 +792,7 @@
</template> </template>
</template> </template>
</table> </table>
<div class="TC_SeatList" v-if="item.NoBindNum > 0" <div class="TC_SeatList" style="color: blue;font-weight:bold;cursor:pointer;" slot="reference">
style="color: blue;font-weight:bold;cursor:pointer;" slot="reference">
尚未绑定: {{ item.NoBindNum }} 尚未绑定: {{ item.NoBindNum }}
</div> </div>
</el-popover> </el-popover>
...@@ -844,7 +841,7 @@ ...@@ -844,7 +841,7 @@
<tr> <tr>
<td> <td>
{{changeItem.TCNUM}}({{changeItem.TCID}}) {{changeItem.TCNUM}}({{changeItem.TCID}})
{{changeItem.ChangeModel.ChangeValue>0?'+':'-'}} {{changeItem.ChangeModel.ChangeValue>0?'+':''}}
{{changeItem.ChangeModel.ChangeValue}} {{changeItem.ChangeModel.ChangeValue}}
</td> </td>
</tr> </tr>
...@@ -1225,14 +1222,22 @@ ...@@ -1225,14 +1222,22 @@
<template v-else-if="subItem.TravelTicketType==3"> <template v-else-if="subItem.TravelTicketType==3">
<font style="color:red;"> {{$t('objFill.v101.lspiao')}}</font> <font style="color:red;"> {{$t('objFill.v101.lspiao')}}</font>
</template> </template>
总机位:<font style="font-weight:bold;">{{subItem.TicketNum}}</font> <font>
总机位:<font style="font-weight:bold;">{{item.TicketNum}}</font>
<template v-if="subItem.ChangeNum!=0"> <template v-if="subItem.ChangeNum!=0">
<font style="font-weight:bold;">{{subItem.ChangeNum>0?'+':'-'}}{{subItem.ChangeNum}}={{item.TicketNum}}</font> <font style="font-weight:bold;">
=[{{subItem.TicketNum}}{{subItem.ChangeNum>0?'+':''}}{{subItem.ChangeNum}}]</font>
</template> </template>
</font>
; ;
<template v-for="thirdItem in subItem.SubList"> <template v-for="(thirdItem,thirdIndex) in subItem.SubList">
{{thirdItem.TCNUM}}({{thirdItem.TCID}}) 绑定:<font style="font-weight:bold;color:blue;"> <font style="color:blue;cursor:pointer;" @click="gotoTCList(thirdItem)">
{{thirdItem.BindNum}}</font>, {{thirdItem.TCNUM}}({{thirdItem.TCID}}) 绑定:<font style="font-weight:bold;">
{{thirdItem.BindNum}}</font>
</font>
<template v-if="thirdIndex!=subItem.SubList.Length-1">
,
</template>
</template> </template>
{{subItem.TicketOpRemark}} {{subItem.TicketOpRemark}}
【{{subItem.TicketCreateByName}}】 【{{subItem.TicketCreateByName}}】
......
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