<style> .PlaneTicket .el-input--prefix .el-input__inner { padding-left: 30px; } .PlaneTicket_list { padding: 20px 0 0 0; } .PlaneTicket ._ol_info { font-size: 12px; /* width: 100%; overflow-x: auto; */ height: 100%; } .PlaneTicket ._ol_info._edHeight { height: 200px; } .PlaneTicket ._ol_color { font-size: 12px; width: 100%; margin-bottom: 20px; } .PlaneTicket ._ol_color li { float: left; padding: 0 15px; display: flex; align-items: center; } .PlaneTicket ._ol_color li ._cl { border-radius: 3px; display: inline-block; width: 5px; height: 12px; margin-right: 5px; } .PlaneTicket ._red { background-color: #e95252; } .PlaneTicket ._red_text { color: #e95252; } .PlaneTicket ._green { background-color: #47bf8c; } .PlaneTicket ._green_text { color: #47bf8c; } .PlaneTicket ._blu { background-color: #2aaef2; } .PlaneTicket ._blu_text { color: #2aaef2; } .PlaneTicket ._ol_list { margin-top: 20px; min-height: 500px; } .PlaneTicket ._ol_list > li { min-height: 107px; margin: 20px 0 0px 0px; transition: linear all 0.5s; background-color: #fff; border: 1px solid #dddddd; border-left: 0; /* overflow: hidden; */ position: relative; padding-top:10px; } .PlaneTicket ._ol_list > li:hover { box-shadow: 0px 0px 20px rgba(191, 191, 191, 1); transition: all linear 0.5s; } .PlaneTicket ._oll_tit { color: #333333; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .PlaneTicket ._oll_tit span { display: inline-block; padding: 1px 10px; font-size: 12px; border: solid 1px #ff9000; color: #ff9000; border-radius: 4px; } .PlaneTicket ._oll_line { max-width: 5px; min-width: 5px; height: 100%; position: absolute; left: 0; top: 0; z-index: 50; background: rgba(233, 82, 82, 1); border-top-left-radius: 4px; border-bottom-left-radius: 4px; display: inline-block; } .PlaneTicket ._oll_line._o_green { background: #47bf8c; } .PlaneTicket ._oll_line._o_blu { background: #2aaef2; } .PlaneTicket ._oll_info { /* padding-left: 20px; width: 200px; */ max-width: 100%; } .PlaneTicket ._oll_img { height: 45px; width: 45px; border-radius: 50%; margin: 5px 0 0 15px; margin-left: 20px; display: inline-block; } .PlaneTicket ._oll_adrr { color: white; font-size: 12px; margin-top: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; padding: 4px 9px; background-color: #2aaef2; border-radius: 2px; } .PlaneTicket ._oll_time { display: inline-block; background-color: #efefef; border-radius: 4px; color: #999999; font-size: 12px; padding: 2px 10px; margin-top: 10px; } .PlaneTicket ._oll_food { min-width: 64px; max-width: 64px; height: 36px; background: rgba(42, 174, 242, 1); border-radius: 4px; margin: 0 30px; color: white; line-height: 36px; text-align: center; padding: 0 10px; overflow: hidden; } .PlaneTicket .InfoChangeLog { max-width: 250px; height: auto; min-width: 250px; max-height: 220px; background-color: #ffffff; position: absolute; left: 0; z-index: 50; top: 70px; padding: 30px 20px 20px 0; box-shadow: 0px 0px 14px 0px #adadad; } .PlaneTicket .InfoChangeLog .close { color: #cccccc; cursor: pointer; position: absolute; right: 10px; top: 10px; width: 17px; height: 17px; } .wangfan { color: #2aaef2 !important; font-size: 12px !important; display: inline-block !important; padding: 4px 9px !important; background-color: white !important; border-radius: 9px !important; border: 1px solid #2aaef2 !important; width: auto !important; height: auto !important; margin-left: 0 !important; } .wangfan.hollowFixedBtn:hover { color: #ffffff; border-color: #2aaef2; background-color: #2aaef2; } .wangfan.hollowFixedBtn { cursor: pointer; } ._destination { text-align: center; padding: 0 20px 0 0; } ._destination .iconfont { color: #2aaef2; } ._destination p ._destination_line { color: #b7b7b7; position: relative; top: -3px; } ._destination p ._destination_name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 50px; display: inline-block; } ._CNY { height: 100%; display: flex; align-items: center; color: #333333; font-size: 16px; padding-left: 40px; border-left: 1px dashed #dcdfe6; min-width: 170px; } ._CNY span { color: #47bf8c; font-size: 18px; } .TMN_Seat { height: 100%; display: flex; } .PlaneTicket .TK_SeatList { /* width: 245px; */ height: 60px; background-color: #f9f9f9; /* margin-top: 9px; */ padding-right: 10px; } .PlaneTicket .TK_SeatList > ul > li:nth-child(1) { margin-left: 5px; } .PlaneTicket .TK_SeatList > ul > li { float: left; text-align: center; margin: 5px 13px 0 0; } .PlaneTicket .TK_SeatList > ul > li:last-child { margin-right: 0; } .PlaneTicket .TK_SeatList .iconfont { color: #d1d1d1; display: inline-block; margin-top: 5px; } .PlaneTicket .TK_SeatList ._num1 { font-size: 18px; color: #333333; height: 28px; font-family: PingFangSC-Semibold, sans-serif; } .PlaneTicket .TK_SeatList ._num2 { font-size: 18px; color: #47bf8c; height: 28px; font-family: PingFangSC-Semibold, sans-serif; cursor: pointer; } .PlaneTicket .TK_SeatList ._num3 { font-size: 18px; color: #e95252; height: 28px; font-family: PingFangSC-Semibold, sans-serif; } .TK_SeatList ._wz { color: #666666; cursor: pointer; } .TK_SeatList ._yiyong { cursor: pointer; text-decoration: underline; } .TMA_raduis > ul { display: -webkit-box; align-items: center; } .TMA_raduis > ul > li{ } /* .TMA_raduis > ul > li:not(._head) { background-color: #bcbcbc; color: #909090; } */ .TMA_raduis > ul > li._head { display: flex; align-items: center; } .TMA_raduis > ul > li._head img { height: 26px; width: 26px; border-radius: 50%; margin-left: 15px; } .TMA_raduis > ul > li._head span { padding-left: 7px; display: inline-block; margin-right: 25px; } ._jztime { color: #666666; margin: 0 12px; } ._jztime .PingFangSC { font-size: 12px; } ._jztime ._text { font-size: 12px; } ._btn .hollowFixedBtn { padding: 6px 11px; width: 60px; margin-right: 10px; font-size: 12px; } .addPlaneTicket { overflow: hidden; display: none; overflow: auto; z-index: 999; position: fixed; min-width: 1200px; bottom: 0; border-top: 3px solid #38425d; background-color: #f9f9f9; left: 50px; padding: 10px; } .edHeight { display: block; } ._add_t { padding-left: 10px; border-left: 3px solid #e95252; color: #333; font-size: 16px; font-family: "PingFangSC-Fine"; height: 30px; line-height: 30px; } .top-btn { text-align: right; position: absolute; top: 10px; right: 10px; } ._add_sel { padding: 10px 15px 0 15px; border-bottom: 1px dashed #dadada; } .PlaneTicket .el-pagination { border: none !important; } ._add_sel > ul > li { margin-right: 15px; float: left; } ._add_sel > ul > li input, ._add_ret > ul > li input { height: 30px; } ._add_ret > ul > li { margin-bottom: 20px; } ._add_sel_t { color: #6666; font-size: 12px; padding: 8px 0; } ._add_hangban { padding: 0px 15px; border-bottom: 1px dashed #dadada; } ._add_hangban > li { float: left; display: -webkit-box; padding: 20px 0; overflow: auto; } ._add_hangban > li > div { margin-right: 20px; } ._add_hangban > li:nth-child(2) { border-left: 1px dashed #dadada; padding-left: 10px; } ._add_go { display: flex; } ._add_go > span { font-size: 14px; color: #000000; padding-right: 15px; } ._add_go > div { font-size: 12px; color: #666666; background-color: #e0f4ff; width: 230px; height: 175px; border-radius: 4px; } ._add_go > div > p:nth-child(1) { padding: 0 13px; color: #387ea5; background-color: #cbe9fa; height: 34px; line-height: 34px; } ._add_go > div > p:nth-child(1) .icon-xingzhuang { float: right; font-size: 12px; margin-top: 2px; cursor: pointer; } ._add_go > div > p:nth-child(1) .icon-xingzhuang:hover { color: #e95252; } ._add_info { margin-top: 12px; padding: 0 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ._add_hbh { padding: 0 0 0 10px; margin-top: 14px; display: inline-block; } ._add_hbh em { font-style: normal; display: inline-block; width: 55px; text-align: right; } ._add_hbh .el-input--prefix .el-input__icon { line-height: 20px !important; } ._add_hbh .el-input--prefix .el-icon-date { display: none; } ._add_hbh .el-select, ._add_hbh .el-input .el-input__inner, ._add_hbh .el-select .el-input { height: 30px; font-size: 12px; border-color: #5395b9 !important; } ._add_hbh .el-select .el-input .el-select__caret { color: #5395b9 !important; } ._add_hbh .el-select .el-input.is-focus .el-input__inner { border-color: #5395b9 !important; } ._add_hbh .el-select-dropdown__item.selected { background: #5395b9 !important; } ._add_hbh .el-select-dropdown__item { height: 20px !important; line-height: 20px !important; } ._add_hbh .el-select-dropdown__item span { line-height: 20px !important; } ._add_date input { padding-left: 15px !important; padding-right: 15px !important; } .PlaneTicket ._add_btn { float: right; display: inline-block; color: #b7ddf2; background-color: #5294b8; padding: 1px 5px; border-radius: 10px; cursor: pointer; line-height: 16px; margin-top: 8px; } ._add_ret { padding: 10px 0 0 0; } ._add_ret li { float: left; margin-right: 15px; } ._add_ret li em { font-size: 12px; color: #6666; font-style: normal; width: 80px; display: inline-block; text-align: right; } ._add_ret li._add_saveBtn { float: right; margin-top: 8px; } ._command_box { } ._command_tb { } ._command_tb { width: -webkit-fill-available; margin-top: 10px; text-align: left; } ._command_tb tr:first-child { background-color: #cbe9fa; } ._command_tb tr th { font-size: 12px; color: #387ea5; padding: 8px; } ._command_tb tr td:first-child { color: #387ea5; } ._command_tb tr td { color: #333333; padding: 8px; font-size: 12px; background-color: #e0f4ff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ._command_tb thead, ._command_tb tbody tr { display: table; width: 100%; table-layout: fixed; } ._command_tb tbody { } ._tripDetails { padding: 0; box-shadow: 0px 1px 3px 0px #dedede; } ._tripDetails .popper__arrow::after { border-bottom-color: #ededed !important; } ._tripDetails table { padding: 10px 0 0 20px; background-color: #ededed; border-collapse: collapse; border: 1px solid #d2d2d2; font-size: 12px; } ._tripDetails table th { background-color: #ededed; padding: 5px; } ._tripDetails table td { background-color: #ffffff; padding: 9px 15px; color: #333333; border: 1px solid #d2d2d2; } ._tripDetails table td._d_name { background-color: #ededed; } ._tripDetails table ._color_666 { color: #666666; } ._tripDetails table tr._color_666 th { padding: 9px 15px; } ._trip_CNY { width: auto !important; padding: 10px !important; background-color: #ffffff; } ._trip_CNY table { background-color: #ededed; border-collapse: collapse; } ._trip_CNY table ._rb_bor { border-right: 1px dashed #d3d3d3; border-bottom: 1px dashed #d3d3d3; } ._trip_CNY table ._lb_bor { border-right: 1px dashed #d3d3d3; border-top: 1px dashed #d3d3d3; } ._trip_CNY table ._rt_bor { border-left: 1px dashed #d3d3d3; border-bottom: 1px dashed #d3d3d3; } ._trip_CNY table ._lt_bor { border-left: 1px dashed #d3d3d3; border-top: 1px dashed #d3d3d3; } ._trip_CNY table td { padding: 15px; text-align: left; } ._trip_CNY table td ._CNY_name { display: inline-block; width: 21px; height: 21px; font-size: 12px; color: #ffffff; background-color: #2aaef2; line-height: 21px; text-align: center; border-radius: 50%; } ._trip_CNY table td ._CNY_num { color: #333333; position: relative; top: 2px; } ._CNY p { color: #333333; cursor: pointer; text-decoration: underline; font-size: 14px; } ._allWidth > span { padding-right: 10px; } ._add_go_label { padding-right: 15px; } .commandLine { width: 100%; padding: 2px 5px; background-color: #333333; display: flex; color: white; } .commandLine .cmd_input { width: 100%; background-color: #333333; } .commandLine .cmd_input .el-textarea__inner { background-color: #333333; border: none; font-size: 12px; color: white; padding-left: 5px; } .PlaneTicket .InfoChangeLog .changLog { background-color: #f9f9f9; height: auto; max-height: 170px; width: 100%; overflow: auto; } .PlaneTicket .InfoChangeLog .changLog ul { margin-left: 20px; } .PlaneTicket .InfoChangeLog .changLog li { border-left: 1px solid #e9e9e9; position: relative; padding-bottom: 15px; padding-left: 20px; } .PlaneTicket .InfoChangeLog .changLog li p { text-align: left; } .PlaneTicket .InfoChangeLog .changLog li .radius { width: 7px; height: 7px; border-radius: 50%; display: inline-block; position: absolute; left: -4px; top: 4px; } .PlaneTicket .InfoChangeLog .changLog li.red .radius { background-color: #e95252; } .PlaneTicket .InfoChangeLog .changLog li.green .radius { background-color: #47bf8c; } .PlaneTicket .InfoChangeLog .time { color: #666666; padding-bottom: 5px; } .PlaneTicket .InfoChangeLog .changLog::-webkit-scrollbar, .PlaneTicket ._ol_info::-webkit-scrollbar, .addPlaneTicket::-webkit-scrollbar, ._add_hangban > li::-webkit-scrollbar, .Journal .changLogList::-webkit-scrollbar { /*滚动条整体样式*/ width: 4px; /*高宽分别对应横竖滚动条的尺寸*/ height: 8px; } .PlaneTicket .InfoChangeLog .changLog::-webkit-scrollbar-thumb, .PlaneTicket ._ol_info::-webkit-scrollbar-thumb, .addPlaneTicket::-webkit-scrollbar-thumb, ._add_hangban > li::-webkit-scrollbar-thumb, .Journal .changLogList::-webkit-scrollbar-thumb { /*滚动条里面小方块*/ border-radius: 4px; -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2); background: #c9c9c9; } .PlaneTicket .InfoChangeLog .changLog::-webkit-scrollbar-track, .PlaneTicket ._ol_info::-webkit-scrollbar-track, .addPlaneTicket::-webkit-scrollbar-track, ._add_hangban > li::-webkit-scrollbar-track, .Journal .changLogList::-webkit-scrollbar-track { /*滚动条里面轨道*/ -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2); border-radius: 4px; background: #ededed; } .PlaneTicket _btn i { color: #fff !important; } ._command_tb tbody::-webkit-scrollbar { width: 4px; height: 8px; } ._command_tb tbody::-webkit-scrollbar-thumb { border-radius: 4px; -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2); background: #c9c9c9; } ._command_tb tbody::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2); border-radius: 4px; background: #ededed; } ._delete_cmd { cursor: pointer; } ._delete_cmd:hover { color: red; } .PlaneTicket .el-form-item__label { font-size: 12px; color: #606266; } ._pingtai .el-select .el-input { height: auto; } ._pingtai .el-form-item, ._add_ret > ul > li .el-form-item { display: flex; } ._add_sel ul li .el-form-item { margin-bottom: 0; } .PlaneTicket .upload-demo { text-align: center; } .PlaneTicket .query-box ul .el-input { width: 150px; } .wangfan_dan { padding: 2px 9px !important; } /*审核成功*/ ._bg_gre { background-color: #47bf8c !important; color: white !important; cursor: pointer; width:24px; height:24px; text-align: center; line-height: 24px; border-radius:50%; } /*默认*/ .bg_default { cursor: pointer; background-color: #bcbcbc !important; color: #909090 !important; cursor: pointer; width:24px; height:24px; text-align: center; line-height: 24px; border-radius:50%; } /*审核中*/ .bg_auditing { background-color: #3867d6 !important; color: white; cursor: pointer; width:24px; height:24px; text-align: center; line-height: 24px; border-radius:50%; } .PlaneTicket .width_auto { width: 80%; } .PlaneTicket ._rizhi { background: #fff !important; color: #e95252 !important; height: 30px !important; border: 1px solid #e95252 !important; cursor: pointer !important; border-radius: 15px !important; } .PlaneTicket .Journal { width: 250px !important; } .Journal .InfoChangeLog { height: auto; max-height: 220px; background-color: #ffffff; } .Journal .changLogList { padding-left: 20px; max-height: 220px; overflow: auto; margin: 20px 0; } .Journal .changLogList_l { border-left: 1px solid #e9e9e9; position: relative; padding-bottom: 15px; padding-left: 20px; } .Journal .changLogList_l:last-child { border: 0; } .Journal .changLog_time { color: #666666; position: relative; top: -4px; } .Journal .TM_UPdate { font-size: 12px; } .PlaneTicket .downBtn { padding: 6px 20px; position: relative; top: -1px; } .PlaneTicket .icon-img_plane { font-size: 12px; -webkit-transform: scale(0.8); } .PlaneTicket .departName { text-align: right; } .PlaneTicket .arrivalName { text-align: left; } .PlaneTicket ._destination .el-button:focus { background-color: #2aaef2 !important; color: #fff !important; } .PlaneTicket .travelTo { position: relative; top: -2px; } .PlaneTicket .icon-arrow1 { font-size: 12px; position: relative; top: 4%; } .PlaneTicket .multiple_input .el-input { height: auto !important; } .PlaneTicket .el-button--primary { padding: 5px; margin-right: 1px; } .PlaneTicket .addPlaneTicket::-webkit-scrollbar { /*滚动条整体样式*/ width: 4px; /*高宽分别对应横竖滚动条的尺寸*/ height: 8px; } .PlaneTicket .addPlaneTicket::-webkit-scrollbar-thumb { /*滚动条里面小方块*/ border-radius: 4px; -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2); background: #c9c9c9; } .PlaneTicket .addPlaneTicket::-webkit-scrollbar-track { /*滚动条里面轨道*/ -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2); border-radius: 4px; background: #ededed; } .Journal ._radius_green { width: 7px; height: 7px; border-radius: 50%; display: inline-block; position: absolute; left: -4px; top: 0; } .disClick { background-color: #d1d1d1; color: #fff; border: 1px solid #d1d1d1; } .disClick:hover { background-color: #d1d1d1 !important; cursor: default !important; box-shadow: none !important; } .TM_OrderRemind { font-size: 12px; color: #e95252; margin: 5px 0 0 0; } .PlaneTicket ._lian_style { position: absolute; top: 0px; left: 5px; z-index: 99; display: inline-block; background-color: #e83140; color: white; padding: 2px 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .PlaneTicket .el-date-editor.el-input, .el-date-editor.el-input__inner { width: 100%; } .PlaneTicket .addPlaneTicket .el-select{ width:100%; } ._oll_img_box { height: 78px; display: inline-block; vertical-align: top; padding-top: 14px; } .PlaneTicket .vmiddle { display: flex; align-items: Center; /* height: 78px; */ } .Plan_Query .el-button--primary { background-color: #fff !important; color: #e95252 !important; border-color: #e95252 !important; } .Plan_Query .el-button--primary:focus, .TC_ListContent .el-button--primary:hover { background-color: #fff !important; color: #e95252 !important; border-color: #e95252 !important; } .Plan_Query .el-button { border-radius: 16px; width: 90px; height: 30px; line-height: 26px; } .Plan_Query .el-button i { color: #e95252; } .Plan_Query .el-dropdown { position: relative; top: 4px; } .Plan_Query .el-button span { position: relative; top: -3px; } .el-dropdown-menu__item:hover { background-color: #e95252 !important; color: #fff !important; } .TMA_PNR { font-size: 12px; color: #666666; margin: 5px 0 0 16px; } .PlaneTicket .TICK_Code { position: absolute; left: 27px; top: 5px; } .PlaneTicket .TCID_cont { min-height: 28px; line-height: 28px; border-top: 1px dashed #ccc; text-indent: 20px; } .Ticket_TCID { margin-right: 2px; } /*航班详情*/ .PlaneTicket .FlightDivDetails { width: 100%; /* height: 65px; */ overflow: auto; } .PlaneTicket ._flightList { text-align: left; font-size: 12px; margin-bottom: 5px; padding-right: 5px; } /*航班号*/ .PlaneTicket .FlightNumber { color: #ff0066; font-weight: bold; } .PlaneTicket .el-button-group i { font-size: 13px; } ._add_sel .el-form-item{ margin-bottom:10px; } .FinaceDanList{display:block;cursor: pointer;} .FinaDetailContent{ height:25px;overflow:auto; } .PlaneTicket .TK_raduis ul li{margin-right:14px;float:left;} .FinaceDanList{cursor: pointer;} .planeTicketSignUp{overflow: auto; position:fixed;height:500px;z-index:100;bottom:0;left: 50px;border-top:3px solid #38425d;background-color:#FFFFFF;padding: 10px 10px 0;min-width: 1316px} .planeTicketSignUp .el-form-item__label{font-size: 12px!important;} .planeTicketSignUp>p{border-left: 3px solid #E95252; text-indent: 15px; height: 16px; font-family: 'PingFangSc-Fine'; font-size: 16px; margin-bottom:20px; line-height: 14px; color: #000;} .planeTicketSignUp .el-input{width: auto!important} </style> <template> <div class="flexOne PlaneTicket"> <div class="planeTicketSignUp ownScrollbarStyle" v-show="isShowLayer" > <p> 立即报名 <span class="fr"> <input type="button" class="hollowFixedBtn" value="取消" @click="cancelSubmit()"/> <input type="button" class="normalBtn" value="立即报名" @click="submitForm('addMsg')"/> </span> </p> <el-form :model="addMsg" ref="addMsg" label-position="right" :rules="rules" label-width="80px"> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="团号"> <el-select v-model='addMsg.TCID' :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in TCList" :label='item.TCNUM' :value='item.TCID' :key='item.TCID'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="参团类型" prop="GroupType"> <el-select v-model='addMsg.GroupType' @change="groupTypeChange" disabled :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in ctlxList" :label='item.Name' :value='item.Id' :key='item.Id'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="客户类型" prop="CustomerType"> <el-select v-model='addMsg.CustomerType' filterable :placeholder="$t('pub.pleaseSel')" @change='getTypePrice();getDdlyList();getKhmdList();getTotalPrice()'> <el-option v-for="item in khlxList" :label='item.Name' :value='item.Id' :key='item.Id'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="联系人" prop="ContactName" v-show='addMsg.CustomerType==3||addMsg.CustomerType==4'> <el-input v-model='addMsg.ContactName'></el-input> </el-form-item> <el-form-item label="联系电话" prop="ContactMobile" v-show='addMsg.CustomerType==3||addMsg.CustomerType==4'> <el-input v-model='addMsg.ContactMobile' maxlength='20'></el-input> </el-form-item> <el-form-item label="客户门店" prop="CustomerId" v-show="addMsg.CustomerType==1||addMsg.CustomerType==2||addMsg.CustomerType==''" > <el-select v-model='addMsg.CustomerId' filterable :placeholder="$t('pub.pleaseSel')" @change='getSspt'> <el-option v-for="item in khmdList" :label='item.customerName+"-"+item.contact' :value='item.customerId' :key='item.customerId'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <!-- <el-form-item label="出发城市" prop="DepartureCityId"> <el-select v-model='addMsg.DepartureCityId' :disabled="addObj.SonControlID!==-1&&addObj.OutBranchId !== addObj.SonControlID" filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsIntermodal=2"> <el-option v-for="item in startCityList" :label='item.Name' :value='item.ID' :key='item.ID'> </el-option> </el-select> </el-form-item> --> <!-- <el-form-item label="是否联运" prop="IsIntermodal" v-show="addMsg.DepartureCityId!=addObj.StartCityID&&addMsg.DepartureCityId!=''"> <el-switch v-model="addMsg.IsIntermodal" active-value="1" inactive-value="2" @change='getUnionTravelPrice(addObj,1)'></el-switch> </el-form-item> --> <!-- <el-form-item label="联运时间" prop="GoCityTime" v-show='addMsg.IsIntermodal==1&&addMsg.DepartureCityId!=addObj.StartCityID'> <el-date-picker :picker-options="pickerOptions0" v-model='addMsg.GoCityTime' value-format="yyyy-MM-dd" type="date" @change='getUnionTravelPrice(addObj,1)'></el-date-picker> </el-form-item> --> </el-col> <el-col :span="4"> <!-- <el-form-item label="返回城市" prop="ReturnArriveCityId"> <el-select v-model='addMsg.ReturnArriveCityId' :disabled="addObj.SonControlID!==-1&&addObj.OutBranchId !== addObj.SonControlID" filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsReturnIntermodal=2"> <el-option v-for="item in startCityList" :label='item.Name' :value='item.ID' :key='item.ID'> </el-option> </el-select> </el-form-item> --> <!-- <el-form-item label="是否联运" prop="IsReturnIntermodal" v-show="addMsg.ReturnArriveCityId!=addObj.ReturnArriveCityId&&addMsg.ReturnArriveCityId!=''"> <el-switch v-model="addMsg.IsReturnIntermodal" active-value="1" inactive-value="2" @change='getUnionTravelPrice(addObj,2)'></el-switch> </el-form-item> --> <!-- <el-form-item label="联运时间" prop="IsReturnIntermodal" v-show='addMsg.IsReturnIntermodal==1&&addMsg.ReturnArriveCityId!=addObj.ReturnArriveCityId'> <el-date-picker :picker-options="pickerOptions1" v-model='addMsg.BackCityTime' value-format="yyyy-MM-dd" type="date" @change='getUnionTravelPrice(addObj,2)'></el-date-picker> </el-form-item> --> </el-col> <el-col :span="4"> <el-form-item label="本团单价" prop="TC_Price"> <el-input v-model='addMsg.TC_Price' :disabled="true" @input="getTotalPrice()"></el-input> </el-form-item> <el-form-item label="出发联运价" v-show='addMsg.IsIntermodal==1&&addMsg.DepartureCityId!=addObj.StartCityID'> <el-input v-model='stratPrice' v-show='stratPriceShow' :disabled="true"></el-input> <span class="colorE95252" v-show='!stratPriceShow'>暂无报价!</span> </el-form-item> <el-form-item label="返回联运价" v-show='addMsg.IsReturnIntermodal==1&&addMsg.ReturnArriveCityId!=addObj.ReturnArriveCityId'> <el-input v-model='returnPrice' v-show='returnPriceShow' :disabled="true"></el-input> <span class="colorE95252" v-show='!returnPriceShow'>暂无报价!</span> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="成交单价" prop="Unit_Price"> <el-input v-model='addMsg.Unit_Price' @keyup.native="checkPrice(addMsg,'Unit_Price');getTotalPrice()" ></el-input> </el-form-item> <!-- <el-form-item> <p style="line-height: 18px; color: #E95252;">注:如果超出本团的最低让价,差价将由你来承担</p> </el-form-item> --> </el-col> </el-row> <div style="width: 100%; border-top:1px dashed #ccc;margin-bottom:25px;"></div> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="成人人数" prop="ManNum"> <el-input v-model='addMsg.ManNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'ManNum')" @input='getNumber();getHouseNo();getTotalPrice()'></el-input> </el-form-item> </el-col> <el-col :span="4"> <!-- <p v-if='addObj.IsSupportChildren==2' style="color: #E95252; font-size: 12px; line-height: 40px; text-align: center;">本团不支持儿童出游!</p> --> <el-form-item label="儿童人数" prop="ChirdNoNeedBedNum"> <el-input v-model='addMsg.ChirdNoNeedBedNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'ChirdNoNeedBedNum')" @input='getNumber();getHouseNo();getTotalPrice();' ></el-input> </el-form-item> </el-col> <el-col :span="4"> <!-- <el-form-item label="儿童占床" prop="ChirdNeedBedNum"> <el-input v-model='addMsg.ChirdNeedBedNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'ChirdNeedBedNum')" @input='getNumber();getHouseNo();getTotalPrice();autoRemarks("ChirdNeedBedNum","儿童占床");'></el-input> </el-form-item> --> </el-col> <el-col :span="4"> <el-form-item label="婴儿人数" prop="BabyNum"> <el-input v-model='addMsg.BabyNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'BabyNum')" @input='getNumber();getTotalPrice();'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="老人人数" prop="OldPeopleNum"> <el-input v-model='addMsg.OldPeopleNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'OldPeopleNum')" @input='getNumber();getHouseNo();getTotalPrice()'></el-input> </el-form-item> </el-col> <!-- <el-col :span="4"> <el-form-item label="单地接数量" prop="AirticketNum"> <el-input v-model='addMsg.AirticketNum' @keyup.native="checkInteger(addMsg,'AirticketNum')" @input='getNumber();getTotalPrice();getHouseNo()'></el-input> </el-form-item> </el-col> --> </el-row> <!-- <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="单房数量" prop="SingleRoomNum"> <el-input v-model='addMsg.SingleRoomNum' @keyup.native="checkInteger(addMsg,'SingleRoomNum')" @input='yzBigBed2();getTotalPrice();'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="大床房" prop="BigRoomNum"> <el-input v-model='addMsg.BigRoomNum' @keyup.native="checkInteger(addMsg,'BigRoomNum')" @input='yzBigBed();getTotalPrice();'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="三人房" prop="TripleRoomNum"> <el-input v-model='addMsg.TripleRoomNum' @keyup.native="checkInteger(addMsg,'TripleRoomNum')" @input='yzBigBed1();getTotalPrice();'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="签证数量" prop="VisaNum"> <el-input v-model='addMsg.VisaNum' @keyup.native="checkInteger(addMsg,'VisaNum')" @input='yzVisaNum();getTotalPrice();autoRemarks2("VisaNum","不要签证数量");'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="保险数量" prop="SaleNum"> <el-input v-model='addMsg.SafeNum' @keyup.native="checkInteger(addMsg,'SafeNum')" @input='yzSafeNum();getTotalPrice();autoRemarks2("SafeNum","不要保险数量");'></el-input> </el-form-item> </el-col> <el-col :span="4"> </el-col> </el-row> --> <el-row :gutter="20"> <!-- <el-col :span="4"> <el-form-item label="预计用房" prop="PredictRoomNum"> <el-input v-model='addMsg.PredictRoomNum' :disabled="true"></el-input> </el-form-item> </el-col> --> <el-col :span="4"> <el-form-item label="应收总额" prop="PreferPrice"> <el-input v-model='addMsg.PreferPrice' :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="预计提成" prop="Commission"> <el-input v-model='addMsg.Commission' :disabled="true"></el-input> </el-form-item> </el-col> <!-- <el-col :span="4" v-show="addMsg.CustomerType==1||addMsg.CustomerType==2"> <el-form-item label="分摊人" prop="CommissionSharePeople" > <el-select :disabled="isUpdateSharePeople" filterable clearable @change='getTotalPrice' v-model='addMsg.CommissionSharePeople' :placeholder="$t('pub.pleaseSel')"> <el-option label='无' value='-1' key='-1'></el-option> <el-option v-for='item in employeeList' :label='item.EmName' :value='item.EmployeeId' :key='item.EmployeeId'></el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" v-show="addMsg.CommissionSharePeople!='-1'&&(addMsg.CustomerType==1||addMsg.CustomerType==2)"> <el-form-item label="分摊金额" prop="CommissionShareMoney"> <el-input v-model='addMsg.CommissionShareMoney' :disabled="true"></el-input> </el-form-item> </el-col> --> <el-col :span="4"> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="经济舱" prop="YSeatNum"> <el-input v-model='addMsg.YSeatNum' @keyup.native="checkInteger(addMsg,'YSeatNum')" ></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="商务舱" prop="ESeatNum"> <el-input v-model='addMsg.ESeatNum' :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="头等舱" prop="FSeatNum"> <el-input v-model='addMsg.FSeatNum' :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <!--<el-form-item label="单地接数量" prop="AirticketNum"> <el-input v-model='addMsg.AirticketNum' @keyup.native="checkInteger(addMsg,'AirticketNum')" @input='getTotalPrice();getHouseNo()'></el-input> </el-form-item>--> </el-col> <!-- <el-col :span="4"> <el-form-item label="可退景点"> <el-select filterable multiple class='multiple_input' v-model='addMsg.ScenicRefundArr' :placeholder="$t('pub.pleaseSel')" @change='ScenicRefundMethods'> <el-option v-for='item in ScenicRefundList' :label='item.ScenicName' :value='item.Id' :key='item.Id'> </el-option> </el-select> </el-form-item> </el-col> --> <el-col :span="4"> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="客人来源" prop="ClientSource"> <el-select v-model='addMsg.ClientSource' filterable :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in ddlyList" :label='item.Name' :value='item.Id' :key='item.Id'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" > <el-form-item label="所属平台" prop="BrandId" v-show="addMsg.ClientSource==1"> <el-select v-model='addMsg.BrandId' filterable :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in ssptList" :label='item.brandName' :value='item.dictId' :key='item.dictId'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="交易方式" prop="TradeWay" v-show='addMsg.ClientSource==1'> <el-select v-model='addMsg.TradeWay' filterable disabled :placeholder="$t('pub.pleaseSel')" @change='tradeWayMethods'> <el-option v-for="item in jyfsList" :label='item.Name' :value='item.Id' :key='item.Id'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" v-if='addMsg.TradeWay==1'> <el-form-item label="平台订单号" prop="PlatformOrder"> <el-input v-model='addMsg.PlatformOrder' @input='platformOrderMethods' maxlength='20'></el-input> </el-form-item> </el-col> <el-col :span="4" v-show="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''"> <el-form-item label="定金" prop="MinOrderPrice"> <el-input v-model='addMsg.MinOrderPrice' @keyup.native="checkPrice(addMsg,'MinOrderPrice')"></el-input> </el-form-item> </el-col> <el-col :span="4" v-if="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''"> <el-form-item label="费用类型" prop="CostType"> <el-select v-model="addMsg.CostType" filterable placeholder="请选择费用类型"> <el-option v-for='item in fylxList' :label="item.Name" :value="item.ID" :key='item.ID'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" v-if="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''"> <el-form-item label="交易日期" prop="TradeDate"> <el-date-picker v-model='addMsg.TradeDate' value-format="yyyy-MM-dd" type="date"></el-date-picker> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item label="备注" prop="Remarks"> <el-input v-model='addMsg.Remarks' type='textarea' maxlength='500'></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <div class="query-box Plan_Query"> <ul> <!-- <li> <span> <em>状态</em> <el-select v-model="msg.FlyState" :placeholder="$t('system.ph_in')" disabled class="w120"> <el-option label="未起飞" value="0"></el-option> <el-option label="已起飞" value="1"></el-option> </el-select> </span> </li> --> <li> <span> <em>线路</em> <el-select v-model="msg.LineId" :placeholder="$t('pub.pleaseSel')" class="w120"> <el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option> <el-option v-for="item in LineList" :key="item.LineID" :label="item.LineName" :value="item.LineID"></el-option> </el-select> </span> </li> <li> <span class="hotel_name"> <em>航空公司</em> <el-select v-model="msg.AirLineID" filterable :placeholder="$t('system.ph_in')" class="w120"> <el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option> <el-option v-for="item in airlineList" :label="item.AlName" :value="item.AirLineId" :key="item.AirLineId"></el-option> </el-select> </span> </li> <li> <span> <em>航班日期</em> <el-date-picker clearable class="w135" v-model="msg.QFlightDateStart" type="date" :picker-options="beforeCheck" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')"></el-date-picker> <span class="_ln">-</span> <el-date-picker clearable class="w135" v-model="msg.QFlightDateEnd" type="date" :picker-options="afterCheck" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')"></el-date-picker> </span> </li> <li> <span> <em>操作人</em> <el-select v-model="msg.CreateBy" filterable :placeholder="$t('system.ph_in')" class="w120"> <el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></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> <span> <em>编号</em> <el-input v-model="msg.ID" placeholder="机票编号"></el-input> </span> </li> <li> <span> <em>定金类型</em> <el-select v-model="msg.DepositType" filterable :placeholder="$t('system.ph_in')" class="w120"> <el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option> <el-option v-for="item in DepositTypeArray" :label="item.Name" :value="item.Id" :key="item.Id"></el-option> </el-select> </span> </li> <li> <span> <em>只看可报名</em> <el-select v-model="msg.IsPayOrder" filterable :placeholder="$t('system.ph_in')" class="w120"> <el-option label="是" value="1"></el-option> <el-option label="否" value="2"></el-option> </el-select> </span> </li> <li style="margin-right:50px;"> <button class="normalBtn" type="button" @click="resetPageIndex(),getList()">{{$t('pub.searchBtn')}}</button> </li> </ul> </div> <div class="PlaneTicket_list"> <ul class="_ol_color clearfix"> <li> <span class="_red _cl"></span> <span class="_red_text">{{$t('Airticket.Air_redType')}}:</span> {{$t('Airticket.Air_firstClass')}} </li> <li> <span class="_green _cl"></span> <span class="_green_text">{{$t('Airticket.Air_greenType')}}:</span> {{$t('Airticket.Air_businessClass')}} </li> <li> <span class="_blu _cl"></span> <span class="_blu_text">{{$t('Airticket.Air_blueType')}}:</span> {{$t('Airticket.Air_EconomyClass')}} </li> </ul> <div class="_ol_info" :class="addShow==true||command==true?'_edHeight':''"> <ul class="_ol_list" v-loading="loading"> <li v-for="(item,index) in dataList" :data-id="item.ID"> <span class="_oll_line" v-if="item.FreightSpace==1"></span> <span class="_oll_line _o_green" v-if="item.FreightSpace==2"></span> <span class="_oll_line _o_blu" v-if="item.FreightSpace==3"></span> <el-row :gutter="10"> <el-col :span="2"> <span class="_lian_style" v-if="item.IsSetUnion==1">联</span> <div class="_oll_img_box"> <span class="TICK_Code PingFangSC" style="left:35px;">编号:{{item.ID}}</span> <img v-if="!item.AirlineUrl" class="_oll_img" :src="defaultImg"> <img v-else class="_oll_img" :src="item.AirlineUrl" :onerror="defaultImg" style="margin-left:30px;"> </div> </el-col> <el-col :span="3" class="vmiddle"> <div class="_oll_info"> <el-tooltip class="item" effect="dark" :content="item.AirlineName" placement="top-start" popper-class="max-w250"> <p class="_oll_tit">{{item.AirlineName}}</p> </el-tooltip> <span class="_oll_adrr">{{item.FreightSpaceStr}}</span> </div> </el-col> <el-col :span="5" class="vmiddle"> <div class="FlightDivDetails"> <div class="_flightList" v-for="subItem in item.flightList"> <span class="FlightNumber">{{subItem.Flight_number}}</span> <span>{{subItem.FlightDate}} {{subItem.Departure_time}}</span> <span>{{subItem.DepartureName}}</span> <span v-if="subItem.StopoverName">-</span> <span>{{subItem.StopoverName}}</span> <span v-if="subItem.ArrivalCityName">-</span> <span>{{subItem.ArrivalCityName}}</span> </div> </div> </el-col> <el-col :span="7" class="vmiddle"> <div class="TMN_Seat"> <div class="TK_SeatList"> <ul class="clearfix"> <li> <span class="iconfont icon-img_yizi"></span> </li> <li> <p class="_num3">{{item.B2CPrice}}</p> <p class="_wz">价格</p> </li> <li> <p class="_num3">{{item.TotalTicketNum}}</p> <p class="_wz">{{$t('Airticket.Air_reservation')}}</p> </li> <li> <p class="_num3">{{item.SellTicketNum}}</p> <p class="_wz">{{$t('hotel.hotel_roomUsed')}}</p> </li> <li> <p class="_num2">{{item.UnionCount}}</p> <el-popover popper-class="_tripDetails" width="500"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class="_color_666"> <th>联运城市</th> <th>订单号</th> <th>联运数量</th> <th>已配数量</th> <th>是否住宿</th> </tr> <tr v-for="(unionItem,x) in item.UnionDetailList"> <td>{{unionItem.UnionCityName}}</td> <td>{{unionItem.UnionOrderIds}}</td> <td>{{unionItem.UnionGuestCount}}</td> <td>{{unionItem.UnionConfigNum}}</td> <td> <span v-if="unionItem.IsStay==1" class="_num3">是</span> <span v-else>否</span> </td> </tr> </table> <p slot="reference" class="_wz _yiyong">联运</p> </el-popover> </li> <!-- <li> <p class="_num3">{{item.OrderTotalNum}}</p> <p class="_wz">报名人数</p> </li> --> <li> <p class="_num3">{{item.OutTicketPercent}} %</p> <p class="_wz">出票百分比</p> </li> </ul> </div> </div> </el-col> <el-col :span="2" class="vmiddle"> <div class="TMA_raduis"> <ul style="padding:0;"> <li class="_head" style="display:block"> <img style="margin-left:0px" v-if="item.CreateUrl" :src="item.CreateUrl" :onerror="defaultImg"> <img style="margin-left:0px" v-else src="../../assets/img/bg_z1@2x.png"> <span style="padding:0;margin:0;display:block;">{{item.CreateName}}</span> </li> </ul> </div> </el-col> <el-col :span="3" class="vmiddle"> <div class="_jztime"> <p class="PingFangSC">{{item.TicketDeadlineStr}}</p> <p class="_text">{{$t('Airticket.Air_deadTicketTime')}}</p> </div> </el-col> <el-col :span="1" class="vmiddle"> <el-button-group size="mini"> <el-tooltip class="item" effect="dark" content="立即下单" placement="top-start"> <el-button type="primary" icon="iconfont icon-fukuan1" @click="goBuy(item)"></el-button> </el-tooltip> </el-button-group> </el-col> </el-row> <el-row :gutter="0"> <el-col :span="24"> <div class="TCID_cont PingFangSC"> 团期: <span v-show="item.TCIDList.length==0">暂无</span> <span class="Ticket_TCID" style="display:inline-block;margin-right: 10px;cursor: pointer;" v-for="(subItem, subIndex) in item.TravelInfo" :key="subIndex" @click="goUrlP(subItem.TCID)">{{subItem.TCNUM}}({{subItem.TCID}})</span> </div> </el-col> </el-row> </li> </ul> <div class="noData" v-show="noData">{{$t('system.content_noData')}}</div> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total"></el-pagination> </div> </div> </div> </template> <script> export default { data() { return { pickerOptions0: { disabledDate: (time) => { //disabledDate true 为禁止选择 let starTime=new Date(this.starTime) return time.getTime()>starTime.getTime() //return time.getTime() > Date.now()||time.getTime() < endTime.getTime()-2.592e9 //禁止选择的日期:(今天之后的日期,结束日期之后一个月以前的日期) } }, pickerOptions1: { disabledDate: (time) => { let endTime=new Date(this.endTime) return time.getTime()<endTime.getTime()-5.64e7 //return time.getTime() <starTime.getTime() ||time.getTime() > starTime.getTime()+2.592e9 || time.getTime() > Date.now();//禁止选择的日期:(开始日期之前,开始日期一个月以后的日期,今天之后的日期) } }, outerVisible1: false, //导入文件弹窗标题 importFileTitle: "批量导入", //是否显示导入文件弹窗 outerVisible: false, //行程单上传信息 UploadItineraryMsg: { ID: 0, TripItinerary: "" }, //机票定金类型 DepositTypeArray: [{ Id: 1, Name: "一定" }, { Id: 2, Name: "二定" }, { Id: 3, Name: "三定" }, { Id: 4, Name: "四定" }, { Id: 5, Name: "尾款" }, ], msg: { pageIndex: 1, pageSize: 6, AirLineID: 0, DepositType: 0, OpenPlatform: "", QFlightDateStart: "", QFlightDateEnd: "", CreateBy: 0, //操作人 FlyState: "0", LineId: 0, //线路编号 ID: 0, TicketType: 0, //定金类型(1定,2定等) IsPayOrder: '1' }, //去程 addGoFlight: { AirLineTicketId: 0, FlightType: "", FlightID: "", FlightDate: "", aName: "", dName: "", FlightSubType: 1, ID: 0, AirLineID: 0, }, //回程 returnTripData: { AirLineTicketId: 0, FlightType: "", FlightID: "", FlightDate: "", aName: "", dName: "", FlightSubType: 3, ID: 0, AirLineID: 0 }, //员工列表 EmployeeList: [], defaultSelectValue: 0, downList: "", //一般模板 downMoreList: "", //多航段米板 changeAirLineID: "", chengeDelIdList: [], openplatString: [], OpenPlatformStrings: "", TicketOrder: "", //航空公司下拉框 airlineList: [], //舱位列表下拉框 FreightSpaceList: [], //机票类型下拉框 TicketTypeList: [], //日志详情 orderlogList: [], //航班详情 tripDetails: [], //订单详情 usedDetails: [], //默认图片 defaultImg: 'this.src="' + require("../../assets/img/bg_z1@2x.png") + '"', //开放平台下拉框 openplatform: [], TicketOrderList: [], //去程航班列表 AirportNameList: [], //回程航班列表 BackAirportNameList: [], //线路列表 LineList: [], returnTrip: [], total: 0, isSubmit: true, currentPage: 1, loading: true, noData: false, countryList: "", dataList: [], addShow: false, command: false, commonLineId:0, uploadDoc: true, //1-一般导入,2-多航段导入 importType: 1, pickerOptions1: { disabledDate(time) { return time.getTime() < Date.now() - 100000000; } }, beforeCheck: { disabledDate: time => { let endTime = new Date(this.msg.eDate); return endTime.getTime() < time.getTime(); } }, afterCheck: { disabledDate: time => { let startTime = new Date(this.msg.sDate); return startTime.getTime() >= time.getTime(); } }, isShowLayer: false, TCList: [], ScenicRefundList:[], addObj:{}, addMsg:{ OrderId:'0', TCID:'0', CustomerType:'', GroupType:'5', ContactName:'', ContactMobile:'', CustomerId:'', DepartureCityId:'', ReturnArriveCityId:'', IsIntermodal:'2', IsReturnIntermodal:'2', Unit_Price:'0', TC_Price:'0', ManNum:'0', ChirdNum:'0', ChirdNoNeedBedNum:'0', ChirdNeedBedNum:'0', BabyNum:'0', OldPeopleNum:'0', SingleRoomNum:'0', PreferPrice:0, YSeatNum:'0', ESeatNum:'0', FSeatNum:'0', Commission:'0', ClientSource:'', BrandId:'', TradeWay:'2', PlatformOrder:'', GuestNum:0, IsChildrenTour:'0', IsBirdDiscount:'0', PredictRoomNum:'0', BigRoomNum:'0', TripleRoomNum:'0', TradeDate:'', CostType:'', Remarks:'', VisaNum:'0', SafeNum:'0', AirticketNum:'0', ScenicRefundArr:[], GoCityTime:'', BackCityTime:'', CommissionSharePeople:'-1', CommissionShareMoney:'0', OrderForm:'1', SonControlID:'-1' }, stratPrice:'', stratPriceShow:false, returnPrice:'', returnPriceShow:false, isUpdateSharePeople:false, salePlace: [], employeeList: [], airlineList: [], khlxList:[], khlxList:[], ctlxList:[], ddlyList:[], ddztList:[], khmdList:[], ssptList:[], jyfsList:[], fylxList:[], startCityList: [], startCityList1:[], rules:{ CustomerType:[{ required: true, message: '请选择客户类型', trigger: 'change' }], CustomerId:[{ required: false, message: '请选择客户门店', trigger: 'change' }], // DepartureCityId:[{ required: true, message: '请选择出发城市', trigger: 'change' }], GroupType:[{ required: true, message: '请选择参团类型', trigger: 'change' }], ClientSource:[{ required: true, message: '请选择客人来源', trigger: 'change' }], TradeWay:[{ required: true, message: '请选择交易方式', trigger: 'change' }], ContactName:[{ required: true, message: '请输入联系人姓名', trigger: 'blur' }], ContactMobile:[ { required: true, message: '请输入联系人电话', trigger: 'blur' }, {pattern: /^(0|86|17951)?(13[0-9]|15[012356789]|17[012356789]|18[0-9]|19[0-9]|14[57])[0-9]{8}$/, message: '请输入正确的手机'} ], }, }; }, methods: { getTotalPrice: function () { this.addMsg.PreferPrice = Number(this.addMsg.YSeatNum)*Number(this.addMsg.Unit_Price) this.getTicheng() }, getHouseNo(){ //算法:((成人+儿童占床数+老人-(三人房数量*3))-单房数)/2+单房数+三人房数量 this.addMsg.PredictRoomNum=(Number(this.addMsg.AirticketNum)+(Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNeedBedNum)+Number(this.addMsg.OldPeopleNum))-Number(this.addMsg.TripleRoomNum)*3-Number(this.addMsg.SingleRoomNum))/2+Number(this.addMsg.SingleRoomNum)+Number(this.addMsg.TripleRoomNum) }, getNumber(){ this.addMsg.ChirdNum = this.addMsg.ChirdNoNeedBedNum*1 + this.addMsg.ChirdNeedBedNum*1 this.addMsg.VisaNum=(Number(this.addMsg.AirticketNum)+Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.BabyNum)+Number(this.addMsg.OldPeopleNum)) this.addMsg.SafeNum=(Number(this.addMsg.AirticketNum)+Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.BabyNum)+Number(this.addMsg.OldPeopleNum)) this.addMsg.YSeatNum=(Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.OldPeopleNum)) }, getFylx() { this.apipost('Financial_post_GetByOrderCostTypeList', {Type:1}, res => { if(res.data.resultCode == 1) { this.fylxList = res.data.data // console.log(res.data) } else { console.log(res.data.message) } }, err => {}) }, getJyfs(){ this.apipost('sellorder_get_GetSellTradeWayEnumList',{},res=>{ if(res.data.resultCode == 1) { this.jyfsList=res.data.data } },err=>{}) }, getStartList1() { this.apipost("city_post_GetList", { isDefault: -1, priceType: -1 }, res => { if(res.data.resultCode == 1) { this.startCityList1 = res.data.data; } else { this.Error(res.data.message); } }); }, getAirlineList() { //获取航空公司* let msg = {}; this.apipost('airline_post_GetList', msg, res => { this.airlineList = res.data.data; }, err => {}) }, getSalePlace() { this.apipost('travel_get_GetTravelSelectEnum', {}, res => { if(res.data.resultCode == 1) { this.salePlace = res.data.data.SalePlat // console.log(this.salePlace) } }, err => {}) }, getLineList() { this.apipost("line_post_GetAllList", {}, res => { if(res.data.resultCode == 1) { this.LineList = res.data.data; } }); }, getCompanyList() { let userInfo = this.getLocalStorage(); let RB_Group_id = userInfo.RB_Group_id; let msg = { Status: 0, is_show: 0, RB_Group_Id: RB_Group_id } this.apipost('admin_get_BranchGetList', msg, res => { if(res.data.resultCode == 1) { this.companyList = [{ Id: '-1', BName: '不限' }]; res.data.data.forEach(x => { var obj = { Id: '', BName: '' } obj.Id = x.Id.toString(); obj.BName = x.BName; this.companyList.push(obj); }) } }, err => {}) }, ScenicRefundMethods(){ if(this.addMsg.ScenicRefundArr.length==0){ this.ScenicRefundMoney=0; } else{ this.ScenicRefundMoney=0; this.addMsg.ScenicRefundArr.forEach(x=>{ let listIndex=this.ScenicRefundList.findIndex(item=>item.Id==x); if(listIndex!=-1){ this.ScenicRefundMoney+= this.ScenicRefundList[listIndex].RefundMoney; } }); }; this.getTotalPrice(); this.getTicheng(); }, tradeWayMethods(){ if(this.addMsg.TradeWay==2){ this.addMsg.PlatformOrder='' this.addMsg.MinOrderPrice=0 this.addMsg.CostType='' this.addMsg.TradeDate='' } }, getEmployee() { //员工 this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => { if(res.data.resultCode == 1) { this.employeeList = res.data.data; } else {} }, err => {}) }, getTicheng(){ //提成 this.addMsg.Commission = Number(this.addMsg.PreferPrice)*0.01 }, getStartList() { this.apipost("sellorder_get_GetAllStartCity", {}, res => { if(res.data.resultCode == 1) { this.startCityList = res.data.data; } else { console.log(res.data) } }); }, getSspt(){ //给非直客 隐藏电话姓名赋值 let obj=this.khmdList.find(item=>item.customerId==this.addMsg.CustomerId) this.customerId=obj.customerId this.createByInfo=obj.createByInfo this.addMsg.ContactName=obj.customerName+'('+obj.contact+')' this.addMsg.ContactMobile=obj.contactNumber // if(this.userId!=this.createByInfo) // { // this.addMsg.CommissionSharePeople=this.createByInfo // this.isUpdateSharePeople=true // }else{ // this.addMsg.CommissionSharePeople='-1' // this.isUpdateSharePeople=false // } this.apipost('app_today_visit_GetCustomerBrandByCustomerId',{customerInfoId:this.addMsg.CustomerId},res=>{ if(res.data.resultCode == 1) { this.addMsg.BrandId='' this.ssptList=res.data.data // console.log(this.ssptList) } },err=>{}) }, groupTypeChange: function(val) { if (val === '4') { this.addMsg.ManNum = 0 this.addMsg.ChirdNoNeedBedNum = 0 this.addMsg.ChirdNeedBedNum = 0 this.addMsg.BabyNum = 0 this.addMsg.OldPeopleNum = 0 this.addMsg.ManNum = 0 this.getNumber(); this.getHouseNo(); this.getTotalPrice() } }, getKhmdList(){ this.addObj.TravelInfo.forEach(x=>{ if(x.TCID==this.addMsg.TCID){ this.commonLineId = x.LineID; } }) this.apipost('app_today_visit_GetOrderMyCustomerList',{typeId:this.addMsg.CustomerType,lineId:this.commonLineId},res=>{ if(res.data.resultCode == 1) { this.khmdList=res.data.data } },err=>{}) }, getDdztList(){ this.apipost('sellorder_post_GetSellOrderStatusEnumList',{},res=>{ if(res.data.resultCode == 1) { this.ddztList=res.data.data } },err=>{}) }, getDdlyList(){ this.addMsg.ClientSource='' this.apipost('sellorder_get_GetSellClientSourceEnumList',{typeId:this.addMsg.CustomerType},res=>{ if(res.data.resultCode == 1) { this.ddlyList=res.data.data } },err=>{}) }, getCtlxList(){ this.apipost('sellorder_get_GetOrderJoinEnumList',{},res=>{ if(res.data.resultCode == 1) { this.ctlxList=res.data.data } },err=>{}) }, getKhlxList(){ this.apipost('sellorder_get_GetSellClientTypeEnumList',{},res=>{ if(res.data.resultCode == 1) { this.khlxList=res.data.data // console.log(res.data.data) } },err=>{}) }, cancelSubmit(){ this.isShowLayer=false this.$refs['addMsg'].resetFields(); this.clearMsg() }, getTypePrice(){ this.addMsg.ContactName='' this.addMsg.ContactMobile='' if(this.addMsg.CustomerType==1){ this.addMsg.TC_Price=this.addObj.B2CPrice this.addMsg.Unit_Price=this.addObj.B2CPrice; this.addMsg.CustomerId='' } if(this.addMsg.CustomerType==2){ this.addMsg.TC_Price=this.addObj.B2CPrice this.addMsg.Unit_Price=this.addObj.B2CPrice; this.addMsg.CustomerId='' } if(this.addMsg.CustomerType==3){ this.addMsg.TC_Price=this.addObj.B2CPrice this.addMsg.Unit_Price=this.addObj.B2CPrice; this.addMsg.CustomerId='0' this.addMsg.CommissionShareMoney='0' } if(this.addMsg.CustomerType==4){ this.addMsg.TC_Price=this.addObj.B2CPrice this.addMsg.Unit_Price=this.addObj.B2CPrice; this.addMsg.CustomerId='0' this.addMsg.CommissionShareMoney='0' } }, getScenicRefund(TCID){ this.apipost('sellorder_get_GetScenicRefundList',{TCID},res=>{ if(res.data.resultCode == 1) { this.ScenicRefundList=res.data.data this.ScenicRefundList.forEach(item=>{ item['ScenicName']=item.CouponsName+' -¥'+ this.moneyFormat(item.RefundMoney); }) } },err=>{}) }, goBuy(obj) { this.clearMsg() this.TCList = obj.TravelInfo this.isShowLayer = true; this.addObj=obj; this.addMsg.TCID=obj.TravelInfo[0].TCID; this.addMsg.AirTicketId=obj.ID; this.commonLineId = obj.TravelInfo[0].LineID; this.addMsg.DepartureCityId=obj.StartCityID this.addMsg.ReturnArriveCityId=obj.ReturnArriveCityId this.addMsg.GoCityTime=this.starTime=obj.StartCityTime this.addMsg.BackCityTime=this.endTime=obj.BackCityTime this.addMsg.SonControlID=obj.SonControlID; this.getScenicRefund(obj.TravelInfo[0].TCID); }, clearMsg(){ this.addMsg.OrderId='0' this.addMsg.TCID='0' this.addMsg.IsIntermodal='2' this.addMsg.IsReturnIntermodal='2' this.addMsg.Unit_Price='0' this.addMsg.TC_Price='0' this.addMsg.ManNum='0' this.addMsg.ChirdNum='0' this.addMsg.ChirdNeedBedNum='0' this.addMsg.BabyNum='0' this.addMsg.OldPeopleNum='0' this.addMsg.SingleRoomNum='0' this.addMsg.PreferPrice='0' this.addMsg.YSeatNum='0' this.addMsg.ESeatNum='0' this.addMsg.FSeatNum='0' this.addMsg.Commission='0' this.addMsg.BrandId='' this.addMsg.TradeWay='2' this.addMsg.GuestNum='0' this.addMsg.IsChildrenTour='0' this.addMsg.OrderId='0' this.addMsg.IsBirdDiscount='0' this.addMsg.PredictRoomNum='0' this.addMsg.BigRoomNum='0' this.addMsg.TripleRoomNum='0' this.addMsg.TradeDate='' this.addMsg.CostType='' this.addMsg.PlatformOrder='' this.ddlyList=[] this.addMsg.Remarks='' this.addMsg.MinOrderPrice='' this.addMsg.VisaNum='0'; this.addMsg.SafeNum='0'; this.addMsg.AirticketNum='0'; this.addMsg.ScenicRefundArr=[]; this.ScenicRefundMoney=0; this.addMsg.CommissionSharePeople='-1' this.addMsg.CommissionShareMoney='0' }, goUrlP: function (tcid) { this.$router.push({name: 'productQuery', query:{"id": tcid, blank: 'y', tab: '产品查询'}}); }, //上传行程单 uploadItinerary(item) { let newArr = []; newArr.push(item.file); let path = "/Upload/Ticket/"; this.UploadSelfFileT(path, newArr, x => { var str = this.domainManager().ViittoFileUrl + x.data.FilePath; var fileUrl = str; this.UploadItineraryMsg.TripItinerary = fileUrl; this.apipost( "AirTicket_Post_SetTripItinerary", this.UploadItineraryMsg, res => { if (res.data.resultCode == 1) { this.Success("上传行程单成功!"); this.UploadItineraryMsg.ID = 0; this.UploadItineraryMsg.TripItinerary = ""; } this.outerVisible1 = false; }, null ); }); }, handleAvatarItinerarySuccess(file) { this.$refs.ticketUploadItinerary.clearFiles(); }, //跳转到财务详情页面 goFinaceDetails(frid) { this.$router.push({ name: "FinancialDocumentsDetail", query: { id: frid, blank: "y", tab: "单据详情" } }); }, //获取颜色状态 getClass(status) { //默认样式 var classStr = "bg_default"; switch (status) { //审核成功样式 case 4: classStr = "_bg_gre"; break; //审核中样式 case 2: classStr = "bg_auditing"; break; } return classStr; }, //获取审核状态 getTicketDepositStatus(status) { var TicketStatus = ""; switch (status) { case 2: TicketStatus = "审核中"; break; case 3: TicketStatus = "审核失败"; break; case 4: TicketStatus = "审核成功"; break; } return TicketStatus; }, //获取首付款类型 getFeeType(FeeType) { var FeeTypeName = ""; switch (FeeType) { case 1: FeeTypeName = "收款"; break; case 2: FeeTypeName = "付款"; break; } return FeeTypeName; }, //导入 getImport(command) { this.importType = command; this.outerVisible = true; }, //下载(不要删除) getDownLoad() {}, //下载文件 DownLoad(Type, str) { if (Type == 1) { window.open(this.downList); } else if (Type == 2) { window.open(this.downMoreList); } else { window.open(str); } }, getImportFileUrl() { let url = this.domainManager().UploadFileUrl + "?cmd=dmc_post_LocalFileUpload&fileType=1&fileLimit=1&Type=2&uid=" + this.getLocalStorage().EmployeeId + "&importType=" + this.importType; return url; }, getList() { this.loading = true; this.apipost( "AirTicket_get_GetERPAirTicketPageList", this.msg, res => { this.loading = false; if (res.data.resultCode == 1) { this.total = res.data.data.count; this.dataList = res.data.data.pageData; this.noData = !this.total > 0; } }, err => {} ); }, //初始化航空公司下拉 initAirlines() { this.apipost( "airline_post_GetList", {}, res => { if (res.data.resultCode == 1) { this.airlineList = res.data.data; } }, err => {} ); }, //获取舱位列表 GetFreightSpaceList() { this.apipost( "AirTicket_Get_GetFreightSpaceList", {}, res => { if (res.data.resultCode == 1) { this.FreightSpaceList = res.data.data; } }, err => {} ); }, //获取机票类型 GetTicketTypeList() { this.apipost( "AirTicket_Get_GetTicketTypeList", {}, res => { if (res.data.resultCode == 1) { this.TicketTypeList = res.data.data; } }, err => {} ); }, //新增去程 addFlight() { if (this.addGoFlight.FlightDate == "") { this.Warning("请选择航班日期!"); return; } var newList = {}; var newDate = this.addGoFlight.FlightDate; this.AirportNameList.forEach(x => { if (x.ID == this.addGoFlight.FlightID) { if (this.addMsg.flightList.length < 1) { newList.FlightType = 1; //去程 } else { newList.FlightType = 2; //去程中转 } newList.aName = x.aName; newList.dName = x.dName; newList.Flight_number = x.Flight_number; newList.FlightDate = newDate; newList.FlightID = this.addGoFlight.FlightID; newList.AirLineTicketId = this.addGoFlight.AirLineTicketId; newList.AirLineID = this.addGoFlight.AirLineID; newList.FlightSubType = this.addGoFlight.FlightSubType; newList.ID = this.addGoFlight.ID; this.addMsg.flightList.push(newList); } }); //航班排序 this.FlightSort(); this.addGoFlight.FlightDate = ""; this.addGoFlight.FlightID = ""; this.addGoFlight.AirLineID=0; }, //添加回程 addFlightReturn() { if (this.returnTripData.FlightDate == "") { this.Warning("请选择航班日期!"); return; } var newList = {}; var newDate = this.returnTripData.FlightDate; this.BackAirportNameList.forEach(x => { if (x.ID == this.returnTripData.FlightID) { if (this.addMsg.flightList.length < 1) { newList.FlightType = 3; //回程 } else { newList.FlightType = 2; //回程中转 } newList.aName = x.aName; newList.dName = x.dName; newList.Flight_number = x.Flight_number; newList.FlightDate = newDate; newList.FlightID = this.returnTripData.FlightID; newList.AirLineTicketId = this.returnTripData.AirLineTicketId; newList.FlightSubType = this.returnTripData.FlightSubType; newList.AirLineID = this.returnTripData.AirLineID; newList.ID = this.returnTripData.ID; this.addMsg.flightList.push(newList); } }); //航班排序 this.FlightSort(); this.returnTripData.FlightDate = ""; this.returnTripData.FlightID = ""; this.returnTripData.AirLineID = 0; }, //航班排序 FlightSort() { let goTripArray = []; //去程航班 let returnTripArray = []; //回程航班 this.addMsg.flightList.forEach(x => { if (x.FlightSubType == 1) { goTripArray.push(x); } if (x.FlightSubType == 3) { returnTripArray.push(x); } }); goTripArray.sort(this.arraySort); returnTripArray.sort(this.arraySort); if (goTripArray != null && goTripArray.length > 0) { goTripArray.forEach((item, index) => { if (index == 0) { item.FlightType = 1; //去程 } else { item.FlightType = 2; //去程中转 } }); } this.addMsg.flightList = []; this.addMsg.flightList = goTripArray; if (returnTripArray != null && returnTripArray.length > 0) { returnTripArray.forEach((item, index) => { if (index == returnTripArray.length - 1) { item.FlightType = 3; //回程 } else { item.FlightType = 2; //去程中转 } this.addMsg.flightList.push(item); }); } }, //数组排序 arraySort(itemA, itemB) { if (itemA.FlightDate < itemB.FlightDate) { return -1; } else if (itemA.FlightDate > itemB.FlightDate) { return 1; } else { if (itemA.FlightDate < itemB.FlightDate) { return 1; } else if (itemA.FlightDate > itemB.FlightDate) { return -1; } return 0; } }, // 修改 根据ID获取信息 getEntityExtend(ID) { this.addShow = true; this.command = false; this.initAddMsg(); this.chengeDelIdList = []; this.apipost( "ticket_get_GetEntityExtend", { ID, ID }, res => { if (res.data.resultCode == 1) { this.addMsg = res.data.data; if (this.addMsg.OpenPlatform != null) { if (this.addMsg.OpenPlatform != "") { this.OpenPlatformStrings = this.addMsg.OpenPlatform.split(","); this.OpenPlatformStrings.forEach(x => { this.openplatString.push(Number(x)); }); } } this.changeAirLineID = res.data.data.AirLineID; res.data.data.flightList.forEach((x, index) => { this.chengeDelIdList.push(x.ID); }); //this.getAirportNameList(res.data.data.AirLineID); } else { this.Warning(res.data.message); } }, err => {} ); }, //根据航空公司ID 获取机场列表 getAirportNameList(AirLineID, type) { if (type == 1) { this.addGoFlight.FlightID = ""; this.addGoFlight.FlightDate = ""; } else { this.returnTripData.FlightID = ""; this.returnTripData.FlightDate = ""; } let msg = { airlineID: AirLineID }; this.apipost( "flight_post_GetAirportNameList", msg, res => { if (res.data.resultCode == 1) { if (type == 1) { this.AirportNameList = res.data.data; } else { this.BackAirportNameList = res.data.data; } } }, err => {} ); }, //命令提交 getPostTicketOrder() { if (!this.TicketOrder) { this.Warning("请输入命令"); return; } this.apipost( "AirTicket_post_PostTicketOrder", { TicketOrder: this.TicketOrder }, res => { if (res.data.resultCode == 1) { var DataArray = res.data.data; this.TicketOrder = ""; DataArray.forEach(ticketItem => { this.TicketOrderList.push(ticketItem); var newList = {}; newList.AirLineTicketId = 0; newList.FlightID = ticketItem.FID; newList.FlightDate = ticketItem.FlightDate; newList.FlightSubType = 1; newList.FlightType = 1; this.addMsg.flightList.push(newList); }); //航班排序数组 let gotripArray = this.addMsg.flightList; gotripArray.sort(this.arraySort); if (gotripArray != null && gotripArray.length > 0) { gotripArray.forEach((item, index) => { if (index == 0) { item.FlightType = 1; //启程 item.FlightSubType = 1; } else if ( index == gotripArray.length - 1 && gotripArray.length > 1 ) { item.FlightType = 3; //返程 item.FlightSubType = 3; } else { item.FlightType = 2; } }); } this.addMsg.flightList = []; this.addMsg.flightList = gotripArray; let newGoTripArray = this.TicketOrderList; newGoTripArray.sort(this.arraySort); this.TicketOrderList = newGoTripArray; this.addMsg.AirLineID = this.TicketOrderList[0].AirlineID; this.addMsg.FreightSpace = this.TicketOrderList[0].FreightSpace; this.addMsg.TicketNum = this.TicketOrderList[0].Num; } else { this.Warning(res.data.message); } }, err => {} ); }, //删除 deleteCmd(index) { var that = this; this.Confirm("是否删除?", function () { that.deletelist(index); }); }, //航空公司改变 changeSele(chengeDelIdList) { var that = this; this.Confirm("航空公司改变将删除以前的航班信息?", function () { this.addMsg.flightList = []; this.apipost( "AirticketFlight_Post_RemoveByIds", { TicketFlightId: chengeDelIdList.toString() }, res => {}, err => {} ); }); }, //删除航班 deletFlightInfo(id, index) { var that = this; that.Confirm("是否删除此航班?", function () { that.addMsg.flightList.splice(index, 1); that.apipost( "AirticketFlight_Post_Remove", { TicketFlightId: id }, res => {}, err => {} ); }); }, saveAddData(addMsg) { if (addMsg == "addMsgCmd") { if (this.addMsg.flightList.length >= 2) { this.addMsg.TicketType = 2; } } if (!this.addMsg.FirstDeposit) { this.addMsg.FirstDeposit = ""; } if (!this.addMsg.SecondDeposit) { this.addMsg.SecondDeposit = ""; } if (!this.addMsg.ThirdDeposit) { this.addMsg.ThirdDeposit = ""; } if (!this.addMsg.FourthDeposit) { this.addMsg.FourthDeposit = ""; } this.addMsg.TicketNum = parseInt(this.addMsg.TicketNum); this.addMsg.ID = parseInt(this.addMsg.ID); this.addMsg.OpenPlatform = this.openplatString.toString(); var newList = this.addMsg; newList.flightList.forEach(x => { delete x.ArrivalCityName; delete x.DepartureName; delete x.Flight_number; delete x.aName; delete x.dName; }); if (newList.flightList != null && newList.flightList.length > 0 &&newList.flightList[0].AirLineID!=undefined) { this.addMsg.AirLineID = newList.flightList[0].AirLineID; } // if (!this.addMsg.AirLineID) { // this.addMsg.AirLineID = 0; // } if (this.isSubmit) { this.isSubmit = false; this.apipost( "AirTicket_post_Set", newList, res => { if (res.data.resultCode == 1) { this.Success("保存成功"); this.initAddMsg(); this.getList(); } else { this.Warning(res.data.message); } this.addShow = false; this.command = false; this.isSubmit = true; }, err => {} ); } }, submitForm(addMsg) {//提交创建、修改表单 this.$refs[addMsg].validate((valid) => { if (valid) { this.saveOrder() } else { return false; } }); }, saveOrder(){ //验证人数和机位数 if((Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.OldPeopleNum))!=Number(this.addMsg.YSeatNum)+Number(this.addMsg.ESeatNum)+Number(this.addMsg.FSeatNum)) { this.$message.warning('人数和机位数不相等!') return } if((Number(this.addMsg.AirticketNum)+Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.OldPeopleNum)+Number(this.addMsg.BabyNum))<Number(this.addMsg.VisaNum)) { this.$message.warning('签证数量不能大于人数总和!') return } if((Number(this.addMsg.AirticketNum)+Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.OldPeopleNum)+Number(this.addMsg.BabyNum))<Number(this.addMsg.SafeNum)) { this.$message.warning('保险数量不能大于人数总和!') return } // if((Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.OldPeopleNum)+Number(this.addMsg.BabyNum))<Number(this.addMsg.AirticketNum)) // { // this.$message.warning('机票数量不能大于人数总和!') // return // } // if(Number(this.addMsg.ChirdNeedBedNum)>Number(this.addMsg.ChirdNum)){ // this.$message.warning('儿童占床不能大于儿童数!') // return // } // if(Number(this.addMsg.ChirdNum)-Number(this.addMsg.ChirdNeedBedNum)+Number(this.addMsg.BabyNum)>Number(this.addMsg.ManNum)+Number(this.addMsg.OldPeopleNum)+Number(this.addMsg.ChirdNeedBedNum)) // { // this.$message.warning('儿童占床数量不足!') // return // } if(this.userId==this.createByInfo) { if(this.addMsg.CommissionSharePeople=='-1'){ this.addMsg.CommissionShareMoney='0' } } // this.addMsg. this.addMsg.GuestNum=Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.OldPeopleNum)+Number(this.addMsg.BabyNum)+Number(this.addMsg.AirticketNum) // this.addMsg.IsChildrenTour=this.addObj.IsSupportChildren // this.addMsg.IsBirdDiscount=this.addObj.IsBirdDiscount this.addMsg.CommissionSharePeople=-1; this.apipost('sellorder_post_SetOrderInfoForAirTicket',this.addMsg,res=>{ if(res.data.resultCode == 1) { this.$message.success(res.data.message) this.$refs['addMsg'].resetFields(); this.getList() this.clearMsg() this.isShowLayer=false }else{ this.$message.error(res.data.message) } },err=>{}) }, //删除数组 deletelist(index) { this.TicketOrderList.splice(index, 1); this.addMsg.flightList.splice(index, 1); }, //获取订单详情 getUsedDetails(index) { this.usedDetails = this.dataList[index].OrderList; }, //日志详情 InfoChangeLogShow(ID) { this.apipost( "DmcInfoChangeLog_get_GetList", { ResourceId: ID, ResourceType: 3 }, res => { this.orderlogList = res.data.data; }, err => {} ); }, //获取开放平台 GetPlatform() { this.apipost("hotel_post_GetPlatform", {}, res => { this.openplatform = res.data.data; }); }, //翻页功能按钮 handleCurrentChange(val) { this.msg.pageIndex = val; this.getList(); }, //查询初始化页码 resetPageIndex() { this.msg.pageIndex = 1; this.currentPage = 1; }, //重新初始化提交参数 initAddMsg() { this.addMsg.ID = 0; this.addMsg.AirLineID = ""; this.addMsg.FreightSpace = ""; this.addMsg.PNR = ""; this.addMsg.TicketType = 1; this.addMsg.TicketDeadline = ""; this.addMsg.TicketNum = ""; this.addMsg.CostPrice = ""; this.addMsg.SalePrice = ""; this.addMsg.B2BPrice = ""; this.addMsg.B2CPrice = ""; this.addMsg.OpenPlatform = ""; this.addMsg.FirstDeposit = ""; this.addMsg.SecondDeposit = ""; this.addMsg.ThirdDeposit = ""; this.addMsg.FourthDeposit = ""; this.addMsg.FinalPayment = ""; this.addMsg.flightList = []; this.addMsg.LineId = 0; this.AirportNameList = ""; this.addGoFlight.FlightDate = ""; this.addGoFlight.FlightID = ""; this.TicketOrderList = []; this.openplatString = []; this.changeAirLineID = ""; }, //弹出框取消 初始化谈框内表单 resetForm(formName) { this.$refs[formName].resetFields(); this.openplatString = []; }, //上传文件后清空文件队列 handleAvatarSuccess(res, file) { this.$refs.ticketUpload.clearFiles(); if (res.resultCode == 1) { this.Success(res.message); this.outerVisible = false; this.getList(); } }, //下载模板文件 getDownList() { this.apipost( "AirTicket_post_DownAirticket", {}, res => { if (res.data.resultCode == 1) { this.downList = this.domainManager().LocalTemplateFileDownLoadUrl + res.data.data.FileUrl; this.downMoreList = this.domainManager().LocalTemplateFileDownLoadUrl + res.data.data.MoreUrl; } else { this.Error(res.data.message); } }, err => {} ); }, goUrl(path, obj, name) { this.$router.push({ path: path, query: { id: obj.ID, alcode: obj.AlCode, flightdate: obj.FlightDate, blank: "y", tab: name } }); }, //删除机票 DeleteAirticket(Id) { if (Id > 0) { var that = this; this.Confirm("是否删除?", function () { var msg = { ID: Id }; that.apipost( "AirTicket_Post_RemoveAirticket", msg, res => { if (res.data.resultCode == 1) { that.Success("删除成功!"); that.getList(); } else { that.Error(res.data.message); } }, null ); }); } else { this.addMsg.RulesList.splice(index, 1); } }, //根据当前员工所在部门获取该部门及子部门员工信息 getEmployeeList() { this.apipost( "admin_get_GetEmployeeByUserDepartmentId", {}, res => { if (res.data.resultCode == 1) { this.EmployeeList = res.data.data; } }, err => {} ); }, //获取线路列表 GetLineList() { this.apipost( "line_post_GetAllList", {}, res => { if (res.data.resultCode == 1) { this.LineList = res.data.data; } }, err => {} ); } }, mounted() { var id = this.$route.query.id; if (id) { this.msg.ID = id; } this.GetLineList(); this.initAirlines(); this.GetFreightSpaceList(); this.GetTicketTypeList(); this.GetPlatform(); this.getDownList(); this.getEmployeeList(); this.getEmployee() this.getCompanyList() this.getList() this.getLineList() this.getSalePlace() this.getAirlineList() this.getStartList() this.getStartList1() this.getKhlxList() this.getCtlxList() this.getDdztList() this.getJyfs() this.getFylx() } }; </script>