Commit 5454c59c authored by 黄奎's avatar 黄奎

页面修改

parent 23518fe5
<style>
.transform {
padding: 30px 10px 10px 10px;
}
.wrapper {
width: 600px;
background: #fff;
margin: 0 auto;
padding: 20px;
}
.add-box {
background: #abc;
}
.TicketManager .el-input--prefix .el-input__inner {
padding-left: 30px;
}
.TicketManager_list {
padding: 20px 0 0 0;
}
.TicketManager ._ol_info {
font-size: 12px;
height: 100%;
}
.TicketManager ._ol_info._edHeight {
height: 200px;
}
.TicketManager ._ol_color {
font-size: 12px;
width: 100%;
margin-bottom: 20px;
}
.TicketManager ._ol_color li {
padding: 0 15px;
}
.TicketManager ._ol_color li ._cl {
border-radius: 3px;
display: inline-block;
width: 5px;
height: 12px;
margin-right: 5px;
}
.TicketManager ._red {
background-color: #e95252;
}
.TicketManager ._red_text {
color: #e95252;
}
.TicketManager ._green {
background-color: #47bf8c;
}
.TicketManager ._green_text {
color: #47bf8c;
}
.TicketManager ._blu {
background-color: #2aaef2;
}
.TicketManager ._blu_text {
color: #2aaef2;
}
.TicketManager ._ol_list {
margin-top: 20px;
min-height: 500px;
}
.TicketManager ._ol_list > li {
margin: 20px 0 0px 0px;
transition: linear all 0.5s;
background-color: #fff;
border: 1px solid #dddddd;
border-left: 0;
position: relative;
padding-top: 10px;
}
.TicketManager ._ol_list > li:hover {
box-shadow: 0px 0px 20px rgba(191, 191, 191, 1);
transition: all linear 0.5s;
}
.TicketManager ._oll_tit {
color: #333333;
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.TicketManager ._oll_tit span {
display: inline-block;
padding: 1px 10px;
font-size: 12px;
border: solid 1px #ff9000;
color: #ff9000;
border-radius: 4px;
}
.TicketManager ._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;
}
.TicketManager ._oll_line._o_green {
background: #47bf8c;
}
.TicketManager ._oll_line._o_blu {
background: #2aaef2;
}
.TicketManager ._oll_info {
max-width: 100%;
}
.TicketManager ._oll_img {
height: 45px;
width: 45px;
border-radius: 50%;
margin: 5px 0 0 15px;
margin-left: 20px;
display: inline-block;
}
.TicketManager ._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;
}
.TicketManager ._oll_time {
display: inline-block;
background-color: #efefef;
border-radius: 4px;
color: #999999;
font-size: 12px;
padding: 2px 10px;
margin-top: 10px;
}
.TicketManager ._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;
}
.TicketManager .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;
}
.TicketManager .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;
}
.TicketManager .TK_SeatList {
height: 60px;
background-color: #f9f9f9;
padding-right: 3px;
}
.TicketManager .TK_SeatList > ul > li:nth-child(1) {
margin-left: 5px;
}
.TicketManager .TK_SeatList > ul > li {
float: left;
text-align: center;
margin: 5px 4px 0 0;
}
.TicketManager .TK_SeatList > ul > li:last-child {
margin-right: 0;
}
.TicketManager .TK_SeatList .iconfont {
color: #d1d1d1;
display: inline-block;
margin-top: 5px;
}
.TicketManager .TK_SeatList ._num1 {
font-size: 18px;
color: #333333;
height: 28px;
font-family: PingFangSC-Semibold, sans-serif;
}
.TicketManager .TK_SeatList ._num2 {
font-size: 18px;
color: #47bf8c;
height: 28px;
font-family: PingFangSC-Semibold, sans-serif;
cursor: pointer;
}
.TicketManager .TK_SeatList ._num3 {
font-size: 16px;
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._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;
}
.addTicketManager {
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;
}
.TicketManager .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;
}
._add_hangban > li {
padding: 20px 0;
overflow: auto;
}
._add_hangban > li > div {
margin-right: 20px;
}
._add_hangban > li:nth-child(2) {
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: 330px;
margin: 10px 0;
padding-bottom: 20px;
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_go .el-input .el-input__inner {
height: 30px;
}
._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;
}
.TicketManager ._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_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;
}
._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;
}
.TicketManager .InfoChangeLog .changLog {
background-color: #f9f9f9;
height: auto;
max-height: 170px;
width: 100%;
overflow: auto;
}
.TicketManager .InfoChangeLog .changLog ul {
margin-left: 20px;
}
.TicketManager .InfoChangeLog .changLog li {
border-left: 1px solid #e9e9e9;
position: relative;
padding-bottom: 15px;
padding-left: 20px;
}
.TicketManager .InfoChangeLog .changLog li p {
text-align: left;
}
.TicketManager .InfoChangeLog .changLog li .radius {
width: 7px;
height: 7px;
border-radius: 50%;
display: inline-block;
position: absolute;
left: -4px;
top: 4px;
}
.TicketManager .InfoChangeLog .changLog li.red .radius {
background-color: #e95252;
}
.TicketManager .InfoChangeLog .changLog li.green .radius {
background-color: #47bf8c;
}
.TicketManager .InfoChangeLog .time {
color: #666666;
padding-bottom: 5px;
}
.TicketManager .InfoChangeLog .changLog::-webkit-scrollbar,
.TicketManager ._ol_info::-webkit-scrollbar,
.addTicketManager::-webkit-scrollbar,
._add_hangban > li::-webkit-scrollbar,
.Journal .changLogList::-webkit-scrollbar {
width: 4px;
height: 8px;
}
.TicketManager .InfoChangeLog .changLog::-webkit-scrollbar-thumb,
.TicketManager ._ol_info::-webkit-scrollbar-thumb,
.addTicketManager::-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;
}
.TicketManager .InfoChangeLog .changLog::-webkit-scrollbar-track,
.TicketManager ._ol_info::-webkit-scrollbar-track,
.addTicketManager::-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;
}
.TicketManager _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;
}
.TicketManager .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;
}
.TicketManager .upload-demo {
text-align: center;
}
.TicketManager .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%;
}
.TicketManager .width_auto {
width: 80%;
}
.TicketManager ._rizhi {
background: #fff !important;
color: #e95252 !important;
height: 30px !important;
border: 1px solid #e95252 !important;
cursor: pointer !important;
border-radius: 15px !important;
}
.TicketManager .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;
}
.TicketManager .downBtn {
padding: 6px 20px;
position: relative;
top: -1px;
}
.TicketManager .icon-img_plane {
font-size: 12px;
-webkit-transform: scale(0.8);
}
.TicketManager .departName {
text-align: right;
}
.TicketManager .arrivalName {
text-align: left;
}
.TicketManager ._destination .el-button:focus {
background-color: #2aaef2 !important;
color: #fff !important;
}
.TicketManager .travelTo {
position: relative;
top: -2px;
}
.TicketManager .icon-arrow1 {
font-size: 12px;
position: relative;
top: 4%;
}
.TicketManager .multiple_input .el-input {
height: auto !important;
}
.TicketManager .el-button--primary {
padding: 5px;
margin-right: 1px;
}
.TicketManager .addTicketManager::-webkit-scrollbar {
/*滚动条整体样式*/
width: 4px;
/*高宽分别对应横竖滚动条的尺寸*/
height: 8px;
}
.TicketManager .addTicketManager::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 4px;
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
background: #c9c9c9;
}
.TicketManager .addTicketManager::-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;
}
.TicketManager ._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;
}
.TicketManager .el-date-editor.el-input,
.TicketManager .el-date-editor.el-input__inner {
width: 100%;
}
.TicketManager .addTicketManager .el-select {
width: 100%;
}
._oll_img_box {
height: 78px;
display: inline-block;
vertical-align: top;
padding-top: 14px;
}
.TicketManager .vmiddle {
display: flex;
align-items: Center;
}
.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;
}
.TicketManager .el-dropdown-menu__item:hover {
background-color: #e95252 !important;
color: #fff !important;
}
.TMA_PNR {
font-size: 12px;
color: #666666;
margin: 5px 0 0 16px;
}
.TicketManager .TICK_Code {
position: absolute;
left: 27px;
top: 0;
}
.TicketManager .TCID_cont {
min-height: 28px;
border-top: 1px dashed #ccc;
}
.Ticket_TCID {
margin: 5px 25px 5px 0;
display: inline-block;
}
/*航班详情*/
.TicketManager .FlightDivDetailsTM {
width: 100%;
/* overflow: auto; */
}
.TicketManager ._flightList {
text-align: left;
font-size: 12px;
margin-bottom: 5px;
padding-right: 5px;
}
/*航班号*/
.TicketManager .FlightNumber {
color: #ff0066;
font-weight: bold;
}
.TicketManager .el-button-group i {
font-size: 13px;
}
.FinaceDanList {
display: block;
cursor: pointer;
}
.FinaDetailContentTM {
/* height: 25px; */
/* overflow: auto; */
}
.TicketManager .TK_raduis ul li {
margin-left: 10px;
float: left;
display: inline-block;
min-width: 35px;
}
.TicketManager .TK_raduis ul {
display: inline-block;
}
.FinaceDanList {
cursor: pointer;
}
.teamTitle {
text-indent: 10px;
min-height: 28px;
border-top: 1px solid #ccc;
line-height: 28px;
}
.MyTicketManager .el-checkbox {
margin-left: 30px;
}
.MyTicketManager .picload {
width: 138px;
height: 92px;
border-radius: 2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
.MyTicketManager .picload .el-upload {
width: 138px;
height: 92px;
}
.MyTicketManager .picload .el-upload-dragger {
width: 100%;
height: 100%;
}
.MyTicketManager ._addUpload_box > div {
float: left;
width: 138px;
height: 92px;
border: 1px dashed rgba(210, 210, 210, 1);
border-radius: 2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
.MyTicketManager ._addUpload_box .icon-excel,
.MyTicketManager ._addUpload_box .icon-pdf {
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
.MyTicketManager ._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
.MyTicketManager .TM_line {
width: 100%;
height: 1px;
border-bottom: 1px dashed #d1d1d1;
margin: 5px 0;
}
</style>
<template>
<div class="wrapper">
<el-form :model="editForm" :rules="rules" ref="form" label-width="100px">
<div class="edit_form_box">
<div>
<el-form-item label="业务名称" prop="GTeamName">
<el-input v-model="editForm.GTeamName"></el-input>
</el-form-item>
<!--添加修改航班-->
<ul class="_add_hangban clearfix">
<li
v-if="addMsg.TicketType"
:class="addMsg.TicketType == 1 ? '_allWidth' : ''"
>
<span class="_add_go_label">{{ $t("Airticket.Air_go") }}</span>
<div
class="_add_go"
v-for="(item, index) in addMsg.flightList"
:key="index"
>
<template v-if="addMsg.flightList && item.TicketType == 1">
<div>
<p>
<span class="iconfont icon-hangban"></span>
<span>{{ item.Flight_number }}</span>
<span
class="iconfont icon-xingzhuang"
@click="deletFlightInfo(item.ID, index)"
></span>
</p>
<el-tooltip
class="item"
effect="dark"
:content="item.FlightDate"
placement="top-start"
popper-class="max-w250"
>
<!-- <p class="_add_info">
<span
>{{ $t("Airticket.Air_StartTime") }}{{
item.FlightDate
}}</span
>
</p> -->
</el-tooltip>
<span class="transform"
>是否中转:{{ item.IsTransfer === 1 ? "是" : "否" }}</span
>
<el-tooltip
class="item"
effect="dark"
:content="item.dName"
placement="top-start"
popper-class="max-w250"
>
<p class="_add_info">
<span
>{{ $t("system.query_flightAir") }}{{
item.dName
}}</span
>
</p>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
:content="item.aName"
placement="top-start"
popper-class="max-w250"
>
<p class="_add_info">
<span
>{{ $t("system.query_arrivalAir") }}{{
item.aName
}}</span
>
</p>
</el-tooltip>
<!-- <div style="margin: 10px 0 0 12px">
<el-input
type="text"
class="w80"
v-model="item.TicketDepartureTime"
@keyup.native="checkTime(item, 'TicketDepartureTime')"
maxlength="5"
:placeholder="$t('system.ph_time')"
></el-input>
-
<el-input
type="text"
class="w80"
v-model="item.TicketArrivalTime"
@keyup.native="checkTime(item, 'TicketArrivalTime')"
maxlength="5"
:placeholder="$t('system.ph_time')"
>
</el-input>
</div> -->
</div></template
>
</div>
<div class="_add_go _new_go">
<div>
<p>
<span>{{ $t("pub.addBtn") }}</span>
<span class="_add_btn" @click="addFlight()">{{
$t("pub.sureBtn")
}}</span>
</p>
<span class="_add_hbh">
<em class>航空公司</em>
<el-select
v-model="addGoFlight.AirLineID"
filterable
:placeholder="$t('pub.pleaseSel')"
@change="getAirportNameList(addGoFlight.AirLineID, 1)"
class="w150"
>
<el-option
v-for="item in airlineList"
:label="item.AlName"
:value="item.AirLineId"
:key="item.AirLineId"
></el-option>
</el-select>
</span>
<span class="_add_hbh">
<em class>{{ $t("system.query_flightNum") }}</em>
<el-select
v-model="addGoFlight.FlightId"
filterable
:placeholder="$t('system.ph_choice')"
class="w150"
>
<el-option
v-for="item in AirportNameList"
:key="item.ID"
:label="item.Flight_number"
:value="item.ID"
></el-option>
</el-select>
</span>
<span class="_add_hbh">
<em class>是否中转</em>
<el-radio-group v-model="addGoFlight.IsTransfer">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</span>
</div>
</div>
</li>
<li v-if="addMsg.TicketType == 2">
<span class="_add_go_label">{{
$t("Airticket.Air_returnTrip")
}}</span>
<div
class="_add_go"
v-for="(item, index) in addMsg.flightList"
:key="index"
>
<template v-if="addMsg.flightList && item.TicketType == 2">
<div>
<p>
<span class="iconfont icon-hangban"></span>
<span
>{{ item.Flight_number }}
{{ item.Departure_time }}</span
>
<span
class="iconfont icon-xingzhuang"
@click="deletFlightInfo(item.ID, index)"
></span>
</p>
<span class="transform"
>是否中转:{{ item.IsTransfer === 1 ? "是" : "否" }}</span
>
<el-tooltip
class="item"
effect="dark"
:content="item.dName"
placement="top-start"
popper-class="max-w250"
>
<p class="_add_info">
<span
>{{ $t("system.query_flightAir") }}{{
item.dName
}}</span
>
</p>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
:content="item.aName"
placement="top-start"
popper-class="max-w250"
>
<p class="_add_info">
<span
>{{ $t("system.query_arrivalAir") }}{{
item.aName
}}</span
>
</p>
</el-tooltip>
<!-- <div style="margin: 10px 0 0 12px">
<el-input
type="text"
class="w80"
v-model="item.TicketDepartureTime"
@keyup.native="checkTime(item, 'TicketDepartureTime')"
maxlength="5"
:placeholder="$t('system.ph_time')"
></el-input>
-
<el-input
type="text"
class="w80"
v-model="item.TicketArrivalTime"
@keyup.native="checkTime(item, 'TicketArrivalTime')"
maxlength="5"
:placeholder="$t('system.ph_time')"
>
</el-input>
</div> -->
</div>
</template>
</div>
<div class="_add_go _new_go">
<div>
<p>
<span>{{ $t("pub.addBtn") }}</span>
<span class="_add_btn" @click="addFlightReturn()">{{
$t("pub.sureBtn")
}}</span>
</p>
<span class="_add_hbh">
<em class>航空公司</em>
<el-select
v-model="returnTripData.AirLineID"
filterable
:placeholder="$t('pub.pleaseSel')"
@change="getAirportNameList(returnTripData.AirLineID, 2)"
class="w150"
>
<el-option
v-for="item in airlineList"
:label="item.AlName"
:value="item.AirLineId"
:key="item.AirLineId"
></el-option>
</el-select>
</span>
<span class="_add_hbh">
<em class>{{ $t("system.query_flightNum") }}</em>
<el-select
v-model="returnTripData.FlightId"
filterable
:placeholder="$t('system.ph_choice')"
class="w150"
>
<el-option
v-for="item in BackAirportNameList"
:key="item.ID"
:label="item.Flight_number"
:value="item.ID"
></el-option>
</el-select>
</span>
<span class="_add_hbh">
<em class>是否中转</em>
<el-radio-group v-model="returnTripData.IsTransfer">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</span>
</div>
</div>
</li>
</ul>
</div>
<div>
<el-form-item label="出发时间" prop="StartDate">
<el-date-picker
value-format="yyyy-MM-dd"
v-model="editForm.StartDate"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="经济舱" prop="YSeat">
<el-input v-model="editForm.YSeat"></el-input>
</el-form-item>
<el-form-item label="商务舱" prop="CSeat">
<el-input v-model="editForm.CSeat"></el-input>
</el-form-item>
<el-form-item label="头等舱" prop="FSeat">
<el-input v-model="editForm.FSeat"></el-input>
</el-form-item>
<el-form-item label="中心价格" prop="MiddlePrice">
<el-input v-model="editForm.MiddlePrice"></el-input>
</el-form-item>
<el-form-item label="合作伙伴">
<el-select
@change="onChange"
remote
:remote-method="onSearchFriend"
:loading="loading"
multiple
v-model="friendValue"
filterable
:placeholder="$t('system.ph_choice')"
style="100%"
>
<el-option
v-for="item in friendList"
:key="item.ID"
:label="item.CustomerName"
:value="item.ID"
></el-option>
</el-select>
<div>
</div>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="editForm.Remark"></el-input>
</el-form-item>
<el-form-item label="附件">
<td colspan="13">
<el-upload
v-show="!ContractArray.length"
class="upload-demo"
style="
display: inline-block;
position: relative;
top: -1px;
left: 3px;
"
:http-request="uploadFileBtn"
:show-file-list="false"
action=""
>
<el-button size="small" type="primary">添加附件</el-button>
</el-upload>
<template v-if="ContractArray && ContractArray.length > 0">
<template v-for="(subItem, subIndex) in ContractArray">
<a
style="margin-left: 20px; color: blue; cursor: pointer"
target="_blank"
:key="subIndex"
@click="downloadFile(subItem.Url, subItem.Name)"
>{{ subItem.Name }}</a
>
<a
:key="subIndex + 1000"
style="margin-left: 20px; color: blue; cursor: pointer"
@click="DeleteFile(subIndex)"
>删除</a
>
</template>
</template>
</td>
</el-form-item>
</div>
</div>
<div class="TravelFlightList">
<el-button class="TFAddFlight" @click="submit">
<i class="iconfont icon-img_haha"></i>添加
</el-button>
</div>
</el-form>
</div>
</template>
<script>
const baseInfo = {
start: "",
end: "",
max: "",
};
export default {
name: 'addInfo',
data() {
return {
loading: false,
ContractArray: [],
rules: {
GTeamName: [
{
required: true,
message: "请输入业务名称",
trigger: "blur",
},
],
StartDate: [
{
required: true,
message: "请选择出发时间",
trigger: "blur",
},
],
FSeat: [
{
required: true,
message: "请输入头等舱价格",
trigger: "blur",
},
],
CSeat: [
{
required: true,
message: "请输入商务舱价格",
trigger: "blur",
},
],
YSeat: [
{
required: true,
message: "请输入经济舱价格",
trigger: "blur",
},
],
MiddlePrice: [
{
required: true,
message: "请输入中心价格",
trigger: "blur",
},
],
Remark: [
{
required: true,
message: "请输入备注",
trigger: "blur",
},
],
C_StartAddress: [
{
required: true,
message: "请输入出发地点",
trigger: "change",
},
],
C_ReturnAddress: [
{
required: true,
message: "请输入返回地点",
trigger: "change",
},
],
C_AdultNum: [
{
required: true,
message: "请输入成人数",
trigger: "change",
},
],
C_PayDate: [
{
required: true,
message: "请选择支付日期",
trigger: "change",
},
],
},
detailInfo: {},
friendValue: [],
friendList: [
{
RealNameAuthentication: null,
ID: 21007,
EmployeeId: 2734,
EmName: "梁蕙蕙",
CreateDate: "2023-02-02T10:46:07",
RB_Department_Id: 367,
CustomerId: 23611,
CustomerName: "上億旅行社股份有限公司",
Contact: "杜董",
ContactNumber: "037-728510",
CouponNum: 0,
CustomerAccountId: 15801,
Address: "台湾苗栗,後龍鎮北龍里中山路8鄰73號",
Remark: "",
CustomerStatus: 2,
CL_Balance: 0.0,
DepName: "操作部(台湾)",
TotalPrice: 6081192.79,
AllianceName: null,
ClientNum: 1,
TotalGuestNum: 4,
ExceptionCount: 0,
IsSys: 0,
},
{
RealNameAuthentication: null,
ID: 20964,
EmployeeId: 2732,
EmName: "蘇琬真",
CreateDate: "2023-01-05T19:39:40",
RB_Department_Id: 1,
CustomerId: 23565,
CustomerName: "金龍永盛旅行社",
Contact: "黃昊龍(副理)",
ContactNumber: "0927901267",
CouponNum: 0,
CustomerAccountId: 15755,
Address: "台湾高雄苓雅区,四維三路9樓之2",
Remark: "",
CustomerStatus: 2,
CL_Balance: 0.0,
DepName: "財務部(台湾)",
TotalPrice: 3058810.0,
AllianceName: null,
ClientNum: 1,
TotalGuestNum: 3,
ExceptionCount: 0,
IsSys: 0,
},
{
RealNameAuthentication: null,
ID: 18336,
EmployeeId: 2027,
EmName: "王敏(长沙)",
CreateDate: "2019-06-09T13:41:53",
RB_Department_Id: 308,
CustomerId: 7989,
CustomerName: "北京凯撒",
Contact: "白静",
ContactNumber: "13671116017",
CouponNum: 0,
CustomerAccountId: 7798,
Address: "中国北京北京,1",
Remark: "",
CustomerStatus: 2,
CL_Balance: 0.0,
DepName: "销售部二组(长沙)",
TotalPrice: 1676928.0,
AllianceName: null,
ClientNum: 2,
TotalGuestNum: 162,
ExceptionCount: 0,
IsSys: 0,
},
{
RealNameAuthentication: null,
ID: 14853,
EmployeeId: 46,
EmName: "唐雪梅",
CreateDate: "2019-10-24T13:16:02",
RB_Department_Id: 240,
CustomerId: 11788,
CustomerName: "成都海外门市 ",
Contact: "小唐",
ContactNumber: "18980768620",
CouponNum: 0,
CustomerAccountId: 11706,
Address: ",,四川省成都市罗马假日广场",
Remark: "",
CustomerStatus: 2,
CL_Balance: 0.0,
DepName: "日本线地接部",
TotalPrice: 1389307.26,
AllianceName: null,
ClientNum: 1,
TotalGuestNum: 265,
ExceptionCount: 0,
IsSys: 0,
},
],
addMsg: {
TicketType: 2,
flightList: [],
},
addGoFlight: {},
list: [],
AirportNameList: [],
BackAirportNameList: [],
airlineList: [],
editForm: {
GTeamName: "", // 业务名称
StartDate: "", // 出发时间
FSeat: "", // 头等舱
CSeat: "", // 商务舱
YSeat: "", // 经济舱
MiddlePrice: "", // 中心价格
Remark: "", // 备注
TCID: 0, // 关联团编号
TicketId: 0, // 绑定真实机票Id
WordUrl: "", // Word行程
TravelTeamFlightList: [], // 航班信息列表
TravelTeamPartnerList: [], // 合作伙伴列表
GTeamId: 0, // 包机id(新增默认0)
},
baseList: [this.createBaseInfo()],
//去程
addGoFlight: {
AirLineTicketId: 0,
FlightId: "",
IsTransfer: 0,
FlightDate: "",
aName: "",
dName: "",
TicketType: 1,
ID: 0,
AirLineID: 0,
},
//回程
returnTripData: {
AirLineTicketId: 0,
FlightId: "",
IsTransfer: 0,
FlightDate: "",
aName: "",
dName: "",
TicketType: 2,
ID: 0,
AirLineID: 0,
},
};
},
mounted() {
this.customers = []
this.initAirlines();
this.getList();
const { id } = this.$route.query;
if (id) {
this.getDetail(id);
}
},
methods: {
onChange(value) {
this.friendList.forEach(item => {
if(value.includes(item.ID) && this.customers.findIndex((el) => item.ID === el.ID) === -1) {
this.customers.push(item)
}
})
console.log('onChange',value,this.customers)
},
// 获取包机详情
getDetail(id) {
this.apipost(
"post_GetTravelTeamInfo",
{ GTeamId: id },
(res) => {
if (res.data.resultCode == 1) {
this.detailInfo = res.data.data;
this.editForm = res.data.data;
const { TravelTeamFlightList, TravelTeamPartnerList } =
res.data.data;
TravelTeamFlightList.forEach((item) => {
item.IsTransfer = item.IsTransfer || 0;
item.TicketType = Math.random() > 0.5 ? 1 : 2;
});
this.addMsg.flightList = TravelTeamFlightList;
this.friendValue = TravelTeamPartnerList;
console.log("this.addMsg.flightList", this.addMsg.flightList);
} else {
this.$message.error(res.data.message);
}
},
(err) => {}
);
},
onSearchFriend(value) {
console.log('onSearchFriend', value)
this.getList()
},
// 获取合作伙伴列表
getList() {
if (this.departState) {
this.msg.allDepartment = 1;
}
this.loading = true
this.apipost(
"app_customer_GetCustomerListForCareOf",
this.msg,
(res) => {
this.loading = false
if (res.data.resultCode == 1) {
this.customerListAll = [];
res.data.data.pages.pageData.forEach((item) => {
this.customerListAll.push(item.CustomerId);
item.CustomerIdS = item.CustomerId;
item.CustomerId =
item.CustomerId +
"|" +
item.EmployeeId +
"|" +
item.RB_Department_Id;
item["disabled"] = false;
item.Address = item.Address.split(",").join("");
});
this.datainfo = res.data.data;
this.list = res.data.data.pages.pageData;
this.total = res.data.data.pages.count;
} else {
this.$message.error(res.data.message);
}
},
(err) => {}
);
},
//初始化航空公司下拉
initAirlines() {
this.apipost(
"airline_post_GetList",
{},
(res) => {
if (res.data.resultCode == 1) {
this.airlineList = res.data.data;
}
},
(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_GetAirportNameListExt",
msg,
(res) => {
if (res.data.resultCode == 1) {
if (type == 1) {
this.AirportNameList = res.data.data;
} else {
this.BackAirportNameList = res.data.data;
}
}
},
(err) => {}
);
},
handleAddOrDelete(index) {
if (index) {
this.baseList.splice(index, 1);
} else {
this.baseList.push(this.createBaseInfo());
}
},
createBaseInfo() {
return JSON.parse(JSON.stringify(baseInfo));
},
//新增去程
addFlight() {
console.log(
" this.AirportNameList",
this.AirportNameList,
this.addGoFlight
);
var newList = {};
this.AirportNameList.forEach((x) => {
if (x.ID == this.addGoFlight.FlightId) {
newList.TicketType = 1;
newList.aName = x.aName;
newList.dName = x.dName;
newList.Flight_number = x.Flight_number;
newList.FlightId = this.addGoFlight.FlightId;
newList.AirLineTicketId = this.addGoFlight.AirLineTicketId;
newList.AirLineID = this.addGoFlight.AirLineID;
newList.TicketDepartureTime = x.DepartureTime;
newList.TicketArrivalTime = x.ArrivalTime;
newList.ID = this.addGoFlight.ID;
this.addMsg.flightList.push(newList);
}
});
this.addGoFlight.FlightDate = "";
this.addGoFlight.FlightId = "";
this.addGoFlight.AirLineID = 0;
},
//添加回程
addFlightReturn() {
var newList = {};
var newDate = this.returnTripData.FlightDate;
this.BackAirportNameList.forEach((x) => {
if (x.ID == this.returnTripData.FlightId) {
newList.TicketType = 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.AirLineID = this.returnTripData.AirLineID;
newList.TicketDepartureTime = x.DepartureTime;
newList.TicketArrivalTime = x.ArrivalTime;
newList.ID = this.returnTripData.ID;
this.addMsg.flightList.push(newList);
}
});
this.returnTripData.FlightDate = "";
this.returnTripData.FlightId = "";
this.returnTripData.AirLineID = 0;
},
submit() {
//提交创建、修改表单
this.$refs.form.validate((valid) => {
if (valid) {
this.addAward();
} else {
return false;
}
});
},
addAward() {
this.editForm.TravelTeamFlightList = this.addMsg.flightList;
console.log(
"TravelTeamFlightList",
this.editForm.TravelTeamFlightList,
this.ContractArray
);
this.editForm.TravelTeamPartnerList = this.customers.map((item) => {
return {...item, CustomerId: item.ID };
});
if (!this.editForm.TravelTeamPartnerList.length) {
this.Warning("请选择合作伙伴");
return;
}
if (
this.editForm.TravelTeamFlightList.findIndex(
(item) => item.TicketType === 1
) === -1
) {
this.Warning("请选择去程航班");
return;
}
if (
this.editForm.TravelTeamFlightList.findIndex(
(item) => item.TicketType === 2
) === -1
) {
this.Warning("请选择回程航班");
return;
}
if (this.ContractArray.length) {
this.editForm.WordUrl = this.ContractArray[0].Url;
}
console.log(
"</template>",
this.editForm,
this.addMsg,
this.friendValue,
this.ContractArray,
this.customers
);
this.apipost(
"post_SetTeavelTeam",
this.editForm,
(res) => {
if (res.data.resultCode == 1) {
this.Success("添加成功");
this.$route.replace("/TravelTeam");
} else {
this.$message.error(res.data.message);
}
},
(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) => {}
);
});
},
//删除文件
DeleteFile(subIndex) {
this.ContractArray.splice(subIndex, 1);
},
//下载文件
downloadFile(fileUrl, fileName) {
const link = document.createElement("a");
link.href = fileUrl;
link.download = fileName;
document.body.appendChild(link);
link.click();
},
uploadFileBtn(file) {
//上传
let newArr = [];
newArr.push(file.file);
let path = "/Upload/Temporary/";
this.$message.info(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(path, newArr, (x) => {
var newUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.ContractArray.push({
Name: x.data.SourceFileName,
Url: newUrl,
});
this.Success(this.$t("tips.scchenggong"));
});
},
},
};
</script>
\ No newline at end of file
<style scoped>
.wrapper {
width: 600px;
background: #fff;
margin: 0 auto;
padding: 20px;
}
</style>
<template>
<div class="wrapper">
<el-form :model="editForm" label-width="100px">
<div>基础信息</div>
<div class="edit_form_box">
<div>
<el-form-item label="所属线路">
<el-select
lass="wp40 accountList"
v-model="editForm.accountNum"
placeholder="请选择"
>
<el-option
v-for="(item, index) in 4"
:key="index"
:label="item"
:value="index"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="团名">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="出发城市">
<el-select
lass="wp40 accountList"
v-model="editForm.accountNum"
placeholder="请选择"
>
<el-option
v-for="(item, index) in 4"
:key="index"
:label="item"
:value="index"
>
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<el-form-item label="经济舱">
<el-input v-model="editForm.gatherIdent"></el-input>
</el-form-item>
<el-form-item label="商务舱">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="头等舱">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="出发时间">
<el-date-picker
v-model="editForm.gatheringTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</div>
</div>
<div>报价信息</div>
<div class="edit_form_box">
<div>
<el-form-item label="同行价">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="直客价">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="小孩占床减免">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="小孩不占床减免">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="三人房减免">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="单人房加价">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
</div>
</div>
<div>控制信息</div>
<div class="edit_form_box">
<el-form-item label="同业网站销售">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group> </el-form-item
><el-form-item label="直客网站销售">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group> </el-form-item
><el-form-item label="开启在线预定">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group> </el-form-item
><el-form-item label="允许订单修改">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="允许报名候补">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group>
</el-form-item>
</div>
<div class="TravelFlightList">
<div class="TFAddFlight" @click="addFlight()">
<i class="iconfont icon-img_haha"></i>添加
</div>
</div>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
editForm: {},
};
},
};
</script>
\ No newline at end of file
<style scoped>
.wrapper {
width: 600px;
background: #fff;
margin: 0 auto;
padding: 20px;
}
</style>
<template>
<div class="wrapper">
<el-form :model="editForm" label-width="100px">
<div class="edit_form_box">
<div>
<el-form-item label="业务名称">
<el-input v-model="editForm.leaderInfo"></el-input>
</el-form-item>
<el-form-item label="航空公司">
<el-select
lass="wp40 accountList"
v-model="editForm.accountNum"
placeholder="请选择"
>
<el-option
v-for="(item, index) in 4"
:key="index"
:label="item"
:value="index"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="航班号">
<el-select
lass="wp40 accountList"
v-model="editForm.accountNum"
placeholder="请选择"
>
<el-option
v-for="(item, index) in 4"
:key="index"
:label="item"
:value="index"
>
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<el-form-item label="出发时间">
<el-date-picker
v-model="editForm.gatheringTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="经济舱">
<el-input v-model="editForm.gatherIdent"></el-input>
</el-form-item>
<el-form-item label="商务舱">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="头等舱">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="占位方式">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="销售方式">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="经济舱">
<div class="flex" v-for="(item, index) in baseList" :key="index">
<el-input style="width: 70px" v-model="item.start"></el-input>
<el-input style="width: 70px" v-model="item.end"></el-input>:
<el-input style="width: 70px" v-model="item.max"></el-input>
<span @click="handleAddOrDelete(index)">{{index > 0 ? '删除' : '添加'}}</span>
</div>
</el-form-item>
<el-form-item label="商务舱">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="头等舱">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="合作伙伴">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="包机旅游集团">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
<el-form-item label="是否显示">
<el-radio-group v-model="editForm.gatheringAddress">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="editForm.gatheringAddress"></el-input>
</el-form-item>
</div>
</div>
<div class="TravelFlightList">
<div class="TFAddFlight" @click="addFlight()">
<i class="iconfont icon-img_haha"></i>添加
</div>
</div>
</el-form>
</div>
</template>
<script>
const baseInfo = {
start: '',
end: '',
max: ''
}
export default {
data() {
return {
editForm: {},
baseList: [this.createBaseInfo()]
};
},
methods: {
handleAddOrDelete(index) {
if(index) {
this.baseList.splice(index, 1)
} else {
this.baseList.push(this.createBaseInfo())
}
},
createBaseInfo() {
return JSON.parse(JSON.stringify(baseInfo))
}
}
};
</script>
\ No newline at end of file
<template></templat>
<style><style>
<script></script>
\ No newline at end of file
......@@ -4,12 +4,19 @@
.w_20 {
width: 20%;
}
.mb {
margin-bottom: 10px;
}
.title {
font-weight: 600;
}
.w_10 {
width: 10%;
}
.mb {
margin-bottom: 10px;
}
.title {
font-weight: 600;
}
.p20 {
padding: 20px;
}
......@@ -48,7 +55,7 @@
</span>
</li>
<li>
<button class="hollowFixedBtn" @click="addAirplane">新增</button>
<button class="hollowFixedBtn" @click="editTeam(null)">新增</button>
<button class="hollowFixedBtn" @click="resetQuery">{{$t('pub.searchBtn')}}</button>
</li>
</ul>
......@@ -66,24 +73,34 @@
<div class="mb title"><i class="iconfont icon-biaoti1"></i><span>包机信息</span></div>
<div class="mb"><span>{{item.GTeamName}}</span></div>
<div>出发日期:<span>{{item.StartDate}}</span></div>
<div>团队信息:<span>{{item.TCNUM}}({{item.TCID}})</span></div>
</div>
</div>
<div class="el-col w_20">
<div class="p20">
<div class="p20">
<div class="mb title"><i class="iconfont icon-hangban1"></i><span>航班信息</span></div>
<div class="mb" v-for="(subItem,subIndex) in item.TravelTeamFlightList" :key="subIndex+1000">
<div> {{subItem.Flight_number}}
{{subItem.DepartureAirPortName}} {{subItem.Departure_time}} {{subItem.ArrivalAirPortName}}
{{subItem.Arrival_time}}</div>
</div></div>
<div class="mb" v-for="(subItem,subIndex) in item.TravelTeamFlightList" :key="subIndex+1000">
<div> {{subItem.Flight_number}}
{{subItem.DepartureAirPortName}} {{subItem.Departure_time}} {{subItem.ArrivalAirPortName}}
{{subItem.Arrival_time}}</div>
</div>
</div>
</div>
<div class="el-col w_20">
<div class="el-col w_10">
<div class="p20">
<div class="mb title"><i class="iconfont icon-jiage"></i><span>航班价格</span></div>
<div class="mb title"><i class="iconfont icon-jiage"></i><span>仓位信息</span></div>
<div class="mb"><span>经济舱: {{item.YSeat}}</span></div>
<div class="mb"><span>商务舱: {{item.CSeat}}</span></div>
<div class="mb"><span>头等舱: {{item.FSeat}}</span></div>
<div><span>中心价: {{item.MiddlePrice}}</span></div>
</div>
</div>
<div class="el-col w_10">
<div class="p20">
<div class="mb title"><i class="iconfont icon-jiage"></i><span>价格信息</span></div>
<div class="mb"><span>中心价: {{item.MiddlePrice}}</span></div>
<div class="mb"><span>小孩占床: {{item.ChildNeedPrice}}&nbsp;不占床: {{item.ChildNoNeedPrice}}</span></div>
<div class="mb"><span>婴儿: {{item.BabyPrice}}&nbsp; 婴儿附加费: {{item.BabyChargePrice}}</span></div>
<div class="mb"><span>老人附加费: {{item.OldManChargePrice}} &nbsp;签证: {{item.VisaPrice}}</span></div>
</div>
</div>
<div class="el-col w_20">
......@@ -94,16 +111,16 @@
</template>
</div>
</div>
<div class="el-col w_20">
<div class="p20">
<div class="el-col w_10">
<div class="p20">
<div class="mb title"><i class="iconfont icon-yuangong"></i><span>发起信息</span></div>
<div class="mb">发起人:{{item.CreateByName}}</div>
<div>发起时间:{{item.CreateTime}}</div></div>
<div class="mb">发起人:{{item.CreateByName}}</div>
<div>{{item.CreateTime}}</div>
</div>
</div>
<div class="el-col w_20">
<div class="el-col w_10">
<div class="p20">
<!-- <span>操作</span> -->
<el-button class="mb" @click.native='goUrl("airplaneInfo", item.GTeamId,"包机信息")' type="primary" size="mini"
<el-button class="mb" @click.native='editTeam(item)' type="primary" size="mini"
style="background:#00C6FF; border-color:#00C6FF">修改
</el-button>
<el-dropdown trigger="click">
......@@ -140,18 +157,17 @@
</div>
</div>
<el-dialog class="app-attachment-dialog" style="width:1000px;height:800px;margin:0 auto;z-index:99999"
:title="ID ? '修改包机' : '新增包机'" :visible.sync="dialogVisible"
:close-on-click-modal="false">
<addInfo :id="ID"></addInfo>
<apply-info></apply-info>
:title="dialogTitle" :visible.sync="isShowEditTeamDialog" :close-on-click-modal="false">
<editTeamInfo :id="ID"></editTeamInfo>
</el-dialog>
</div>
</template>
<script>
import addInfo from "./addInfo";
import applyInfo from "./apply";
import editTeamInfo from "./editTeamInfo"; //新增修改包机团
export default {
components: {addInfo, applyInfo},
components: {
editTeamInfo
},
provide() {
return {
reload: this.reload
......@@ -159,7 +175,8 @@
},
data() {
return {
dialogVisible: false,
isShowEditTeamDialog: false, //是否显示新增修改包机团弹窗
dialogTitle: "添加包机信息", //弹窗名称
ID: '',
//查询参数
queryMsg: {
......@@ -211,28 +228,16 @@
},
},
methods: {
goUrl(path,id, name) {
// if(path === 'airplaneInfo') {
// this.ID = id
// this.dialogVisible = true
// return
// }
this.$router.push({
name: path,
query: {
id: id,
blank: "y",
tab: name
}
});
//新增修改包机团
editTeam(item) {
if (item) {
this.dialogTitle = "修改包机信息";
} else {
this.dialogTitle = "添加包机信息";
}
this.isShowEditTeamDialog = true;
},
addAirplane() {
// this.ID = 0
// this.dialogVisible = true
this.$router.push({
name: 'airplaneInfo',
});
},
//翻页
handleCurrentChange(val) {
this.queryMsg.pageIndex = val;
......
......@@ -613,7 +613,7 @@
<template slot="prepend">{{$t('sm.tonghangfanyong')}}</template>
</el-input>
</el-form-item>
<el-form-item style="display:none;">
<el-form-item>
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
v-model="priceData.DiscountPrice" @keyup.native="checkPrice(priceData,'DiscountPrice')">
<template slot="prepend">{{$t('sm.zaoniaoyouhui')}}</template>
......
......@@ -293,17 +293,7 @@
}
}
},
//根据ID获取城市名称
getCityNameById(id) {
let name = "";
this.AllCityList.forEach(x => {
if (x.ID == id) {
name = x.Name;
return false;
}
});
return name;
},
//接机送机点击切换
changeAirportType(t) {
if (t == this.trafficObj.AirportPickUp) {
......
......@@ -2292,9 +2292,9 @@ export default {
title: '团控列表'
},
}, {
path: '/airplaneInfo', //包机信息
name: 'airplaneInfo',
component: resolve => require(['@/components/TravelManager/TravelTeam/addInfo'], resolve),
path: '/editTeamInfo', //新增修改包机信息
name: 'editTeamInfo',
component: resolve => require(['@/components/TravelManager/TravelTeam/editTeamInfo'], resolve),
meta: {
title: '包机信息'
},
......@@ -2305,20 +2305,6 @@ export default {
meta: {
title: '包机列表'
},
}, {
path: '/airplaneGroup', //团控信息
name: 'airplaneGroup',
component: resolve => require(['@/components/TravelManager/TravelTeam/airplaneGroup'], resolve),
meta: {
title: '团控信息'
},
}, {
path: '/airplaneApply', //在线申请
name: 'airplaneApply',
component: resolve => require(['@/components/TravelManager/TravelTeam/apply'], resolve),
meta: {
title: '在线申请'
},
}, {
path: '/airplaneOrder', //订单列表
name: 'airplaneOrder',
......
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