<style> @import "../../assets/css/newTravelManager.css"; .color_red_order { color: #e95252 !important; } .groupTourOrderSearch { width: 100%; min-height: auto; padding: 0 0 20px 0; } .groupTourOrderSearch li { float: left; font-size: 12px; color: #666; margin: 20px 0 0px 0; } .groupTourOrderSearch li>span { display: inline-block; } .groupTourOrderSearch li span>em { display: inline-block; min-width: 60px; text-align: right; font-style: normal; margin: 0 12px 0 0; } .groupTourOrderSearch li:last-child { position: fixed; z-index: 10; top: 36px; right: 20px; } .groupTourOrderSearch ul { overflow: hidden; } .groupTourOrderSearchTable { width: 100%; min-width: 1500px; font-size: 14px; color: #333; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-collapse: collapse; } .groupTourOrderSearchTable tbody tr:last-child { border-bottom: 2px solid #333; } .groupTourOrderSearchTable tr:first-child td:first-child { border-bottom: 2px solid #333; } .groupTourOrderSearchTable tr th { background: #e6e6e6; height: 30px; font-size: 12px; text-align: center; border-top: 1px solid #cccccc; border-left: 1px solid #cccccc; } .groupTourOrderSearchTable tr { background: #fff; text-align: left; } .groupTourOrderSearchTable tr td { height: 60px; padding: 10px; border-top: 1px solid #cccccc; border-left: 1px solid #cccccc; } .groupTourOrderSearchTable tr td p { line-height: 20px; } .groupTourOrderSearchTable .dowloadSpan:hover { text-decoration: underline; cursor: pointer; } .groupTourOrderSearchTable span.personNo { text-decoration: underline; cursor: pointer; } .groupTourOrderSearchTable span.personNo:hover { font-weight: bold; color: #e95252; } .personNolayer p { height: 28px; line-height: 28px; padding-left: 15px; } .personNolayer p>span { font-size: 12px; color: #333; margin-right: 15px; } .personNolayer table { padding: 10px 0 0 20px; width: 100%; background-color: #ededed; border-collapse: collapse; border: 1px solid #d2d2d2; font-size: 12px; } .personNolayer table th { background-color: #ededed; height: 34px; text-indent: 15px; } .personNolayer table td { background-color: #ffffff; padding: 9px 15px; color: #333333; border: 1px solid #d2d2d2; } .personNolayer table ._color_666 { color: #666666; } .personNolayer table tr._color_666 th { padding: 9px 15px; } .groupSuperSearchLayer>p { padding: 20px 0; font-size: 14px; color: #333; font-weight: bold; } .groupSuperSearchLayerTable { font-size: 12px; color: #666; } .groupSuperSearchLayerTable tr { height: 50px; } .groupSuperSearchLayerTable td { padding-right: 15px; } .groupTourOrderIcon button { width: 30px; height: 30px; border-radius: 4px; } .groupTourOrderIcon .el-button--primary { padding: 5px; margin: 0; font-size: 14px !important; } .groupTourOrderIcon .el-button+.el-button { margin-left: 0 !important; } .productQuerybottomLayer { overflow: auto; position: fixed; z-index: 50; bottom: 0; left: 0; border-top: 3px solid #38425d; background-color: #ffffff; padding: 10px 10px 0; width: 100%; } .productQuerybottomLayer .el-form-item__label { font-size: 12px !important; } .productQuerybottomLayer>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; } .productQuerybottomLayer .el-input-number { width: auto !important; } .groupTourOrder_count_green { color: #1bc594; } .groupTourOrder_count_blue { color: #4d7afd; } .groupTourOrder_count_yellow { color: #ff9c00; } .groupTourOrder_count_gray { color: #999999; } .groupTourOrder_count { margin: 0 0 20px 0; width: 100%; height: auto; } .groupTourOrder_count_col { height: 80px; } .groupTourOrder_count_item { font-weight: 400; padding: 10px; height: 100%; border: 1px solid #e6e6e6; background-color: #ffffff; color: #333333; } .groupTourOrder_count_item>div>i { font-size: 12px; vertical-align: bottom; } .groupTourOrder_count_item>div>span:nth-child(2) { font-size: 14px; vertical-align: bottom; } .groupTourOrder_count_item>div>span:nth-child(3) { font-weight: bold; font-size: 16px; vertical-align: bottom; } .groupTourOrder_count_item>p { font-size: 12px; line-height: 18px; } .groupTourOrder_count_item>p>span { margin: 0 5px 0 0; white-space: nowrap; } .groupTourOrder_more { margin: 0 -12px; } .groupTourOrder_more>div { width: 100%; height: 30px; line-height: 30px; text-align: center; font-size: 12px; color: #333333; background-color: #ffffff; cursor: pointer; } .groupTourOrder_more>div:hover { color: #297bef; background-color: #dcebff; } .groupTourOrder_remarks { font-size: 0px; } .groupTourOrder_remarks>div {} .groupTourOrder_remarks>div>div:nth-child(1) { float: left; display: flex; align-items: flex-start; } .groupTourOrder_remarks>div>div:nth-child(1)>span { line-height: 20px; font-size: 12px; color: #e95252; white-space: nowrap; } .groupTourOrder_remarks>div>div:nth-child(1)>p { line-height: 20px; font-size: 12px; color: #e95252; } .groupTourOrder_remarks>div>div:nth-child(2) { float: right; text-align: right; font-size: 12px; color: #e95252; } .groupTourOrder_remarks>div>div:nth-child(2)>i { font-size: 10px; cursor: pointer; } .groupTourOrder_remarks>div::after { display: block; clear: both; content: ""; visibility: hidden; height: 0; } .groupTourOrder_remarks_btn { padding: 0px; width: 12px; height: 12px; border: none; background-color: transparent; } .groupTourOrder_remarks_btn>i { color: #e95252; font-size: 12px; } .groupTourOrder_remarks_popover>div { display: inline-block; font-size: 14px; color: #000000; } .groupTourOrder_remarks_popover>div::before { content: ""; display: inline-block; margin: 0 5px 0 0; width: 2px; height: 12px; background-color: #e95252; } .groupTourOrder_remarks_popover>span { display: block; margin: 0 0 0 0; width: 100%; text-align: center; font-size: 12px; color: #000000; } .groupTourOrder_remarks_popover>p { margin: 5px 0 0 0; padding: 3px; width: 100%; max-height: 300px; overflow-y: auto; font-size: 12px; color: #000000; } .groupTourOrder_remarks_popover>p:nth-child(even) { background-color: #e6e6e6; } .groupTourOrder_remarks_popover>p>span:nth-child(1) { float: left; } .groupTourOrder_remarks_popover>p>span:nth-child(2) { margin: 0 10px 0 0; float: right; } .groupTourOrder_remarks_popover>p::after { display: block; clear: both; content: ""; visibility: hidden; height: 0; } .groupTourOrder_tickets>div { display: table; } .groupTourOrder_tickets>div>div { display: table-cell; cursor: pointer; } .groupTourOrder_tickets>div>div:nth-child(1) { width: 80px; } .groupTourOrder_tickets>div>div>span { display: inline-block; margin: 0 10px 0 0; } .groupTourOrder_tickets_red { color: #ff0000; text-decoration: underline; } .groupTourOrder_tickets_blue { color: #0000ff; text-decoration: underline; } .groupTourOrder_tickets_green { color: #008000; text-decoration: underline; } .groupTourOrder_tickets_black { color: #000000; text-decoration: underline; } .groupTourOrderByTuan_ico { margin: 0 10px 0 0; } .groupTourOrderByTuan_ico>i { display: inline-block; margin: 0 2px 0 0; width: 8px; height: 8px; border-radius: 2px; vertical-align: middle; } .groupTourOrderByTuan_ico>span { vertical-align: middle; } /* 出团通知书打印选择 */ .travelControlTripLayer { position: fixed; z-index: 99; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); left: 0; top: 0; } .travelControlTripLayerCont { position: absolute; left: 50%; margin-left: -300px; background: #fff; top: 50%; margin-top: -180px; width: 600px; } .travelControlTripLayerCont>div { padding: 0 30px; } .travelControlTripLayerCont>div label { cursor: pointer; vertical-align: middle; } .travelControlTripLayerCont>div label input { vertical-align: middle; } .travelControlTripBtn { color: #fff; width: 90px; height: 30px; background: #e95252; border: 1px solid #e95252; cursor: pointer; border-radius: 15px; margin-left: 10px; } .travelControlTripLayer input[type="checkbox"]+label::before { content: "\A0"; display: inline-block; width: 15px; height: 15px; margin-right: 5px; border-radius: 4px; background-color: white; text-indent: 0.15em; line-height: 15px; color: white; border: 1px solid #e95252; } .travelControlTripLayer input[type="checkbox"]:checked+label::before { content: "\2713"; background-color: #e95252; } .travelControlTripLayer input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); } .travelControlTripLayer input[type="checkbox"]:focus+label::before { box-shadow: none; } .travelControlTripLayer input[type="checkbox"]:disabled+label::before { background-color: gray; box-shadow: none; color: #555; } .groupTourOrder_transfer { position: fixed; z-index: 50; bottom: 0; left: 50px; padding: 10px 10px; width: 100%; min-width: 1366px; min-height: 200px; border-top: 3px solid #38425d; background-color: #ffffff; overflow-y: auto; } .groupTourOrder_transfer>.transfer_header { position: relative; width: 100%; height: 30px; } .groupTourOrder_transfer>.transfer_header>div:nth-child(1) { display: inline-block; padding: 0 10px; width: 200px; height: 30px; line-height: 30px; border-left: 3px solid #e95252; text-indent: 10px; font-size: 16px; color: #000000; } .groupTourOrder_transfer>.transfer_header>div:nth-child(2) { position: absolute; top: 0px; right: 80px; height: 30px; } .groupTourOrder_transfer>.transfer_header>div:nth-child(2)>div:nth-child(1) { display: inline-block; padding: 0 15px; height: 30px; line-height: 28px; font-size: 14px; color: #e95252; border: 1px solid #e95252; background: #fff; border-radius: 15px; cursor: pointer; vertical-align: top; } .groupTourOrder_transfer>.transfer_header>div:nth-child(2)>div:nth-child(2) { display: inline-block; margin: 0 0 0 10px; padding: 0 15px; height: 30px; line-height: 28px; font-size: 14px; color: #fff; border: 1px solid #e95252; background: #e95252; border-radius: 15px; cursor: pointer; vertical-align: top; } .groupTourOrder_transfer>.transfer_info { padding: 20px 0; width: 100%; font-size: 0px; border-bottom: 1px dashed #999999; } .groupTourOrder_transfer>.transfer_info>div { display: inline-block; padding: 0 10px; width: 25%; height: 30px; vertical-align: top; } .groupTourOrder_transfer>.transfer_info>div>em { display: inline-block; padding: 0 10px; width: 35%; height: 30px; line-height: 30px; text-align: right; font-size: 16px; vertical-align: top; } .groupTourOrder_transfer>.transfer_info>div>span { display: inline-block; padding: 0 10px; width: 65%; height: 30px; line-height: 30px; text-align: left; font-size: 16px; border-radius: 3px; background-color: #e5e5e5; vertical-align: top; } .groupTourOrder_transfer>.transfer_input { padding: 20px 0; width: 100%; font-size: 0px; } .groupTourOrder_transfer>.transfer_input>div { display: inline-block; padding: 0 10px; width: 25%; height: 30px; vertical-align: top; } .groupTourOrder_transfer>.transfer_input>div>em { display: inline-block; padding: 0 10px; width: 35%; height: 30px; line-height: 30px; text-align: right; font-size: 16px; vertical-align: top; } .groupTourOrder_transfer>.transfer_input>div>.el-input { display: inline-block; width: 65%; height: 30px; line-height: 30px; text-align: left; font-size: 14px; vertical-align: top; } .Ysze { position: relative; } .Ysze .changeYsze { position: absolute; left: 110%; z-index: 10000; top: 0; width: 700px; background: #fff; box-shadow: 0 0 8px #888; padding: 10px; box-sizing: border-box; } .Ysze .Ysze-button { position: absolute; left: 98%; top: 3px; border-radius: 4px; cursor: pointer; } .Ysze .changeYsze .el-form-item { display: inline-block; width: 30%; margin-bottom: 5px; } .Ysze .changeYsze .el-icon-close { position: absolute; right: 6px; top: 6px; color: #f78989; font-size: 20px; cursor: pointer; } /* 添加窗口 */ .branding_buttom { position: absolute; left: 0px; bottom: 0px; width: 100%; height: 250px; background-color: #ffffff; border-top: 3px solid #38425d; } .groupts .underline { text-decoration: underline; margin: 5px; text-align: center; } .GO_Contract { color: blue; display: inline-block; cursor: pointer; margin-right: 20px; } .needfenshu { margin-top: 10px; display: flex; align-items: center; } .SQguestList { display: flex; flex-wrap: wrap; } .SQguestList label { display: inline-block; min-width: 100px; display: flex; align-items: center; margin-top: 8px; } .groupts .el-upload-list { width: 200px; } .el-input-group__append, .el-input-group__prepend { padding: 0 5px !important; } </style> <template> <div class="flexOne groupts" style="min-width: 1200px"> <!-- 修改信息 --> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayer"> <p> {{ $t("pub.updateMsg") }} <span class="fr"> <input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="cancelSubmit()" /> <input type="button" class="normalBtn" :value="$t('pub.saveBtn')" @click="submitForm('addMsg')" /> </span> </p> <el-form :model="addMsg" ref="addMsg" label-position="right" :rules="rules" label-width="90px"> <el-row :gutter="20"> <el-col :span="4"> <el-form-item :label="$t('fnc.khleixing')" prop="CustomerType"> <el-select v-model="addMsg.CustomerType" filterable :placeholder="$t('pub.pleaseSel')" @change="getTypePrice" :disabled="true"> <el-option v-for="item in khlxList" :label="item.Name" :value="item.Id" :key="item.Id"> </el-option> </el-select> </el-form-item> <!-- 参团类型 --> <el-form-item :label="$t('fnc.ctleixing')" prop="GroupType"> <el-select v-model="addMsg.GroupType" filterable :placeholder="$t('pub.pleaseSel')" @change="gettypechange(addMsg.GroupType)"> <!-- v-if="item.Id != 5" --> <el-option v-for="item in ctlxList" :label="item.Name" :value="item.Id" :key="item.Id"> </el-option> </el-select> </el-form-item> <el-form-item v-if="addMsg.GroupType == '3'" :label="$t('salesModule.IsUseRoom')" prop="GroupTypeNeedHouse"> <el-switch @change="$forceUpdate()" v-model="addMsg.GroupTypeNeedHouse" active-value="0" inactive-value="1"></el-switch> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('hotel.suplier_contact')" 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="$t('restaurant.res_ContactNumber')" prop="ContactMobile" v-show="addMsg.CustomerType == 3 || addMsg.CustomerType == 4"> <el-input v-model="addMsg.ContactMobile"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.CustomerStore')" 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" v-if="addMsg.OrderForm !== 4" :disabled="true"> <el-option v-for="item in khmdList" :label="item.customerName" :value="item.customerId" :key="item.customerId"> </el-option> </el-select> <el-input v-else v-model="addMsg.allName" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('system.table_goCity')" prop="DepartureCityId"> <el-select v-model="addMsg.DepartureCityId" :disabled="IsUnion === 1" 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="$t('salesModule.IsLianYn')" prop="IsIntermodal" v-show="addMsg.DepartureCityId != SetOutCityId"> <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="$t('salesModule.LYtime')" prop="GoCityTime" v-show=" addMsg.IsIntermodal == 1 && addMsg.DepartureCityId != SetOutCityId "> <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="$t('salesModule.BackCity')" prop="ReturnArriveCityId"> <el-select v-model="addMsg.ReturnArriveCityId" :disabled="IsUnion === 1" 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="$t('salesModule.IsLianYn')" prop="IsReturnIntermodal" v-show="addMsg.ReturnArriveCityId != reOutCityId"> <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="$t('salesModule.LYtime')" prop="IsReturnIntermodal" v-show=" addMsg.IsReturnIntermodal == 1 && addMsg.ReturnArriveCityId != reOutCityId "> <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="$t('salesModule.TeamPrice')" prop="TC_Price"> <el-input v-model="addMsg.TC_Price" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.StartLY')" v-show=" addMsg.IsIntermodal == 1 && addMsg.DepartureCityId != SetOutCityId "> <el-input v-model="stratPrice" v-show="stratPriceShow" :disabled="true"></el-input> <span class="colorE95252" v-show="!stratPriceShow">{{ $t("pub.NoPrice") }}!</span> </el-form-item> <el-form-item :label="$t('salesModule.BackLY')" v-show=" addMsg.IsReturnIntermodal == 1 && addMsg.ReturnArriveCityId != reOutCityId "> <el-input v-model="returnPrice" v-show="returnPriceShow" :disabled="true"></el-input> <span class="colorE95252" v-show="!returnPriceShow">{{ $t("pub.NoPrice") }}!</span> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('fnc.cjdanjia')" prop="Unit_Price" v-if="HightUnitPrice === '2'"> <el-select v-model="addMsg.Unit_Price" filterable :placeholder="$t('pub.pleaseSel')" @change="getTotalPrice()"> <el-option v-for="(item, index) in Unit_PriceList" :label="item.LessMoney" :value="item.ID" :key="index"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('fnc.cjdanjia')" prop="Unit_Price" v-else> <el-input v-model="addMsg.Unit_Price" @change="getTotalPrice(3)"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.UpTeamPrice')" v-show="addMsg.GroupType != '4'"> <el-switch v-model="HightUnitPrice" active-value="1" inactive-value="2"></el-switch> </el-form-item> <el-form-item v-show="addMsg.GroupType != 4"> <p v-if="LessMoney == 0" style="line-height: 18px; color: #e95252"> {{ $t("salesModule.Notice1") }} </p> <p v-else="LessMoney > 0" style="line-height: 18px; color: #e95252"> {{ $t("salesModule.Notice2") }}{{ LessMoney }}{{ $t("salesModule.Notice3") }} </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="$t('salesModule.SingDNum')" prop="AirticketNum" v-show="addMsg.GroupType == 4"> <el-input v-model="addMsg.AirticketNum" @keyup.native="checkInteger(addMsg, 'AirticketNum')" @input=" getNumber(); getTotalPrice(); getHouseNo(); "></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.AdultNum')" prop="ManNum" v-show="addMsg.GroupType !== '4'"> <el-input v-model="addMsg.ManNum" @keyup.native="checkInteger(addMsg, 'ManNum')" @input=" getNumber(); getHouseNo(); getTotalPrice(); "></el-input> </el-form-item> </el-col> <el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1"> <el-form-item label="少价/人" prop="LessAvgPrice"> <el-input type="Number" v-model="addMsg.LessAvgPrice" @change="ValidateLess2"><template slot="append">最高{{LessNAvgPrice}}/人</template></el-input> </el-form-item> </el-col> <el-col :span="4"> <p v-if="IsChildrenTour == 2" style=" color: #e95252; font-size: 12px; line-height: 40px; text-align: center; "> {{ $t("salesModule.NoSupplier") }}! </p> <el-form-item v-if="IsChildrenTour == 1" :label="$t('Operation.Op_childNobed')" prop="ChirdNoNeedBedNum"> <el-input v-model="addMsg.ChirdNoNeedBedNum" @keyup.native="checkInteger(addMsg, 'ChirdNoNeedBedNum')" @input=" getNumber(); getHouseNo(); getTotalPrice(); "></el-input> </el-form-item> </el-col> <el-col :span="4" v-if="IsChildrenTour == 1"> <el-form-item :label="$t('Operation.Op_childBed')" prop="ChirdNeedBedNum" v-show="addMsg.GroupType !== '4'"> <el-input v-model="addMsg.ChirdNeedBedNum" @keyup.native="checkInteger(addMsg, 'ChirdNeedBedNum')" @input=" getNumber(); getHouseNo(); getTotalPrice(); "></el-input> </el-form-item> </el-col> <el-col :span="4" v-if="IsChildrenTour == 1"> <el-form-item :label="$t('salesModule.BabyNum')" prop="BabyNum" v-show="addMsg.GroupType !== '4'"> <el-input v-model="addMsg.BabyNum" @keyup.native="checkInteger(addMsg, 'BabyNum')" @input=" getNumber(); getTotalPrice(); "></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.OldPeopleNum')" prop="OldPeopleNum" v-show="addMsg.GroupType !== '4'"> <el-input v-model="addMsg.OldPeopleNum" @keyup.native="checkInteger(addMsg, 'OldPeopleNum')" @input=" getNumber(); getHouseNo(); getTotalPrice(); "></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4" v-if="addMsg.GroupTypeNeedHouse == '0'"> <el-form-item :label="$t('salesModule.SingleRoomNum')" 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" v-if="addMsg.GroupTypeNeedHouse == '0'"> <el-form-item :label="$t('salesModule.BigRoomNum')" 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" v-if="addMsg.GroupTypeNeedHouse == '0'"> <el-form-item :label="$t('salesModule.TripleRoomNum')" 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="$t('salesModule.VisaNum')" prop="VisaNum"> <el-input v-model="addMsg.VisaNum" @keyup.native="checkInteger(addMsg, 'VisaNum')" @input=" getTotalPrice(); yzVisaNum(); "></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.SaleNum')" prop="SaleNum"> <el-input v-model="addMsg.SafeNum" @keyup.native="checkInteger(addMsg, 'SafeNum')" @input=" getTotalPrice(); yzSafeNum(); "></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.SingleFM')"> <el-radio v-model="addMsg.OneSex" @click.native.prevent="setDanren(1)" :label="1">{{ $t("pub.man") }} </el-radio> <el-radio v-model="addMsg.OneSex" @click.native.prevent="setDanren(2)" :label="2">{{ $t("pub.woman") }} </el-radio> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item :label="$t('salesModule.JQRS')" prop="RefuseVisaNum"> <el-input v-model="addMsg.RefuseVisaNum" @keyup.native="checkInteger(addMsg, 'RefuseVisaNum')" @input="getTotalPrice()"></el-input> </el-form-item> </el-col> <el-col :span="4" v-if="addMsg.GroupTypeNeedHouse == '0'"> <el-form-item :label="$t('salesModule.PredictRoomNum')" prop="PredictRoomNum"> <el-input v-model="addMsg.PredictRoomNum" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4" class="Ysze"> <el-form-item :label="$t('fnc.yszonge')" prop="PreferPrice"> <el-input v-model="addMsg.PreferPrice" :disabled="true"></el-input> </el-form-item> <button @click="Yszefz" type="button" class="Ysze-button el-button--primary" style=" background: rgb(0, 198, 255); border-color: rgb(0, 198, 255); "> <i class="iconfont icon-nav-hangzheng" style="font-size: 12px"></i> </button> <!-- 修改应收总额 --> <div class="changeYsze" v-show="Ysze"> <el-form :model="addMsg_form" ref="addMsg_form" label-position="right" label-width="100px"> <span class="el-icon-close" @click="Ysze = false"></span> <el-form-item :label="$t('Operation.Op_visaPrice')"> <el-input v-model="addMsg_form.VisaPrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('Operation.Op_visafeeBack')"> <el-input v-model="addMsg_form.BackVisaPrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('Operation.Op_zafei')"> <el-input v-model="addMsg_form.OtherPrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('Operation.Op_oldmanSurcharge')"> <el-input v-model="addMsg_form.OldManChargePrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('Operation.Op_childSurcharge')"> <el-input v-model="addMsg_form.BabyChargePrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('Operation.Op_singleRoomcha')"> <el-input v-model="addMsg_form.SingleRoomPrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.ETZCZS')"> <el-input v-model="addMsg_form.ChildNeedPrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.ETBZCJM')"> <el-input v-model="addMsg_form.ChildNoNeedPrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.SSJE')"> <el-input v-model="addMsg_form.OpSetLossMoney" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.SingleJ')"> <el-input v-model="addMsg_form.SingleDMCPrice" :disabled="true"></el-input> </el-form-item> <el-form-item :label="$t('salesModule.BabyPrice')"> <el-input v-model="addMsg_form.BabyPrice" :disabled="true"></el-input> </el-form-item> </el-form> </div> </el-col> <el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1"> <el-form-item :label="$t('objFill.v101.shaojiazonge')" prop="LessPrice"> <el-input type="Number" v-model="addMsg.LessPrice" @change="ValidateLess"><template slot="append">最高少价{{LessNPrice}}</template></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.YJTC')" 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="$t('salesModule.SharePeople')" prop="CommissionSharePeople"> <el-select :disabled="isUpdateSharePeople" filterable clearable @change="getTicheng" v-model="addMsg.CommissionSharePeople" :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('fnc.no')" :value="comSelect"></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="$t('salesModule.ShareMoney')" 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="$t('Airticket.Air_EconomyClass')" 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="$t('Airticket.Air_businessClass')" prop="ESeatNum"> <el-input v-model="addMsg.ESeatNum" @input="getNumber()"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('Airticket.Air_firstClass')" prop="FSeatNum"> <el-input v-model="addMsg.FSeatNum" @input="getNumber()"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.ScenicRefund')"> <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="$t('salesModule.CustomFrom')" prop="ClientSource"> <el-select v-model="addMsg.ClientSource" :disabled="addMsg.OrderForm !== 4 ? true : false" 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="$t('salesModule.SSPT')" prop="BrandId" v-show="addMsg.ClientSource == 1|| addMsg.ClientSource == 4"> <el-select v-model="addMsg.BrandId" :disabled="false" 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="$t('tips.jiaoyifangshi')" prop="TradeWay" v-show="addMsg.ClientSource == 1|| addMsg.ClientSource == 4"> <el-select v-model="addMsg.TradeWay" :disabled="addMsg.OrderForm !== 4 ? true : false" filterable :placeholder="$t('pub.pleaseSel')"> <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="$t('fnc.fkuanzhanghu')"> <el-select filterable v-model="addMsg.PlatformAccount" @change="changeSelect"> <el-option v-for="item in PlatformAccountList" :label="item.Alias" :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="$t('salesModule.PlatOrder')" prop="PlatformOrder"> <el-input v-model="addMsg.PlatformOrder" @input="platformOrderMethods" :disabled="isAllowUpdate == 0"> </el-input> </el-form-item> </el-col> <el-col :span="4" v-show="addMsg.GroupType == '2'"> <el-form-item :label="$t('ground.bjd')" prop="QuotationUrl"> <div style="margin-bottom: 10px; width: 32%" v-loading="uploadLloading" :element-loading-text="$t('objFill.pingminscz')"> <el-upload ref="my-upload" class="upload-demo" :http-request="uploadFileBtnFJ" :multiple="true" :show-file-list="true" :on-preview="previewFileFJ" :on-remove="removeFileFJ" :limit="1" :file-list="fileFujianList" action> <el-button size="small" type="primary">{{$t('tips.dianjishanhcuan')}}</el-button> </el-upload> </div> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item :label="$t('pub.pubRemark')" prop="Remarks"> <el-input v-model="addMsg.Remarks" type="textarea" maxlength="500"></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20" v-if="addMsg.IsIntermodal == 1 || addMsg.IsReturnIntermodal == 1"> <el-col :span="24"> <el-form-item :label="$t('objFill.liangyunbeizhu')" prop="UnionRemark"> <el-input v-model="addMsg.UnionRemark" type="textarea" maxlength="500"></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <!-- 修改房型 --> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowHouse"> <p> {{ $t("salesModule.UpdateRoom") }} <span class="fr"> <input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="houseCancel()" /> <input type="button" class="normalBtn" :value="$t('pub.saveBtn')" @click="houseSubmit()" /> </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="$t('salesModule.AdultNum')" prop="ManNum"> <el-input v-model="addMsg.ManNum" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <p v-if="IsChildrenTour == 2" style=" color: #e95252; font-size: 12px; line-height: 40px; text-align: center; "> {{ $t("salesModule.NoSupplier") }}! </p> <el-form-item v-if="IsChildrenTour == 1" :label="$t('Operation.Op_childNobed')" prop="ChirdNoNeedBedNum"> <el-input v-model="addMsg.ChirdNoNeedBedNum" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4" v-if="IsChildrenTour == 1"> <el-form-item :label="$t('Operation.Op_childBed')" prop="ChirdNeedBedNum"> <el-input v-model="addMsg.ChirdNeedBedNum" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4" v-if="IsChildrenTour == 1"> <el-form-item :label="$t('salesModule.BabyNum')" prop="BabyNum"> <el-input v-model="addMsg.BabyNum" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.OldPeopleNum')" prop="OldPeopleNum"> <el-input v-model="addMsg.OldPeopleNum" :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('salesModule.SingDNum')" prop="AirticketNum"> <el-input v-model="addMsg.AirticketNum" :disabled="true"></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item :label="$t('salesModule.SingleRoomNum')" 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="$t('salesModule.BigRoomNum')" 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="$t('salesModule.TripleRoomNum')" prop="TripleRoomNum"> <el-input v-model="addMsg.TripleRoomNum" @keyup.native="checkInteger(addMsg, 'TripleRoomNum')" @input=" yzBigBed1(); getTotalPrice(); "></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item :label="$t('salesModule.PredictRoomNum')" prop="PredictRoomNum"> <el-input v-model="addMsg.PredictRoomNum" :disabled="true"></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item :label="$t('pub.pubRemark')" 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="productQuerybottomLayer ownScrollbarStyle" v-show="SpecialOffer" style="height: 150px; min-height: 200px"> <p> {{ $t("pub.ApplyYH") }} <span class="fr"> <input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="cancelSubmitRemarks()" /> <input type="button" class="normalBtn" :value="$t('pub.saveBtn')" @click="Preservation()" /> </span> </p> <el-form :model="remarksMsg" ref="remarksMsg" label-position="right" :rules="RemarksRules" label-width="80px"> <el-row :gutter="20"> <el-col :span="24"> <el-form-item> <em style=" font-size: 12px !important; color: #606266; line-height: 34px; ">{{ $t("pub.NowPrice") }}</em> <em style=" display: inline-block; padding: 0 10px; height: 34px; line-height: 34px; text-align: left; font-size: 16px; border-radius: 3px; background-color: #e5e5e5; vertical-align: top; " class="w150">{{ SOMsg.OrderUnitPrice }}</em> <em style=" margin-left: 100px; font-size: 12px !important; color: #606266; ">{{ $t("salesModule.AdultPeople") }}</em> <el-select :placeholder="$t('pub.pleaseSel')" v-model="SOMsg.UpdateBy"> <el-option v-for="(item, index) in SuperiorPeople" :label="item.EmName" :value="item.EmployeeId" :key="index"></el-option> </el-select> </el-form-item> <el-form-item :label="$t('salesModule.ApplyReason')" style="margin-left: 58px"> <el-input v-model="SOMsg.ApplyReason" type="textarea" maxlength="1000" style="width: 60%"></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <!-- 修改单男单女--> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="showChangeGender" style="height: 150px; min-height: 200px"> <p> {{ $t("salesModule.SingleFM") }} <span class="fr"> <input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="closeGenderDiv()" /> <input type="button" class="normalBtn" :value="$t('pub.saveBtn')" @click="SetGender()" /> </span> </p> <el-form :model="subGenderInfo" :inline="true" ref="subGenderInfo" label-position="right" :rules="subGenderInfo" label-width="80px"> <!-- <el-row :gutter="20"> <el-col :span="12"> --> <el-form-item :label="$t('hotel.order_Number')" > {{subGenderInfo.OrderId}} </el-form-item> <el-form-item :label="$t('salesModule.SingleFM')" style="margin-left: 58px"> <el-radio-group v-model="subGenderInfo.TipMoney"> <el-radio :label="0">{{$t("pub.no")}}</el-radio> <el-radio :label="1">{{$t("pub.man")}}</el-radio> <el-radio :label="2">{{$t("pub.woman")}}</el-radio> </el-radio-group> </el-form-item> <!-- </el-col> </el-row> --> </el-form> </div> <div class="groupTourOrderSearch"> <ul> <li> <span><em>{{ $t("advmanager.v_line") }}</em> <el-select class="w150" v-model="msg.LineId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLineTeamList(msg.LineId)"> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option v-for="item in LineList" :label="item.LineName" :value="item.LineID" :key="item.LineID"> </el-option> </el-select> </span> </li> <li> <span><em>{{ $t("advmanager.v_xilie") }}</em> <el-select class="w150" v-model="msg.LineteamId" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option v-for="item in LineTeamList" :label="item.LtName" :value="item.LtID" :key="item.LtID"> </el-option> </el-select> </span> </li> <li> <span> <em>{{ $t("visa.v_tuanhao") }}</em> <el-input v-model="msg.TCNUM" class="w150"></el-input> </span> </li> <li> <span> <em>{{ $t("hotel.order_Number") }}</em> <el-input v-model="msg.tempOrderId" class="w150" @keyup.native="checkInteger(msg, 'tempOrderId')" maxlength="8"></el-input> </span> </li> <li> <span><em>{{ $t("scen.sc_ftTime") }}</em> <!-- <el-date-picker v-model="msg.QStartDate" @change="dataDui2()" class="w150" value-format="yyyy-MM-dd" type="date"></el-date-picker> --> <DateLimit :clearable="false" :StartGroupDate="msg.QStartDate" :EndGroupDate="msg.QEndDate" @change="(date)=> {msg.QStartDate = date,dataDui2()}"></DateLimit> - <el-date-picker v-model="msg.QEndDate" @change="dataDui2()" class="w150" value-format="yyyy-MM-dd" type="date":picker-options="pickerBeginDateAfter"></el-date-picker> </span> </li> <li style="line-height: 30px; padding-left: 30px"> <el-popover width="520" trigger="click"> <div class="groupSuperSearchLayer"> <p>{{ $t("visa.v_tkgjcx") }}</p> </div> <table class="groupSuperSearchLayerTable" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="70">{{ $t("scen.sc_cp") }}</td> <td> <el-select v-model="msg.OutBranchId" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option v-for="item in companyList" :label="item.bName" :value="item.id" :key="item.id"> </el-option> </el-select> </td> <td width="70">{{ $t("salesModule.ApplyStatus") }}</td> <td> <el-select v-model="msg.PayStatus" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option :label="$t('salesModule.DSDJ')" value="1"></el-option> <el-option :label="$t('salesModule.DSWK')" value="2"></el-option> </el-select> </td> </tr> <tr> <td>{{ $t("fnc.bmriqi") }}</td> <td colspan="3"> <el-date-picker v-model="msg.CStartDate" @change="dataDui()" class="w170" value-format="yyyy-MM-dd" type="date"></el-date-picker> - <el-date-picker v-model="msg.CEndDate" @change="dataDui()" class="w170" value-format="yyyy-MM-dd" type="date"></el-date-picker> </td> </tr> <tr> <td width="70">{{ $t("hotel.hotel_OrderStates") }}</td> <td> <el-select v-model="msg.OrderState" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option v-for="item in ddztList" :label="item.Name" :value="item.Id" :key="item.Id"> </el-option> </el-select> </td> <td width="70">{{ $t("fnc.khleixing") }}</td> <td> <el-select v-model="msg.CustomerType" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option v-for="item in khlxList" :label="item.Name" :value="item.Id" :key="item.Id"> </el-option> </el-select> </td> </tr> <tr> <td width="70">{{ $t("fnc.khmingcheng") }}</td> <td> <el-input v-model="msg.ContactName"></el-input> </td> <td width="70">{{ $t("salesModule.BMLX") }}</td> <td> <el-select v-model="msg.GroupTypeArray" filterable multiple class="multiple_input" :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in ctlxList" :label="item.Name" :value="item.Id" :key="item.Id"> </el-option> </el-select> </td> </tr> <tr> <td width="70">{{ $t("hotel.order_Form") }}</td> <td> <el-select v-model="msg.OrderSource" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option v-for="item in ddlyList" :label="item.Name" :value="item.Id" :key="item.Id"> </el-option> </el-select> </td> <td colspan="2"></td> </tr> <tr> <td colspan="4"> <input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click=" getList(); resetPageIndex(); " style="width: 476px !important" /> </td> </tr> </table> <span slot="reference" style="cursor: pointer">{{ $t("visa.v_gjchaxun") }}<i class="el-icon-caret-bottom"></i></span> </el-popover> </li> <li> <input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click=" getList(); resetPageIndex(); " /> </li> </ul> </div> <!-- 统计版块 --> <div class="groupTourOrder_count"> <el-row :gutter="20"> <el-col :span="5" class="groupTourOrder_count_col"> <div class="groupTourOrder_count_item"> <div> <i class="iconfont icon-qian groupTourOrder_count_green"></i> <span>{{ $t("Operation.Op_salesTotal") }}</span> </div> <p> <span>{{ $t("salesModule.Ypay") }}:{{ countData.PreferPrice }};</span> <span>{{ $t("Operation.Op_yiShou") }}:{{ countData.Income }};</span> <span :class="{ color_red_order: countData.DueinMoney !== countData.PreferPrice, }">{{ $t("Operation.Op_weiShou") }}:{{ countData.DueinMoney }};</span> <span>{{$t('objFill.yingshouxf')}}:{{ countData.PreferTipAmount?countData.PreferTipAmount:'0' }};</span> <span>{{$t('objFill.yishouxf')}}:{{ countData.CompensationMoney?countData.CompensationMoney:'0' }};</span> <span>{{$t('objFill.weishouxf')}}:{{ countData.PreferTipAmount-countData.CompensationMoney }};</span> <span>{{ $t("fnc.ztjine") }}:{{ countData.ZaiTu }};</span> </p> </div> </el-col> <el-col :span="4" class="groupTourOrder_count_col"> <div class="groupTourOrder_count_item"> <div class="groupTourOrder_count_blue"> <i class="iconfont icon-baomingrenshu"></i> <span>{{ $t("fnc.zcbmrenshu") }}</span> <span>{{ countData.NormalGuestNum }}</span> </div> <p> <span>{{ $t("Airticket.Air_EconomyClass") }}:{{ countData.NormalYSeatNum }};</span> <span>{{ $t("Airticket.Air_businessClass") }}:{{ countData.NormalESeatNum }};</span> <span>{{ $t("Airticket.Air_firstClass") }}:{{ countData.NormalFSeatNum }};</span> </p> </div> </el-col> <el-col :span="4" class="groupTourOrder_count_col"> <div class="groupTourOrder_count_item"> <div class="groupTourOrder_count_yellow"> <i class="iconfont icon-baomingrenshu"></i> <span>{{ $t("fnc.qxrenshu") }}</span> <span>{{ countData.CancelGuestNum }}</span> </div> <p> <span>{{ $t("Airticket.Air_EconomyClass") }}:{{ countData.CancelYSeatNum }};</span> <span>{{ $t("Airticket.Air_businessClass") }}:{{ countData.CancelESeatNum }};</span> <span>{{ $t("Airticket.Air_firstClass") }}:{{ countData.CancelFSeatNum }};</span> </p> </div> </el-col> <el-col :span="4" class="groupTourOrder_count_col"> <div class="groupTourOrder_count_item"> <div> <i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i> <span>{{ $t("fnc.qtxtongji") }}</span> </div> <p> <span>{{ $t("fnc.nbbaoming") }}:{{ countData.InteriorNum }};</span> <span>{{ $t("fnc.B2BWAP") }}:{{ countData.B2BNum }};</span> </p> </div> </el-col> <el-col :span="4" class="groupTourOrder_count_col"> <div class="groupTourOrder_count_item"> <div> <i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i> <span>{{ $t("fnc.cwdjshuoming") }}</span> </div> <p> <span class="groupTourOrderByTuan_ico"><i style="background-color: #0000ff"></i><span>{{ $t("fnc.yidadan") }}</span></span> <span class="groupTourOrderByTuan_ico"><i style="background-color: #00ff00"></i><span>{{ $t("fnc.ptcnyshenhe") }}</span></span> <span class="groupTourOrderByTuan_ico"><i style="background-color: #ff0000"></i><span>{{ $t("fnc.yhcnyshenhe") }}</span></span> <span class="groupTourOrderByTuan_ico"><i style="background-color: #000000"></i><span>{{ $t("fnc.ytongguo") }}</span></span> </p> </div> </el-col> <el-col :span="3" class="groupTourOrder_count_col"> <div class="groupTourOrder_count_item"> <div> <i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i> <span>{{ $t("salesModule.LJTC") }}</span> </div> <p> <span>{{ $t("salesModule.TCmoney") }}:{{ countData.SumCommissionMoney }};</span> </p> <p> <span>{{$t('objFill.ewaiticheng')}}:{{ countData.ExtraCommissionMoney }};</span> </p> </div> </el-col> </el-row> </div> <!-- 表格 --> <div style="width: 100%; height: auto; overflow-x: auto" class="ownScrollbarStyle"> <table class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading"> <tr> <th width="210">{{ $t("fnc.danhao") }}&{{ $t("visa.v_tuanhao") }}</th> <th width="120">{{ $t("fnc.khxinxi") }}</th> <th width="70">{{ $t("salesModule.Type") }}</th> <th width="150"> {{ $t("advmanager.v_xilie") }}&{{ $t("advmanager.v_line") }} </th> <th width="60">{{ $t("Airticket.Air_Number") }}</th> <th width="80">{{ $t("fnc.danjia") }}</th> <th width="80">{{ $t("fnc.cjdanjia") }}</th> <th width="80">{{ $t("fnc.yszonge") }}</th> <th width="80">{{ $t("fnc.shishou") }}</th> <!-- <th width="80">{{$t('op.RTXF')}}</th> --> <th width="70">{{ $t("fnc.youhui") }}</th> <th width="70">{{ $t("salesModule.HappinessPassbook") }}</th> <th width="70">{{ $t("fnc.tuikuan") }}</th> <th width="70">{{ $t("fnc.ptshuijin") }}</th> <th width="80">{{ $t("Operation.Op_platZaitu") }}</th> <th width="80">{{$t('objFill.xianshouzt')}}</th> <th width="80">{{ $t("Operation.Op_daishou") }}</th> <th width="80">{{ $t("admin.admin_status") }}</th> <th width="120">{{ $t("salesModule.QRH") }}</th> <th width="200">{{ $t("system.table_operation") }}</th> </tr> <tr> <td v-show="list.length == 0" colspan="19" align="center"> {{ $t("system.content_noData") }} </td> </tr> <tbody v-for="(item, index) in list" :key="index"> <tr> <td rowspan="3" style="position: relative;"> <span class="TC_neibu" style="float: inherit;margin-left: 5px;margin-right: 5px;position: absolute;top: 10px;left:3px" v-if="item.standardCurrencyName" :class="{'TCneibu':item.standardCurrencyName=='人民币','TCb2b':item.standardCurrencyName=='日元', 'TCb2c':item.standardCurrencyName=='新台币','AppPlat':item.standardCurrencyName=='', 'otherPlat':item.standardCurrencyName=='',}">{{item.standardCurrencyName}}{{$t('objFill.jiesuan')}}</span> <p v-if="item.isChargeLossOrders == 1" style="color: red"> {{ $t("fnc.sun") }} </p> <p class="fbold over_ellipsis" style="width: 100%; cursor: pointer"> <span :title="item.orderId" @click=" goUrlX( '团报名清单', 'groupTourOrderByTuan', item.tcid, item.tcnum ) ">{{ item.orderId }}</span> <span style=" font-weight: 100; text-decoration: underline; cursor: pointer; color: #e95252; " v-if="item.scoreNum >= 0" @click=" goInvetig('investigationList', item.tcid, item.orderId) ">({{$t('salesModule.ScoreNUM')}}{{ item.scoreNum }})</span> <el-tooltip class="item" effect="dark" :content="$t('salesModule.ByProgram')" placement="top" v-show="item.orderForm == 4"> <i class="iconfont icon-xiaochengxu" style="font-size: 22px; color: red"></i></el-tooltip> <el-tooltip class="item" effect="dark" :content="$t('salesModule.ByB2b')" placement="top" v-show="item.isFormB2B == 1"> <i class="iconfont icon-tiaozheng" style="font-size: 22px; color: #297bef"></i></el-tooltip> </p> <p class="fz12 over_ellipsis" style="width: 100%; text-decoration: underline; cursor: pointer" :title="item.alName" @click=" goUrlX('产品查询', 'productQuery', item.tcid, item.tcnum) "> {{ item.tcnum }} </p> <p class="fz12 over_ellipsis" style="width: 100%"> {{ item.commissionSPeopleName }} </p> <p v-if="item.lureEmpName">{{$t('objFill.yinliuren')}}:{{ item.lureEmpName }}</p> <p style="min-width: 180px"> {{ $t("hotel.hotel_StartTeam") }}:{{ item.startDate }} </p> <p>{{ $t("restaurant.res_oderTime") }}:{{ item.createDate }}</p> <p v-if="item.teamType==1||item.teamType==2"> {{item.status==1?$t('objFill.weijietuan'):(item.status==2?$t('objFill.yijietuan'):(item.status==5?$t('objFill.daijietuansh'):""))}}{{item.status==2?item.outGroupAuditDate:""}} </p> <p v-if="item.tradeWay == 1">{{ item.platformOrder }}</p> <p v-if="item.commissionMoney" style="color: red;cursor: pointer;"> <span style="float: left;">{{ $t("salesModule.Commission") }}:</span> <commissionDialog :type="pagesTitle" :objNew="item"></commissionDialog>{{item.commissionCurrency}} </p> <p v-else-if="item.latestCommissionMoney" style="color: red"> {{ $t("salesModule.Commission") }}:{{ item.latestCommissionMoney }} </p> <div> <div style="color: green" v-if=" item.commissionMoney == '' || item.commissionMoney == '-1' "> <p v-if="item.extraRewardMoney > 0"> {{ $t("salesModule.EWJLJE") }}:{{ item.extraRewardMoney }} </p> <p v-if="item.extraDeductMoney > 0"> {{ $t("salesModule.EWKCJE") }}:{{ item.extraDeductMoney }} </p> </div> <div style="color: red" v-else> <p v-if="item.extraRewardMoney > 0"> {{ $t("salesModule.EWJLJE") }}:{{ item.extraRewardMoney }} </p> <p v-if="item.extraDeductMoney > 0"> {{ $t("salesModule.EWKCJE") }}:{{ item.extraDeductMoney }} </p> </div> <div style="color: red"> <p v-if="item.unionExtraMoney != 0"> {{ $t("salesModule.LYEWFY") }}:{{ item.unionExtraMoney }} </p> </div> </div> <div v-if="item.orderTypeName === '单团'" style="color: red; cursor: pointer" @click="seeBJD(item.quotationUrl)"> {{$t('objFill.ckbjd')}} </div> <div v-if="item.autoCouponId>-1">{{$t('active.ad_yhq')}}: <span v-if="item.autoCouponId==0" style="color: red">{{$t('objFill.daifafang')}}</span> <span v-if="item.autoCouponId==1" style="color: green">{{$t('objFill.yifafang')}}</span> <span v-if="item.autoCouponId==2" style="color: red">{{$t('adm.adm_Withdrawn')}}</span> </div> </td> <td> <p class="fz12 over_ellipsis" style="width: 120px" :title="item.contactName"> {{ item.contactName }} </p> <p class="fz12">{{ item.contactMobile }}</p> <p class="fz12" v-if="item.industryCategory !== ''" style="color: green"> {{ $t("salesModule.HYLB") }}:{{ item.industryCategory }} </p> </td> <td> <p class="fz12 over_ellipsis" style="width: 100%"> {{ item.orderTypeName }} </p> </td> <td class="fz12"> <p style="max-width: 160px; display: block" class="over_ellipsis" :title="item.lineName"> <span>{{ item.lineName }}</span> </p> <p style="max-width: 160px; display: block" class="over_ellipsis" :title="item.ltName"> {{ item.ltName }} </p> </td> <td> <span v-if="item.guestNumStatus == 1" style="color: #1aa86b" class="personNo" slot="reference" @click="getMembersDetail(item)">{{ item.guestNum }}/{{ item.ySeatNum > 0 ? item.ySeatNum + "Y " : "" }}{{ item.eSeatNum > 0 ? item.eSeatNum + "E " : "" }}{{ item.fSeatNum > 0 ? item.fSeatNum + "F " : "" }}</span> <span v-if="item.guestNumStatus == 2" style="color: #e95252" class="personNo" slot="reference" @click="getMembersDetail(item)">{{ item.guestNum }}/{{ item.ySeatNum > 0 ? item.ySeatNum + "Y " : "" }}{{ item.eSeatNum > 0 ? item.eSeatNum + "E " : "" }}{{ item.fSeatNum > 0 ? item.fSeatNum + "F " : "" }}</span> <span v-if="item.guestNumStatus == 3" style="color: #666" class="personNo" slot="reference" @click="getMembersDetail(item)">{{ item.guestNum }}/{{ item.ySeatNum > 0 ? item.ySeatNum + "Y " : "" }}{{ item.eSeatNum > 0 ? item.eSeatNum + "E " : "" }}{{ item.fSeatNum > 0 ? item.fSeatNum + "F " : "" }}</span> <br /> <span v-if="item.refuseVisaNum > 0" style="color: red"> ({{ $t("salesModule.RefuseQ") }} {{ item.refuseVisaNum }}{{ $t("sm.person") }}) </span> </td> <td style="color: #ff9c00">{{ moneyFormatN(item.tC_Price) }}</td> <td style="color: #ff9c00">{{ moneyFormatN(item.unit_Price) }}</td> <td> <p style="color: #ff9c00"> <!-- {{ item.preferPrice }} --> <PriceDetail :OrderId="item.orderId" :PreferPrice="item.preferPrice"></PriceDetail> </p> </td> <td> <el-popover style="padding: 0" width="370" trigger="click"> <div class="personNolayer"> <table border="0" cellspacing="1" cellpadding="1"> <tr> <th>{{ $t("salesModule.DJNUM") }}</th> <th>{{ $t("fnc.jine") }}</th> <th>{{ $t("salesModule.Type") }}</th> <th>{{ $t("hotel.hotel_status") }}</th> </tr> <tr v-if="orderList.length > 0" v-for="(item2, index2) in orderList" :key="index2"> <td>{{ item2.FrID }}</td> <td>{{ item2.PayMoney }}</td> <td>{{ item2.TypeName }}</td> <td>{{ item2.StatusName }}</td> </tr> <tr v-if="orderList.length == 0"> <td colspan="4" align="center"> {{ $t("system.content_noData") }} </td> </tr> </table> </div> <span v-if="item.dueInMoney == 0" style="cursor: pointer" @click="getOrderDetail(item)" slot="reference">{{ moneyFormatN(item.income) }}</span> <span v-if="item.dueInMoney != 0" style="cursor: pointer; color: #e95252" @click="getOrderDetail(item)" slot="reference">{{ moneyFormatN(item.income) }}</span> </el-popover> </td> <!-- <td style="color: #ff9c00">{{ item.preferTipAmount?item.preferTipAmount:'0.00' }}</td> --> <!-- 优惠 --> <td> <el-popover style="padding: 0" width="600" trigger="click"> <div class="personNolayer"> <table border="0" cellspacing="1" cellpadding="1"> <tr> <th>{{ $t("active.cl_couponName") }}</th> <th>{{ $t("active.cl_couponType") }}</th> <th>{{ $t("active.cl_dkjezk") }}</th> <th>{{ $t("active.cl_sytiaojian") }}</th> <th>{{ $t("active.cl_huoqufangshi") }}</th> <th>{{ $t("active.cl_hqriqi") }}</th> </tr> <tr v-if="item.couponAllotList.length > 0" v-for="(item2, index2) in item.couponAllotList" :key="index2"> <td>{{ item2.couponsName }}</td> <td> <span v-if="item2.couponsType == 1">{{ $t("active.cl_dyquan") }}</span> <span v-if="item2.couponsType == 2">{{ $t("active.cl_zkquan") }}</span> </td> <td>{{ item2.denomination }}</td> <td> {{ $t("active.cl_man") }}{{ item2.useCondition }}{{ $t("active.cl_keyong") }} </td> <td> <span v-if="item2.accessType == 1">{{ $t("active.cl_choujiang") }}</span> <span v-else></span> </td> <td>{{ item2.acessDate }}</td> </tr> <tr v-if="item.couponAllotList.length == 0"> <td colspan="6" align="center"> {{ $t("system.content_noData") }} </td> </tr> </table> </div> <span style=" cursor: pointer; color: #e95252; text-decoration: underline; " slot="reference">{{ moneyFormatN(item.discountMoney) }}</span> </el-popover> </td> <td> <el-popover v-if="item.customerId || item.customerId == 0" style="padding: 0" width="600" trigger="click"> <div class="personNolayer"> <table border="0" cellspacing="1" cellpadding="1"> <tr> <th>{{ $t("fnc.jine") }}</th> <th>{{ $t("advmanager.v_type") }}</th> <th>{{ $t("system.label_info") }}</th> <th> {{ $t("salesModule.Time") }}(<span @click="goUrlHappy(item)" style="cursor: pointer" colspan="4" align="center">{{ $t("salesModule.Time") }}{{ $t("salesModule.LookMore") }}</span>) </th> </tr> <tr v-for="(item2, index2) in redBagList" :key="index2"> <td>{{ item2.Money }}</td> <td> {{ item2.Type == 1 ? $t('restaurant.res_income') : $t('objFill.zhekou')}} </td> <td>{{ item2.Description }}</td> <td>{{ item2.UpdateTime }}</td> </tr> <tr v-if="redBagList.length == 0"> <td colspan="4" align="center"> {{ $t("system.content_noData") }} </td> </tr> </table> </div> <span @click="getRedBag(item)" style=" cursor: pointer; color: #e95252; text-decoration: underline; " slot="reference">{{ moneyFormatN(item.redEnvelopeMoney) }}</span> </el-popover> <span v-else style="color: #e95252; text-decoration: underline">{{ moneyFormatN(item.redEnvelopeMoney) }}</span> </td> <td>{{ moneyFormatN(item.refund) }}</td> <td>{{ moneyFormatN(item.platformTax) }}</td> <td>{{ moneyFormatN(item.zaiTuMoney) }}</td> <td>{{ moneyFormatN(item.cashReceiptsMoney) }}</td> <td> <span :class="{ color_red_order: item.dueInMoney !== item.preferPrice, }">{{ moneyFormatN(item.dueInMoney) }} </span> </td> <td v-if="item.isChargeLossOrders == 1" class="fz12" style="color: #e95252"> {{ $t("fnc.shousun") }} </td> <td v-else class="fz12" :style="item.orderState === 3 ? 'color: #e95252;' : ''"> {{ item.statsstr }} </td> <td width="120"> <!--{{item.confirmFileList}}--> <!--<span>{{$t('salesModule.QRH')}}</span>--> <span v-if="item.confirmFileList.length > 0" class="fz12 dowloadSpan" @click="downLoadFile(item.confirmFileList)"> {{ $t("salesModule.QRHXZ") }} </span> <i v-if=" item.confirmFileList.length > 0 && item.commissionSharePeople !== userId " @click="deleteFile(item)" style="margin-left: 5px" class="el-icon-error color999"></i> <template v-if="item.confirmFileList.length == 0"> <el-upload v-if=" item.confirmFileList.length == 0 && item.commissionSharePeople !== userId " :http-request="uploadFileBtn" :multiple="false" :show-file-list="false" action=""> <el-button size="small" type="danger" @click="getItem(item)">{{ $t("adm.adm_content") }}</el-button> </el-upload> </template> <p style="color:red;font-size:12px;">{{$t('objFill.v101.Rest.shenqfpxyscqrh')}}</p> </td> <td class="groupTourOrderIcon"> <el-button-group v-if="item.commissionSharePeople !== userId"> <el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start"> <el-button v-if=" item.isOrder == '1' && item.isHaveFinance != '1' && item.orderState != '1' && item.orderState != '4' " type="primary" style="background: #00c6ff; border-color: #00c6ff" icon="iconfont icon-bianji-smal" @click="getDetail(item)"></el-button> </el-tooltip> <el-tooltip class="item" effect="dark" :content="$t('salesModule.UpRemarks')" placement="top-start"> <el-button type="primary" style="background: green; border-color: green" icon="iconfont icon-bianji-smal" @click="getRemarks(item)"></el-button> </el-tooltip> <el-tooltip effect="dark" :content="$t('fnc.rizhi')" placement="top-start" style="float: left"> <el-popover width="230" trigger="click"> <div class="priceContentDiv"> <div class="AuditLog">{{ $t("fnc.rizhi") }}</div> <div class="logContact" style="background: #f9f9f9; padding: 20px 10px 0"> <div v-if="logList.length > 0" v-for="(item, index) in logList" :key="index"> <div class="clearfix"> <div class="Auditcircle" style="left: 6px !important"></div> <div class="operateName" style="color: #005caa"> {{ item.emName }} </div> <div class="operateDate fz12 color666"> {{ item.x }} </div> </div> <div class="fz12 color333">{{ item.logInfo }}</div> </div> <div v-if="logList.length == 0"> {{ $t("system.content_noData") }} </div> </div> </div> <el-button slot="reference" @click="getLogDetail(item)" type="primary" style=" background: #47bf8c; border-color: #47bf8c; border-top-right-radius: 0; border-bottom-right-radius: 0; " icon="iconfont icon-rizhi1"></el-button> </el-popover> </el-tooltip> <el-tooltip effect="dark" :content="$t('pub.more')" placement="top-start" style="float: left"> <el-popover width="100" trigger="hover"> <div class="groupTourOrder_more"> <div @click="goUrlT('confirmationOrder', item.orderId)"> {{ $t("salesModule.QRH") }}{{ item.operationState === 2 ?$t('objFill.shenhezt')[0] : item.operationState === 1 ?$t('objFill.shenhezt')[1] : item.operationState === 0 ?$t('objFill.shenhezt')[2] : "" }} </div> <div v-if="isEditOrderCreate == 1" @click="getSalerInfo(item)"> {{ $t("salesModule.UpdateYWY") }} </div> <template v-if="item.lineId==90"> <div v-if="item.outNotice == 1" @click="toTrip(item)"> {{ $t("Operation.Op_teamNotice") }}<span v-if="item.outNotice == 1">(OK)</span><span v-else>({{ $t("visa.v_zanding") }})</span> </div> </template> <template v-else> <div v-if="item.outNotice == 1" @click="toTrip(item)"> {{ $t("Operation.Op_teamNotice") }}<span v-if="item.outNotice == 1">(OK)</span><span v-else>({{ $t("visa.v_zanding") }})</span> </div> </template> <div v-if="item.orderState != '4'" @click="goUrlP('旅客名单', 'passengerSaleList', item)"> {{ $t("salesModule.LKMD") }} </div> <div v-if=" item.isOrder == '1' && (item.isHaveFinance == '1' || item.orderState == '1') " @click="getHouse(item)"> {{ $t("salesModule.UpdateRoom") }} </div> <div v-if=" item.isOrder == '1' && item.orderState != '4' && TransferMission == true " @click="transfer(item)"> {{ $t("salesModule.OrderGroup") }} </div> <div v-if="item.orderState == '1' || item.orderState == '2'" @click="setChargeLoss(item)"> <span v-if="item.isChargeLossOrders == 1">{{ $t("salesModule.LossSheet") }}</span> <span v-else>{{ $t("salesModule.LossReceipt") }}</span> </div> <div v-if="item.orderState == '1' || item.orderState == '2'|| item.orderState == '3'" @click="getOrderGender(item)"> {{$t("pub.updateMsg")+$t("salesModule.SingleFM")}} </div> <!-- item.confirmFileList.length>0 && ((item.receivableMoney - item.invoiceApplyTotal) > 0) --> <div v-if=" (item.confirmFileList.length > 0 || item.contractNum.length > 0) && item.receivableMoney - item.invoiceApplyTotal > 0 && (qjGroupId == userInfo.RB_Group_id || F_InvoiceManagement) " @click=" goUrlAdd( 'invoicesManagerAdd', item.orderId, item.tcid, item.customerId, 1 ) "> {{ $t("salesModule.ApplyInvoice") }} </div> <div @click=" Discount(item.tcid), (SOMsg.OrderId = item.orderId), (SOMsg.OrderUnitPrice = item.unit_Price) "> {{ $t("pub.ApplyYH") }} </div> <div v-if=" qjGroupId == userInfo.RB_Group_id || F_Finance_Create " @click="ShenQingPhoto(item)"> {{ $t("salesModule.ApplyPhoto") }} </div> <div v-if=" item.isOrder == '1' && (item.orderState == '1' || item.orderState == '2' || item.orderState == '3') && item.isCanClear == 0 " @click="deleteItem(item)"> {{ $t("pub.cancelBtn") }} </div> <div @click=" SpecialAPP( item.tcid, item.orderId, item.orderspecialofferId ) "> {{$t('objFill.tejiasheqinghan')}} </div> <div v-if=" item.isOrder == '1' && (item.orderState == '1' || item.orderState == '2' || item.orderState == '3') && item.isCanClear == 1 " :title="$t('objFill.ruxuqxddqlxop')" style="color: red"> {{ $t("salesModule.OrderSured") }} </div> <div v-if="item.scoreNum >= 0" @click=" goInvetig( 'investigationList', item.tcid, item.orderId ) "> {{ $t("salesModule.LookTourse") }} </div> </div> <el-button slot="reference" type="primary" style=" background: #297bef; border-color: #297bef; border-top-left-radius: 0; border-bottom-left-radius: 0; " icon="iconfont icon-more"></el-button> </el-popover> </el-tooltip> </el-button-group> <payurlItem v-if=" item.commissionSharePeople !== userId && item.airConfirm != 2 " :item="item" :showID="showID" :photoF="item.photoNum > 0" v-show=" item.orderState != '4' && item.orderState != '3' && (qjGroupId == userInfo.RB_Group_id || F_Finance_Create) " v-on:childByValue="childByValue"></payurlItem> </td> </tr> <tr style="height: 20px"> <td colspan="18" class="RL_Order" style="height: 20px"> <span class="RL-remarkTitle" v-if="item.guestList.length > 0">{{ $t("salesModule.MD") }}:</span> <span class="RL-redType RL-remarkCon" v-if="item.guestList.length > 0"> <span v-for="childItem in item.guestList" style="color: blue">{{ childItem.userName }} <span style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span> <span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span> <span v-if="childItem.isApplyPhoto == 1" style="color: red">({{ $t("salesModule.Zhao") }})</span> <span style="cursor:pointer;" @click="goProtocol(item,childItem)">{{childItem.protocolId>0?$t('objFill.chakanbmxy'):$t('objFill.qiandbmxy')}}</span> <span v-if="isShow===index||childItem.disclaimerId>0" style="cursor:pointer;" @click="goDisclaimer(item,childItem)">{{childItem.disclaimerId>0?$t('objFill.chakanctmzclh'):$t('objFill.qiandinctmzclh')}}</span> </span> <span v-if="item.photoNum > 0">({{ $t("salesModule.NoPhoto") }} {{ item.photoNum }}{{ $t("salesModule.Fen") }})</span> </span> <p v-if="item.cancelGuestList.length > 0"> <span class="">{{ $t("salesModule.CancelOrder") }}:</span> <span class="RL-redType RL-remarkCon"> <span style="color: red" v-for="childItem in item.cancelGuestList">{{ childItem.userName }}<span style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span> </span> </span> </p> <span style="display: block">{{ $t("salesModule.RoomInfo") }}<span v-if="item.oneSex > 0" style="color: #e95252">({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})</span><span v-if="item.chirdNoNeedBedNum > 0" style="color: #e95252">({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}} )</span>:{{ item.orderGuestHouseStr }}</span> <div> <span v-if="item.opTipMoney == '' && item.tipMoney != ''" style="color: red">({{ $t("fnc.xiaofei") }}:{{ item.tipMoney }})</span> <span v-if="item.opTipMoney != ''" style="color: red"> ({{ $t("fnc.xiaofei") }}:{{ item.opTipMoney }}) <span>{{ $t("salesModule.Docments") }}:</span> <span @click="gourlTip('FinancialDocumentsDetail', id)" style=" text-decoration: underline; color: blue; cursor: pointer; " v-for="(id, i) in item.tipFrId" :key="i">{{ id }}</span> </span> </div> <div class="order-show GO_Contract" v-if="item.isShowDisclaimer==1" @click="showMore(item,index)"> <span>{{isShow===index ? $t('objFill.yingcanctmzclh') : $t('objFill.xianshictmzclh')}} </span> </div> <div v-if="item.otherContractList&&(qjGroupId == userInfo.RB_Group_id || F_ContractManagement)"> <span class="GO_Contract" @click="goSingleContract(item)">{{item.otherContractList.length==0? $t('objFill.danxianght') : $t('objFill.chankandxht')}}</span> </div> <div v-if=" item.contractNum.length == 0 && (qjGroupId == userInfo.RB_Group_id || F_ContractManagement) "> <span class="GO_Contract" @click="goContract(item, {})">{{$t('objFill.chujinghet')}}</span> </div> <div v-else> <template v-if="item.contractNum && item.contractNum.length > 0"> <span v-for="sItem in item.contractNum" class="GO_Contract" @click="goContract(item, sItem)"> {{ sItem.client_Name + "" + sItem.contractNum }} <template v-if="sItem.auditContract==3"> <font style="color:red">{{$t('fnc.bohui')}}</font> </template> <template v-if="sItem.auditContract==2"> <font style="color:green">{{$t('objFill.shenhetongguo')}}</font> </template> </span> </template> </div> </td> </tr> <tr> <td colspan="5"> <div class="groupTourOrder_remarks"> <div> <div> <span>{{ $t("pub.pubRemark") }}:</span> <p> <span v-if="item.tsIdList.length > 0">{{ $t("salesModule.ComplaintNum") }}: <a class="underline" v-for="ts in item.tsIdList" href="javascript:void(0);" @click=" goUrlTS( 'ComplaintsDetail', ts, item.orderId, '投诉详情' ) ">{{ ts }}</a> ;</span><span v-if="item.clientSource == 1 && item.brandName != ''">{{ item.brandName }}{{ $t("fnc.dingdan") }} {{ item.platformOrder }};</span>{{ item.remarks }} </p> </div> <div> <span>{{ item.remarksName }} {{ item.rematksTime }}</span> <el-popover width="600" placement="bottom-end" trigger="click"> <div class="groupTourOrder_remarks_popover"> <div>{{ $t("fnc.lsbeizhu") }}</div> <p v-if="item.remarksList.length !== 0" v-for="(item2, index2) in item.remarksList" :key="index2"> <span>{{ item2.remarks }}</span> <span>{{ item2.createByName }} <span style="color: #666666">{{ item2.createDate }}</span></span> </p> <span v-if="item.remarksList.length === 0">{{ $t("system.content_noData") }}</span> </div> <el-button slot="reference" icon="iconfont icon-gengduo" style=" padding: 0px; border: none; background-color: transparent; " class="groupTourOrder_remarks_btn"> </el-button> </el-popover> </div> </div> </div> <p v-if="item.unionRemark" style="color: red;font-size:10px;margin-top:5px;">{{$t('objFill.liangyunbeizhu')}}:{{ item.unionRemark }} </p> <template v-if="item.orderGuestFlightList&&item.orderGuestFlightList.length>0"> <template v-for="(uItem,uIndex) in item.orderGuestFlightList"> <div :key="uIndex+20000"> {{uItem.guestNames}} {{$t('salesModule.FlighInfo')}}: <span v-if="uItem.isSure==1" style="color:rgb(71, 191, 140)">【OK】</span> <span v-else>【{{$t('visa.v_zanding')}}】</span> <!-- <a v-if="uItem.ticketUnionId&&uItem.ticketUnionId>0" @click="toTrip(item,uItem.ticketUnionId,uItem.GuestIds)" style="cursor:pointer;text-decoration:underline;color:green;"> {{ $t("Operation.Op_teamNotice") }}({{ item.outNotice == 1 ? "OK" : $t('visa.v_zanding')}}) </a> --> <a v-if="(item.orderGuestFlightList&&item.orderGuestFlightList.length>1&&item.outNotice == 1)||(uItem.ticketUnionId&&uItem.ticketUnionId>0)" @click="toTrip(item,uItem.ticketUnionId,uItem.guestIds)" style="cursor:pointer;text-decoration:underline;color:green;"> {{ $t("Operation.Op_teamNotice") }}({{ item.outNotice == 1 ? "OK" : $t('visa.v_zanding')}}) </a> <br /> <template v-for="(sfItem,sfIndex) in uItem.guestFlightList"> <span style="color:blue;" :key="sfIndex+30000"> {{sfItem.flightDateStr}} {{sfItem.flight_number}} {{sfItem.departure_time}}-{{sfItem.arrival_time}} {{sfItem.departureName}} ({{sfItem.diata}})-{{sfItem.arrivalCityName}}({{sfItem.aiata}}) </span> <br :key="sfIndex+40000" /> </template> </div> </template> </template> </td> <td colspan="4" class="groupTourOrder_remarks" style="height: 40px"> <div> <div> <span>{{ $t("Operation.Op_remark") }}:</span> <p>{{ item.oP_Remarks ? item.oP_Remarks : $t('fnc.no') }}</p> </div> </div> </td> <td colspan="4" class="groupTourOrder_SpecialAPP" stysle="height: 40px;"> <div v-if="item.lessPrice>0"> <span>{{ $t('objFill.saleless') }}:</span> <span class="font-color-red">{{item.lessPrice}}</span> </div> <div> {{$t('objFill.tejiasheqinghan')}}: <template v-if="item.orderspecialofferId === 0"> <span class="font-color-blur">{{$t('objFill.weishenqing')}}</span> </template> <template v-else> <span class="font-color-red" v-if="item.orderspecialofferState === -1">{{$t('visa.v_jujue')}}</span> <span class="font-color-org" v-if="item.orderspecialofferState === 0">{{$t('objFill.shengpizhong')}}</span> <span class="font-color-green" v-if="item.orderspecialofferState === 1">{{$t('visa.v_tongguo')}}</span> </template> </div> <div class="font-color-red" v-if="item.orderspecialofferId !== 0"> {{$t('objFill.shengqingsm')}}:<span>{{ item.orderspecialofferApplyReason }}</span> </div> <div class="font-color-red" v-if="item.orderspecialofferId !== 0"> {{$t('objFill.shengpism')}}:<span>{{ item.orderspecialofferReason }}</span> </div> </td> <td colspan="5" class="groupTourOrder_tickets" style="height: 40px"> <div> <div>{{ $t("fnc.skdanju") }}:</div> <div> <span v-for="(item2, index2) in item.financeList" :key="index2" @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"> <span v-if="item2.colorState === 1" class="groupTourOrder_tickets_blue">{{ item2.frID }}</span> <span v-else-if="item2.colorState === 2" class="groupTourOrder_tickets_green">{{ item2.frID }}</span> <span v-else-if="item2.colorState === 3" class="groupTourOrder_tickets_red">{{ item2.frID }}</span> <span v-else-if="item2.colorState === 4" class="groupTourOrder_tickets_black">{{ item2.frID }}</span> </span> <span v-if="item.financeList.length === 0" style="cursor: default">{{ $t("system.content_noData") }}</span> </div> </div> <div> <div>{{ $t("fnc.fkdanju") }}:</div> <div> <span v-for="(item2, index2) in item.refundFinanceList" :key="index2" @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"> <span v-if="item2.colorState === 1" class="groupTourOrder_tickets_blue">{{ item2.frID }}</span> <span v-else-if="item2.colorState === 2" class="groupTourOrder_tickets_green">{{ item2.frID }}</span> <span v-else-if="item2.colorState === 3" class="groupTourOrder_tickets_red">{{ item2.frID }}</span> <span v-else-if="item2.colorState === 4" class="groupTourOrder_tickets_black">{{ item2.frID }}</span> </span> <span v-if="item.refundFinanceList.length === 0" style="cursor: default">{{ $t("system.content_noData") }}</span> </div> </div> <div> <div>{{ $t("salesModule.Invoice") }}:</div> <div> <span v-for="(item2, index2) in item.invoiceApplyList" :key="index2"> <span v-if="item2.invoiceApplyState === 6" class="groupTourOrder_tickets_blue" @click="goIisDetail(item2.id)">{{ item2.id }}</span> <span v-else-if=" item2.invoiceApplyState === 1 || item2.invoiceApplyState === 3 || item2.invoiceApplyState === 6 " class="groupTourOrder_tickets_green" @click="goIisDetail(item2.id)">{{ item2.id }}</span> <span v-else-if=" item2.invoiceApplyState === 5 || item2.invoiceApplyState === 4 " class="groupTourOrder_tickets_red" @click="goIisDetail(item2.id)">{{ item2.id }}</span> <span v-else-if="item2.invoiceApplyState === 2" class="groupTourOrder_tickets_black" @click="goIisDetail(item2.id)">{{ item2.id }}</span> </span> <span v-if="item.invoiceApplyList.length === 0" style="cursor: default">{{ $t("system.content_noData") }}</span> </div> </div> </td> </tr> </tbody> </table> </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> <el-dialog custom-class="w450" :title="$t('Operation.Op_tripDownLoad')" :visible.sync="travelControlTripLayerShow" center> <tripDownLoadCommon ref="tripDownLoadCommon" :tripObj="tripObj" @headCallBack="hideTripDown" :downType="2"> </tripDownLoadCommon> </el-dialog> <el-dialog custom-class="w450" :title="$t('objFill.tejiasheqinghan')" :visible.sync="SpecialAppShow" center> <el-form :model="SpecialAppMsg" label-width="80px"> <el-form-item :label="$t('salesModule.AdultPeople')"> <el-select filterable v-model="SpecialAppMsg.UpdateBy" :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in employeeList" :label="item.EmName" :value="item.EmployeeId" :key="item.EmployeeId"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('objFill.shengqingsm')"> <el-input type="textarea" v-model="SpecialAppMsg.ApplyReason"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click=" (SpecialAppShow = false), (SpecialAppMsg.UpdateBy = ''), (SpecialAppMsg.ApplyReason = '') "> {{ $t("pub.cancelBtn") }} </button> <button class="normalBtn" type="primary" @click="SpecialAppPost"> {{ $t("pub.sureBtn") }} </button> </div> </el-dialog> <div class="groupTourOrder_transfer" v-show="transferData.show"> <div class="transfer_header"> <div>{{ $t("salesModule.OrderGroup") }}</div> <div> <div @click="transferClose()">{{ $t("pub.cancelBtn") }}</div> <div @click="transferSave()">{{ $t("pub.sureBtn") }}</div> </div> </div> <div class="transfer_info"> <div> <em>{{ $t("hotel.order_Number") }}:</em> <span>{{ transferData.info.OrderId }}</span> </div> <div> <em>{{ $t("visa.v_yewuyuan") }}:</em> <span>{{ transferData.info.CreateByName }}</span> </div> <div> <em>{{ $t("scen.sc_temID") }}:</em> <span>{{ transferData.info.OldTCID }}</span> </div> <div> <em>{{ $t("visa.v_tuanhao") }}:</em> <span>{{ transferData.info.OldTCNUM }}</span> </div> </div> <div class="transfer_input"> <div> <em>{{ $t("visa.v_tuanhao") }}:</em> <el-input v-model="transferData.info.TCNUM" :placeholder="$t('salesModule.EnterTnum')"></el-input> </div> </div> </div> <!-- 修改订单备注 --> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayerRemarks" style="height:150px;min-height:150px"> <orderRemark v-if="isShowLayerRemarks" :remarksMsg="remarksMsg" @close="closeDialog" @success="refreshPage"> </orderRemark> </div> <div class="combottomDiv" v-if="showChangeSales" style="height: 200px"> <updateSalesMan @closeUpdiv="closeSalseDiv" @getList="getList" :subInfo="subInfo"></updateSalesMan> </div> <a id="groupTourOrder_DownLoad" target="_blank" style="display: none">1{{ $t("salesModule.DontDel") }}</a> <el-dialog :title="$t('objFill.xuanzhelk')" width="400px" :visible.sync="ShenQingPhotoShow" center :before-close="closeChangeMachie"> <div> <label><input type="checkbox" v-model="SQcheckdAll" />{{ $t("system.table_chekAll") }}</label> </div> <div class="SQguestList"> <label v-for="item in SQguestList"><input type="checkbox" v-model="item.check" />{{ item.userName }}({{ item.sexStr }})</label> </div> <div class="needfenshu"> <label>{{ $t("salesModule.NeedFen") }}:</label> <el-input type="number" v-model="SQPhotoNum" class="w200"></el-input> </div> <p style="color: red">{{ $t("salesModule.ZhuMeiren") }}</p> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click="ShenQingPhotoShow = false"> {{ $t("pub.cancelBtn") }} </button> <button class="normalBtn" type="primary" @click="SQPhoto"> {{ $t("pub.sureBtn") }} </button> </div> </el-dialog> <!-- <el-dialog :title="$t('objFill.xuanzhelk')" width="400px" :visible.sync="showChangeGender" center :before-close="closeGenderDiv"> <div class="needfenshu"> <label>{{ $t("salesModule.SingleFM") }}:</label> <el-radio-group v-model="subGenderInfo.TipMoney"> <el-radio :label="0">{{$t("pub.no")}}</el-radio> <el-radio :label="1">{{$t("pub.man")}}</el-radio> <el-radio :label="2">{{$t("pub.woman")}}</el-radio> </el-radio-group> </div> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click="closeGenderDiv"> {{ $t("pub.cancelBtn") }} </button> <button class="normalBtn" type="primary" @click="SetGender"> {{ $t("pub.sureBtn") }} </button> </div> </el-dialog> --> </div> </template> <script> import moment from "moment"; import payURL from "../commonPage/payURL.vue"; import payURL1 from "../commonPage/payURL1.vue"; import tripDownLoadCommon from "../commonPage/TripDownLoadCommon.vue"; import updateSalesMan from "../commonPage/updateSalesMan.vue"; import commissionDialog from "../FinancialModule/TradeCommission/commissionDialog" import orderRemark from "../orderCommon/order-remark.vue"; //订单备注 import PriceDetail from '../orderCommon/PriceDetail.vue'; import DateLimit from '../public/DateLimit.vue'; export default { data() { return { pickerBeginDateAfter: { disabledDate: time => { let startTime = new Date(this.msg.QStartDate); return startTime.getTime() >= time.getTime(); } }, isShow: '', pagesTitle: '跟团游订单', SpecialAppShow: false, SpecialAppMsg: { ApplyReason: "", UpdateBy: "", OrderId: 0, ID: 0, }, //是否有修改业务员权限,1-有 isEditOrderCreate: 0, happy: false, redBagList: [], // 修改应收总额 Ysze: false, addMsg_form: {}, pickerOptions0: { disabledDate: (time) => { let starTime = new Date(this.starTime); return time.getTime() > starTime.getTime(); }, }, pickerOptions1: { disabledDate: (time) => { let endTime = new Date(this.endTime); return time.getTime() < endTime.getTime() - 5.64e7; }, }, travelControlTripLayerShow: false, tripObj: { tcid: 0, configId: 0, cityId: 0, orderId: 0, unionfid: 0, //订单旅客联运编号(rb_airticket_union表Id) GuestIds: '', }, userId: "", customerId: "", createByInfo: "", isUpdateSharePeople: false, HightUnitPrice: "2", starTime: "", endTime: "", stratPrice: "", stratPriceShow: false, returnPrice: "", returnPriceShow: false, isAllowUpdate: 0, isPingtai: false, IsChildrenTour: 0, IsBirdDiscount: 0, SetOutCityId: 0, reOutCityId: 0, isShowLayer: false, isShowHouse: false, isShowLayerRemarks: false, comSelect: -1, loading: true, remarksMsg: { OrderId: "0", OldRemarks: "", Remarks: "", //1-可以修改,0-不能修改【默认可以修改】 isOrder: "1", UnionRemark: "", //新联运备注 IsIntermodal: 0, //是否联运 TeamType: 0, //团队类型(0-常规,1-小包团,2-当地游) }, IsUnion: 2, IsChargeLossOrders: 0, Unit_PriceList: [], //成交单价下拉数据 LessMoney: 0, addMsg: { GroupTypeNeedHouse: "0", OrderForm: 1, OrderId: "0", TCID: "0", CustomerType: "", GroupType: "", 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", PlatformAccount: "", PlatformOrder: "", GuestNum: 0, IsChildrenTour: "0", IsBirdDiscount: "0", PredictRoomNum: "0", BigRoomNum: "0", TripleRoomNum: "0", TradeDate: "", CostType: "", Remarks: "", VisaNum: "0", SafeNum: "0", RefuseVisaNum: "0", //拒签数量 AirticketNum: "0", ScenicRefundArr: [], GoCityTime: "", BackCityTime: "", CommissionSharePeople: "-1", CommissionShareMoney: "0", OneSex: 0, QuotationUrl: "", //单团附件 LessPrice:"0", LessAvgPrice:"0", IsLessPrice:"0" }, uploadLloading: false, fileFujianList: [], employeeMsg: { BranchId: "-1", IsLeave: 0, }, employeeList: [], rules: { CustomerType: [{ required: true, message: this.$t('objFill.qingxuanzhekhlx'), trigger: "change", }, ], CustomerId: [{ required: false, message: this.$t('objFill.qingxzkhmd'), trigger: "change", }, ], DepartureCityId: [{ required: true, message: this.$t('objFill.qingxzcfcs'), trigger: "change", }, ], ReturnArriveCityId: [{ required: true, message: this.$t('objFill.qingxzfhcs'), trigger: "change", }, ], GroupType: [{ required: true, message: this.$t('objFill.qingxzctlx'), trigger: "change", }, ], ClientSource: [{ required: true, message: this.$t('objFill.qingxzkrly'), trigger: "change", }, ], TradeWay: [{ required: true, message: this.$t('fnc.a_qxzjyfangshi'), trigger: "change", }, ], ContactName: [{ required: true, message: this.$t('objFill.qingshurulxxm'), trigger: "blur", }, ], ContactMobile: [{ required: true, message: this.$t('objFill.qingshurulxrdh'), trigger: "blur", }, ], }, RemarksRules: { Remarks: [{ required: true, message: this.$t('objFill.qingshurbzxx'), trigger: "blur", }, ], }, msg: { pageIndex: 1, pageSize: 10, LineId: "-1", LineteamId: "-1", TCNUM: "", tempOrderId: "", OutBranchId: "-1", OrderState: "-1", CustomerType: "-1", ContactName: "", CustomerId: "-1", GroupType: "-1", GroupTypeArray: [], OrderSource: "-1", CStartDate: "", CEndDate: "", QStartDate: "", QEndDate: "", PayStatus: "-1", // IsAirTicket: "2", IsOneDay: 0 }, checkedObj: {}, //返回数据 currentPage: 1, total: 0, startCityList: [], list: [], LineList: [], LineTeamList: [], memberList: [], logList: [], orderList: [], companyList: [], khlxList: [], ctlxList: [], ddlyList: [], ddztList: [], khmdList: [], ssptList: [], jyfsList: [], ScenicRefundList: [], PlatformAccountList: [], ScenicRefundMoney: 0, //显示修改业务员 showChangeSales: false, //显示修改单男单女 showChangeGender: false, //支付 minpay: "0", fylxList: [], showID: -1, countData: { // 总报名人数 TotalGuestNum: 0, TotalYSeatNum: 0, TotalESeatNum: 0, TotalFSeatNum: 0, // 正常报名人数 NormalGuestNum: 0, NormalYSeatNum: 0, NormalESeatNum: 0, NormalFSeatNum: 0, // 取消人数 CancelGuestNum: 0, CancelYSeatNum: 0, CancelESeatNum: 0, CancelFSeatNum: 0, // 其他统计项 Income: 0, Commission: 0, DueinMoney: 0, PreferPrice: 0, InteriorNum: 0, B2BNum: 0, SumCommissionMoney: 0, }, // 订单转团 transferData: { show: false, info: { OrderId: "", CreateByName: "", OldTCID: "", OldTCNUM: "", TCNUM: "", }, }, //订单编号及业务员信息 subInfo: { CreateBy: "", OrderId: 0, }, //订单编号及业务员信息 subGenderInfo: { TipMoney: 0, OrderId: 0, }, // 申请优惠的弹窗 SpecialOffer: false, SOMsg: { OrderId: "", ApplyPrice: 0, ApplyReason: "", UpdateBy: "", OrderUnitPrice: 0, }, SuperiorPeople: [], TransferMission: "", //订单转团权限 Unit_Price: 0, goLVurl: { //跳转到旅客页面的参数 orderId: "", tcid: "", tcnum: "", isOrder: "", }, ShenQingPhotoShow: false, SQguestList: [], SQcheckdAll: true, SQPhotoNum: "", SQOrderId: "", F_InvoiceManagement: false, //发票权限 qjGroupId: -1, F_Finance_Create: false, //制单权限 F_ContractManagement: false, //合同权限 userInfo: {}, LessRule:[], LessNPrice:0, LessNAvgPrice:0 }; }, components: { payurlItem: payURL, payurlItem1: payURL1, tripDownLoadCommon: tripDownLoadCommon, updateSalesMan: updateSalesMan, commissionDialog, orderRemark: orderRemark, PriceDetail, DateLimit }, filters: { priceFormat(value) { let nStr = value.toFixed(2); nStr += ""; let x = nStr.split("."); let x1 = x[0]; let x2 = x.length > 1 ? "." + x[1] : ""; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, "$1" + "," + "$2"); } return x1 + x2; }, }, watch: { SQcheckdAll(val) { this.checkdAll(val); }, }, methods: { showMore(item, index) { if (this.isShow === index) { this.isShow = '' } else { this.isShow = index; } }, //关闭弹窗 closeDialog() { this.isShowLayerRemarks = false; }, //刷新页面 refreshPage() { this.isShowLayerRemarks = false; this.getList(); }, GetSupperOrderEditAuth() { var actionCode = this.$AuthCode.F_InvoiceManagement; var actionCodeNew = this.$AuthCode.F_Finance_Create; var actiionContract = this.$AuthCode.F_ContractManagement; // 发票 this.CheckUserAuth(actionCode, (res) => { if (res.data.resultCode == 1 && res.data.data == 1) { this.F_InvoiceManagement = true; } }); // 制单权限 this.CheckUserAuth(actionCodeNew, (res) => { if (res.data.resultCode == 1 && res.data.data == 1) { this.F_Finance_Create = true; } }); // 合同 this.CheckUserAuth(actiionContract, (res) => { if (res.data.resultCode == 1 && res.data.data == 1) { this.F_ContractManagement = true; } }); }, SpecialAppPost() { if (this.SpecialAppMsg.ApplyReason === "") { return this.$message.error(this.$t('objFill.qingtxsqsm')); } if (this.SpecialAppMsg.UpdateBy === "") { return this.$message.error(this.$t('objFill.qingxzshr')); } this.apipost( "sellorder_get_AddOrderSpecialOffer", this.SpecialAppMsg, (res) => { if (res.data.resultCode == 1) { this.$message.Success(this.$t('objFill.chaozuochenggong')); this.getList(); this.SpecialAppShow = false; } }, null ); }, SpecialAPP(tcid, orderId, ID) { this.SpecialAppMsg.OrderId = orderId; this.SpecialAppShow = true; this.SpecialAppMsg.ID = ID; }, SQPhoto() { let checkID = []; this.SQguestList.map((x) => { if (x.check) { checkID.push(x.guestId); } }); if (checkID.length < 1) { this.$message.error(this.$t('objFill.qingxuazlvke')); return; } if (!this.SQPhotoNum) { this.$message.error(this.$t('objFill.qingshurfs')); return; } let msg = { GuestIdList: checkID, PhotoNum: this.SQPhotoNum, OrderId: this.SQOrderId, }; this.apipost( "sellorder_get_SetOrderGuestPhoto", msg, (res) => { if (res.data.resultCode == 1) { this.getList(); this.ShenQingPhotoShow = false; } }, null ); }, checkdAll(val) { if (val) { this.SQguestList.map((x) => { x.check = true; }); } else { this.SQguestList.map((x) => { x.check = false; }); } this.SQguestList = this.SQguestList; this.$forceUpdate(); }, ShenQingPhoto(item) { if (item.guestList.length < 1) { this.$message.error(this.$t('objFill.zhanwulkqtj')); return; } item.guestList.map((x) => { x.check = true; }); this.SQguestList = item.guestList; this.SQOrderId = item.orderId; this.ShenQingPhotoShow = true; }, closeChangeMachie(done) { // 弹=窗口关闭 done(); }, setDanren(e) { e === this.addMsg.OneSex ? (this.addMsg.OneSex = 0) : (this.addMsg.OneSex = e); }, gourlTip(path, id) { this.$router.push({ name: path, query: { id: id, blank: "y", }, }); }, //跳转单单项合同 goSingleContract(item) { let query = { TCID: item.tcid, orderID: item.orderId, } this.OpenNewPage('/ContractManage', query) }, //跳转到保密协议 goProtocol(item, sItem) { let ProtocolId = 0; let guestId = 0; var path = "discountProtocol"; if (sItem) { if (sItem.protocolId) { ProtocolId = sItem.protocolId; } if (sItem.guestId) { guestId = sItem.guestId; } } var pMsg = { TCID: item.tcid, GuestId: guestId, OrderId: item.orderId, ProtocolId: ProtocolId, blank: "y", } let routeData = this.$router.resolve({ name: path, query: pMsg, }); window.open(routeData.href, "_blank"); }, //跳转到老人/孕妇免责协议 goDisclaimer(item, sItem) { let ProtocolId = 0; let guestId = 0; var path = "disclaimerProtocol"; if (sItem) { if (sItem.disclaimerId) { ProtocolId = sItem.disclaimerId; } if (sItem.guestId) { guestId = sItem.guestId; } } var pMsg = { TCID: item.tcid, GuestId: guestId, OrderId: item.orderId, ProtocolId: ProtocolId, blank: "y", } let routeData = this.$router.resolve({ name: path, query: pMsg, }); window.open(routeData.href, "_blank"); }, //跳转至领取合同 goContract(item, sItem) { let cid = 0; let guestId = 0; var path = "TravelContractNew"; if (sItem) { if (sItem.id) { cid = sItem.id; } if (sItem.guestId) { guestId = sItem.guestId; } if (sItem.templateType == 1) { path = "TravelContractNewRB"; } } var pMsg = { TCID: item.tcid, guestId: guestId, orderID: item.orderId, Id: cid, blank: "y", } let routeData = this.$router.resolve({ name: path, query: pMsg, }); window.open(routeData.href, "_blank"); }, goUrlHappy(item) { this.happy = false; this.$router.push({ name: "HappyPassbook", query: { CustomerId: item.customerId, blank: "y", }, }); }, getRedBag(item) { let msg = { CustomerId: item.customerId, pageIndex: 1, pageSize: 4, }; if (item.customerId) { this.apipost( "customer_post_GetC_BigRedEnvelopeInfoList", msg, (res) => { this.happy = true; if (res.data.resultCode == 1) { this.redBagList = res.data.data.pageData; } else {} }, (err) => {} ); } else { this.redBagList = []; } }, goIisDetail: function (id) { // 跳转发票详情页面 this.$router.push({ name: "invoicesManagerDetail", query: { id: id, noDetail: 1, blank: "y", }, }); }, // 跳转调查列表 goInvetig: function (path, tcid, orderId) { this.$router.push({ name: path, query: { OrderId: orderId, TCID: tcid, blank: "y", }, }); }, // 申请发票 goUrlAdd: function (path, OrderId, TCID, customerId) { this.$router.push({ name: path, query: { OrderId: OrderId, TCID: TCID, customerId: customerId, blank: "y", }, }); }, // 给其他费用赋值 Yszefz() { this.Ysze = true; this.addMsg_form = Object.assign({}, this.addObj); }, //跳转 goUrlTS(path, id, orderId, title) { this.$router.push({ name: path, query: { id: id, orderId: orderId, blank: "y", tab: title, }, }); }, getItem(obj) { this.checkedObj = obj; }, deleteFile(obj) { this.$confirm(this.$t('objFill.shifouscqrh'), this.$t('tips.tips'), { confirmButtonText: this.$t('pub.sureBtn'), cancelButtonText: this.$t('pub.cancelBtn'), type: "warning", }) .then(() => { let saveMsg = {}; saveMsg.Path = obj.confirmFileList[0].fullUrl; saveMsg.FileName = obj.confirmFileList[0].name; saveMsg.Status = 2; saveMsg.OrderId = obj.orderId; this.apipost( "sellorder_post_SetConfirmationLetter", saveMsg, (res) => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.getList(); } else { this.$message.error(res.data.message); } }, (err) => {} ); }) .catch(() => { this.$message.info(this.$t('objFill.quxiaoshanc')); }); }, uploadFileBtn(file) { //上传 let that = this; let newArr = []; newArr.push(file.file); let path = "/Upload/Temporary/"; this.$message.info(this.$t('tips.shangchuanzhong')); this.UploadSelfFileT(path, newArr, (x) => { let fileSize = file.file.size < 1024 ? file.file.size : (file.file.size / 1024).toFixed(0); let saveMsg = {}; saveMsg.Path = x.data.FilePath; saveMsg.FileName = file.file.name; saveMsg.Status = 1; saveMsg.OrderId = this.checkedObj.orderId; that.apipost( "sellorder_post_SetConfirmationLetter", saveMsg, (res) => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.getList(); } else { this.$message.error(res.data.message); } }, (err) => {} ); }); }, downLoadFile(obj) { let dom = document.querySelector("#groupTourOrder_DownLoad"); dom.href = obj[0].fullUrl; dom.click(); }, // 订单转团 transfer: function (item) { this.transferData.info.OrderId = item.orderId; this.transferData.info.CreateByName = item.createByName; this.transferData.info.OldTCID = item.tcid; this.transferData.info.OldTCNUM = item.tcnum; this.transferData.info.TCNUM = ""; this.isShowLayer = false; this.isShowHouse = false; this.isShowLayerRemarks = false; this.transferData.show = true; }, transferClose: function () { this.transferData.show = false; }, transferSave: function () { if (this.transferData.info.TCNUM.trim() === "") { this.$message.error(this.$t('salesModule.EnterTnum')); } else { this.apipost( "sellorder_post_SetOrderTurnGroup", this.transferData.info, (res) => { if (res.data.resultCode === 1) { this.$message.success(this.$t('objFill.zhuantuancg')); this.transferData.show = false; this.getList(); } else { this.$message.error(res.data.message); } }, (err) => {} ); } }, toTrip: function (obj, TicketUnionId, GuestIds) { this.tripObj.tcid = obj.tcid; this.tripObj.configId = obj.configId; this.tripObj.orderId = obj.orderId; this.tripObj.cityId = obj.startCityId; this.tripObj.GuestIds = GuestIds; this.tripObj.unionfid = 0; if (TicketUnionId) { this.tripObj.unionfid = TicketUnionId; } this.travelControlTripLayerShow = true; }, hideTripDown() { this.travelControlTripLayerShow = false; }, yzVisaNum: function () { let ChirdNum = Number(this.addMsg.ChirdNum); if (this.addMsg.GroupType == 4) { ChirdNum = 0; } let count = Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + ChirdNum + Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum); if (count < this.addMsg.VisaNum) { this.addMsg.VisaNum = count; this.$message.error(this.$t('objFill.qianzsbndyzrs')); } }, yzSafeNum: function () { let ChirdNum = Number(this.addMsg.ChirdNum); if (this.addMsg.GroupType == 4) { ChirdNum = 0; } let count = Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + ChirdNum + Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum); if (count < this.addMsg.SafeNum) { this.addMsg.SafeNum = count; this.$message.error(this.$t('objFill.baoxrsbndyzrs')); } }, // 结束日期不能大于开始日期 dataDui() { if (this.msg.CStartDate > this.msg.CEndDate && this.msg.CEndDate !== "") { this.$message.error(this.$t('tips.jsrqbndyksriqi')); this.msg.CEndDate = ""; } }, // 结束日期不能大于开始日期 dataDui2() { if (this.msg.QStartDate > this.msg.QEndDate && this.msg.QEndDate !== "") { this.$message.error(this.$t('tips.jsrqbndyksriqi')); this.msg.QEndDate = ""; } }, // 获取统计数据 getCount: function () { this.apipost( "sellorder_get_GetTravelOrderListStatistics_V2", this.msg, (res) => { if (res.data.resultCode == 1) { this.countData = res.data.data; } else { this.$message.error(this.$t('tips.hqsjshibai')); } }, (err) => {} ); }, deleteItem(obj) { if (obj.isCanClear == 1) { this.Error(this.$t('objFill.opyqrddrqxqlx')); return; } this.$confirm(this.$t('tips.shifouquxiao'), this.$t('tips.tips'), { confirmButtonText: this.$t('pub.sureBtn'), cancelButtonText: this.$t('pub.cancelBtn'), type: "warning", }) .then(() => { this.apipost( "sellorder_post_RemoveOrder", { ID: obj.orderId, }, (res) => { if (res.data.resultCode == 1) { this.$message.success(this.$t('ground.quxiaochenggong')); this.getList(); } else { this.$message.error(res.data.message); } }, (err) => {} ); }) .catch(() => { this.$message.info(this.$t('hotel.hotel_HasBeenCancelled')); }); }, setChargeLoss(obj) { let confirmC = this.$t('objFill.quedswssd'); if (obj.isChargeLossOrders == 1) { confirmC = this.$t('objFill.quedhfssd'); } this.$confirm(confirmC, this.$t('tips.tips'), { confirmButtonText: this.$t('pub.sureBtn'), cancelButtonText: this.$t('pub.cancelBtn'), type: "warning", }) .then(() => { this.apipost( "sellorder_post_RemoveChargeLossOrders", { OrderId: obj.orderId, }, (res) => { if (res.data.resultCode == 1) { this.$message.success(this.$t('tips.czchenggong')); this.getList(); } else { this.$message.error(res.data.message); } }, (err) => {} ); }) .catch(() => { this.$message.info(this.$t('pub.cancelBtn')+'!'); }); }, getUnionTravelPrice(obj, type) { let msg = {}; msg.TCID = obj.TCID; msg.OrderId = obj.OrderId; msg.Type = type; if (type == 1) { msg.StartCityId = this.addMsg.DepartureCityId; msg.CityTime = this.addMsg.GoCityTime; if (this.addMsg.IsIntermodal == 2) { this.stratPrice = "0"; this.stratPriceShow = false; this.getTotalPrice(); } else { this.apipost( "sellorder_get_GetUnionTravelPrice", msg, (res) => { if (res.data.resultCode == 1) { this.stratPrice = res.data.data.Price; if (this.stratPrice == 0) { this.stratPriceShow = false; } else { this.stratPriceShow = true; } this.getTotalPrice(); } }, (err) => {} ); } } else { msg.StartCityId = this.addMsg.ReturnArriveCityId; msg.CityTime = this.addMsg.BackCityTime; if (this.addMsg.IsReturnIntermodal == 2) { this.returnPrice = "0"; this.returnPriceShow = true; this.getTotalPrice(); } else { this.apipost( "sellorder_get_GetUnionTravelPrice", msg, (res) => { if (res.data.resultCode == 1) { this.returnPrice = res.data.data.Price; if (this.returnPrice == 0) { this.returnPriceShow = false; } else { this.returnPriceShow = true; } this.getTotalPrice(); } }, (err) => {} ); } } }, goUrlSFD: function (path, name, item) { let obj = JSON.parse(JSON.stringify(item)); obj.oP_Remarks = ""; obj.remarksList = []; obj.refundFinanceList = []; obj.remarks = []; obj.ltName = []; obj.lineName = []; obj.financeList = []; obj.guestList = []; obj.description = []; this.$router.push({ name: path, query: { blank: "y", tab: name, item: JSON.stringify(obj), }, }); }, goUrlX(name, path, id, tcmun) { this.$router.push({ name: path, query: { id: id, tcmun: tcmun, blank: "y", tab: name, }, }); }, goUrlT(path, id) { let routeData = this.$router.resolve({ name: path, query: { id: id, blank: "y", }, }); window.open(routeData.href, "_blank"); }, goUrlP(name, path, item) { this.$router.push({ name: path, query: { id: item.orderId, tcid: item.tcid, tcnum: item.tcnum, isOrder: item.isOrder, blank: "y", tab: name, }, }); }, goUrl(name, path, id, tcmun) { this.$router.push({ name: path, query: { id: id, tcmun: tcmun, blank: "y", tab: name, }, }); }, 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(); }, getPlatformAccount(typeIdtwo, platformAccount) { let platBranchId = this.getLocalStorage().RB_Branch_id; this.apipost( "FinancialInstitutions_post_GetALLAccountList", { TypeId: typeIdtwo, BranchId: platBranchId, }, (res) => { if (res.data.resultCode == 1) { this.PlatformAccountList = res.data.data; this.addMsg.PlatformAccount = platformAccount; } }, (err) => {} ); }, 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); }); this.ScenicRefundMethods(); } }, (err) => {} ); }, platformOrderMethods() { if (this.addMsg.PlatformOrder == "") { this.addMsg.MinOrderPrice = 0; this.addMsg.CostType = ""; this.addMsg.TradeDate = ""; } else { this.addMsg.MinOrderPrice = this.minPrice * (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); } }, getMinPrice(id) { this.apipost( "Financial_post_GetLowPrice", { OrderID: id, OrderResource: 8, }, (res) => { if (res.data.resultCode == 1) { if (res.data.data.LowDeposit != -1) { this.minpay = res.data.data.LowDeposit; } } }, (err) => {} ); }, childByValue(data) { this.showID = data; }, getRemarks(obj) { // 华国豪5-5新增 if (moment().format("YYYY-MM-DD") >= obj.startDate) { // 该团目前已是结团状态,不能随意修改备注信息,若强行修改备注,将会计入个人考核,是否确定修改备注信息? this.$confirm(this.$t('objFill.gaitmqysjtztwfxbz'), this.$t('tips.tips'), { confirmButtonText: this.$t('pub.sureBtn'), showCancelButton: false, type: "warning", }) .then(() => { return; }) .catch(() => { this.$message.info(this.$t('hotel.hotel_HasBeenCancelled')); }); } else { this.isShowLayer = false; this.$refs["addMsg"].resetFields(); this.clearMsg(); this.remarksMsg.OrderId = obj.orderId; this.remarksMsg.Remarks = obj.remarks; this.remarksMsg.OldRemarks = obj.remarks; this.remarksMsg.isOrder = obj.isOrder; this.remarksMsg.UnionRemark = obj.unionRemark; this.remarksMsg.IsIntermodal = obj.isIntermodal; this.remarksMsg.TeamType = obj.teamType; this.isShowLayerRemarks = true; } }, getDetail(obj) { this.goLVurl.orderId = obj.orderId; this.goLVurl.tcid = obj.tcid; this.goLVurl.tcnum = obj.tcnum; this.goLVurl.isOrder = obj.isOrder; this.Ysze = false; this.starTime = obj.startDate; this.endTime = obj.backDate; this.getMinPrice(obj.orderId); this.addMsg.OrderId = obj.orderId; this.IsChargeLossOrders = obj.isChargeLossOrders; this.apipost( "sellorder_post_GetOrderEntity", { ID: obj.orderId, }, (res) => { if (res.data.resultCode == 1) { this.IsUnion = res.data.data.IsUnion; this.isAllowUpdate = res.data.data.IsUpdatePlatOrder; this.addObj = res.data.data.modelPrice; let x = res.data.data.model; this.addObj.OrderId = x.OrderId; this.addObj.OpSetLossMoney = x.OpSetLossMoney; this.addMsg = x; this.LessNPrice = this.addMsg.LessMaxPrice;//先初始化 最高少价 this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice; if(this.addMsg.IsLessPrice==1){ this.getLessRuleList(); } if (x.QuotationUrl) { this.fileFujianList = [{ name: "baojiadan", url: x.QuotationUrl }, ]; } this.addMsg.ScenicRefundArr = res.data.data.ScenicRefundArr; this.addMsg.OneSex = x.OneSex; this.addMsg.PlatformAccount = ""; this.getScenicRefund(obj.tcid); this.getPlatformAccount( obj.platformAccountTypeId, obj.platformAccount ); this.SetOutCityId = res.data.data.SetOutCityId; this.reOutCityId = res.data.data.SetBackCityId; this.addMsg.CustomerType = x.CustomerType.toString(); this.addMsg.ClientSource = x.ClientSource.toString(); this.addMsg.GroupType = x.GroupType.toString(); this.addMsg.TradeWay = x.TradeWay.toString(); this.addMsg.PredictRoomNum = x.PredictRoomNum; this.addMsg.IsIntermodal = x.IsIntermodal.toString(); this.addMsg.IsReturnIntermodal = x.IsReturnIntermodal.toString(); this.addMsg.ChirdNum = x.ChirdNum.toString(); this.addMsg.ChirdNeedBedNum = x.ChirdNeedBedNum.toString(); if (this.addMsg.GroupType == 4) { this.addMsg.ChirdNoNeedBedNum = x.ChirdNoNeedBedNum.toString(); } else { this.addMsg.ChirdNoNeedBedNum = ( x.ChirdNum - x.ChirdNeedBedNum ).toString(); } this.addMsg.BabyNum = x.BabyNum.toString(); this.addMsg.RefuseVisaNum = x.RefuseVisaNum.toString(); this.addMsg.OrderForm = x.OrderForm; this.addMsg.allName = x.ContactName; this.IsChildrenTour = x.IsChildrenTour; this.IsBirdDiscount = x.IsBirdDiscount; this.addMsg.Unit_Price = x.Unit_Price; this.addMsg.GroupTypeNeedHouse = String(x.GroupTypeNeedHouse); this.stratPrice = res.data.data.modelPrice.GoAddPrice; if (this.addMsg.GroupType == 4) { this.HightUnitPrice = "1"; this.Unit_Price = x.Unit_Price; } else { this.HightUnitPrice = "2"; this.Unit_Price = this.addObj.SingleDMCPrice; } if (this.stratPrice == 0) { this.stratPriceShow = false; } else { this.stratPriceShow = true; } this.returnPrice = res.data.data.modelPrice.BackAddPrice; if (this.returnPrice == 0) { this.returnPriceShow = false; } else { this.returnPriceShow = true; } if (x.ClientSource == 1) { this.isPingtai = true; } this.isShowLayer = true; this.isShowHouse = false; this.isShowLayerRemarks = false; this.getKhmdList(this.addMsg.CustomerType, obj.lineId); this.getDdlyList(this.addMsg.CustomerType); this.apipost( "app_today_visit_GetCustomerBrandByCustomerId", { customerInfoId: x.CustomerId, }, (res) => { if (res.data.resultCode == 1) { this.ssptList = res.data.data; this.addMsg.BrandId = x.BrandId; } }, (err) => {} ); let maxPeopleNum = Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNoNeedBedNum) + Number(this.addMsg.ChirdNeedBedNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.AirticketNum); this.Unit_PriceList = []; this.apipost( "sellorder_post_GetLessPrice", { TCID: obj.tcid, MaxPeopleNum: maxPeopleNum, }, (res) => { this.LessMoney = res.data.data.lessMoney; if (parseFloat(this.LessMoney) > 0) { for (var i = 0; i <= parseInt(this.LessMoney) / 10; i++) { var obj = { ID: "", LessMoney: "", }; obj.ID = this.addMsg.TC_Price - i * 10; obj.LessMoney = this.addMsg.TC_Price - i * 10; this.Unit_PriceList.push(obj); } if ( this.Unit_PriceList.findIndex( (markers) => markers.ID == this.addMsg.Unit_Price ) < 0 ) { var obj = { ID: "", LessMoney: "", }; obj.ID = this.addMsg.Unit_Price; obj.LessMoney = this.addMsg.Unit_Price; this.Unit_PriceList.push(obj); } } else { var obj = { ID: "", LessMoney: "", }; obj.ID = this.addMsg.Unit_Price; obj.LessMoney = this.addMsg.Unit_Price; this.Unit_PriceList.push(obj); } }, (err) => {} ); } else { this.$message.error(res.data.message); } }, (err) => {} ); }, getHouse: function (obj) { this.starTime = obj.startDate; this.endTime = obj.backDate; this.getMinPrice(obj.orderId); this.addMsg.OrderId = obj.orderId; this.apipost( "sellorder_post_GetOrderEntity", { ID: obj.orderId, }, (res) => { if (res.data.resultCode == 1) { this.IsUnion = res.data.data.IsUnion; this.isAllowUpdate = res.data.data.IsUpdatePlatOrder; this.addObj = res.data.data.modelPrice; let x = res.data.data.model; this.addMsg = x; this.addMsg.ScenicRefundArr = res.data.data.ScenicRefundArr; this.getScenicRefund(obj.tcid); this.SetOutCityId = res.data.data.SetOutCityId; this.reOutCityId = res.data.data.SetBackCityId; this.addMsg.CustomerType = x.CustomerType.toString(); this.addMsg.ClientSource = x.ClientSource.toString(); this.addMsg.GroupType = x.GroupType.toString(); this.addMsg.TradeWay = x.TradeWay.toString(); this.addMsg.PredictRoomNum = x.PredictRoomNum; this.addMsg.IsIntermodal = x.IsIntermodal.toString(); this.addMsg.IsReturnIntermodal = x.IsReturnIntermodal.toString(); this.addMsg.ChirdNum = x.ChirdNum.toString(); this.addMsg.ChirdNeedBedNum = x.ChirdNeedBedNum.toString(); this.addMsg.ChirdNoNeedBedNum = ( x.ChirdNum - x.ChirdNeedBedNum ).toString(); this.addMsg.BabyNum = x.BabyNum.toString(); this.IsChildrenTour = x.IsChildrenTour; this.IsBirdDiscount = x.IsBirdDiscount; this.stratPrice = res.data.data.modelPrice.GoAddPrice; if (this.stratPrice == 0) { this.stratPriceShow = false; } else { this.stratPriceShow = true; } this.returnPrice = res.data.data.modelPrice.BackAddPrice; if (this.returnPrice == 0) { this.returnPriceShow = false; } else { this.returnPriceShow = true; } if (x.ClientSource == 1) { this.isPingtai = true; } this.isShowHouse = true; this.isShowLayer = false; this.isShowLayerRemarks = false; this.apipost( "app_today_visit_GetCustomerBrandByCustomerId", { customerInfoId: x.CustomerId, }, (res) => { if (res.data.resultCode == 1) { this.ssptList = res.data.data; this.addMsg.BrandId = x.BrandId; } }, (err) => {} ); this.getKhmdList(this.addMsg.CustomerType, obj.lineId); this.getDdlyList(this.addMsg.CustomerType); } else { this.$message.error(res.data.message); } }, (err) => {} ); }, getTypePrice() { this.addMsg.ContactName = ""; this.addMsg.ContactMobile = ""; if (this.addMsg.CustomerType == 1) { this.addMsg.TC_Price = this.addObj.B2BMemberPrice; } if (this.addMsg.CustomerType == 2) { this.addMsg.TC_Price = this.addObj.B2BPrice; } if (this.addMsg.CustomerType == 3) { this.addMsg.TC_Price = this.addObj.B2CMemberPrice; this.addMsg.CustomerId = "0"; this.addMsg.CommissionShareMoney = "0"; } if (this.addMsg.CustomerType == 4) { this.addMsg.TC_Price = this.addObj.B2CPrice; this.addMsg.CustomerId = "0"; this.addMsg.CommissionShareMoney = "0"; } }, getTypePrice2() { let maxPeopleNum = Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNoNeedBedNum) + Number(this.addMsg.ChirdNeedBedNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.AirticketNum); this.Unit_PriceList = []; this.apipost( "sellorder_post_GetLessPrice", { TCID: this.addMsg.TCID, MaxPeopleNum: maxPeopleNum, }, (res) => { this.LessMoney = res.data.data.lessMoney; if (parseFloat(this.LessMoney) > 0) { for (var i = 0; i <= parseInt(this.LessMoney) / 10; i++) { var obj = { ID: "", LessMoney: "", }; obj.ID = this.addMsg.TC_Price - i * 10; obj.LessMoney = this.addMsg.TC_Price - i * 10; this.Unit_PriceList.push(obj); } if ( this.Unit_PriceList.findIndex( (markers) => markers.ID == this.addMsg.Unit_Price ) < 0 ) { var obj = { ID: "", LessMoney: "", }; obj.ID = this.addMsg.Unit_Price; obj.LessMoney = this.addMsg.Unit_Price; this.Unit_PriceList.push(obj); } } else { var obj = { ID: "", LessMoney: "", }; obj.ID = this.addMsg.Unit_Price; obj.LessMoney = this.addMsg.Unit_Price; this.Unit_PriceList.push(obj); } }, (err) => {} ); }, getTicheng() { //提成 let num = Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum); let yh = 0; if (num > 0) { this.apipost( "sellorder_get_GetOrderMinPrice", { ltID: this.addObj.ltID, Num: num, }, (res) => { yh = res.data.data; }, (err) => {} ); } // let cj='成交单价-最低成交价格(标准单价-符合人数[成人,儿童,老人]条件的最高少价)' let chajia = Number(this.addMsg.Unit_Price) - (this.addMsg.TC_Price - yh); let ewtc = chajia > 0 ? chajia * 0.5 * num : chajia * num; //额外提成 this.addMsg.Commission = ( Number(this.addMsg.PreferPrice) * 0.01 + ewtc ).toFixed(2); if (this.addMsg.CustomerType == 1 || this.addMsg.CustomerType == 2) { if (this.addMsg.CommissionSharePeople != "-1") { if (this.addMsg.Commission > 0) { this.addMsg.CommissionShareMoney = this.addMsg.Commission / 2; this.addMsg.Commission = this.addMsg.Commission - this.addMsg.CommissionShareMoney; } else { this.addMsg.CommissionShareMoney = "0"; } } } }, getHouseNo() { let etbzc = 0; if (this.addMsg.GroupType == 4) { etbzc = this.addMsg.ChirdNoNeedBedNum ? Number(this.addMsg.ChirdNoNeedBedNum) : 0; } //算法:((成人+儿童占床数+老人-(三人房数量*3))-单房数)/2+单房数+三人房数量 this.addMsg.PredictRoomNum = (Number(this.addMsg.AirticketNum) + (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNeedBedNum) - etbzc + Number(this.addMsg.OldPeopleNum)) - Number(this.addMsg.TripleRoomNum) * 3 - Number(this.addMsg.SingleRoomNum)) / 2 + Number(this.addMsg.SingleRoomNum) + Number(this.addMsg.TripleRoomNum); }, getNumber() { if ( this.addMsg.GroupType == 4 && this.addMsg.ChirdNoNeedBedNum > this.addMsg.AirticketNum ) { this.addMsg.ChirdNoNeedBedNum = 0; this.$message.error(this.$t('objFill.ertongbzcbndyddjr')); this.$forceUpdate(); return; } let ChirdNum = this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1; if (this.addMsg.GroupType == 4) { ChirdNum = 0; } this.addMsg.ChirdNum = this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1; this.addMsg.VisaNum = Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + ChirdNum + Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum); this.addMsg.SafeNum = Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + ChirdNum + Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum); var SeatNum = Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum) - (Number(this.addMsg.ESeatNum) + Number(this.addMsg.FSeatNum)); this.addMsg.YSeatNum = SeatNum < 0 ? 0 : SeatNum; if (this.addMsg.GroupType == 4) { this.addMsg.YSeatNum = 0; } }, getTotalPrice(t) { if (t === 3) { if (parseFloat(this.addMsg.Unit_Price).toString() === "NaN") { this.$message.error(this.$t('objFill.qingsrzqdjg')); this.addMsg.Unit_Price = this.addMsg.TC_Price; return; } if (parseFloat(this.addMsg.Unit_Price) < this.addMsg.TC_Price) { this.$message.error(this.$t('objFill.chengjiaojxdydybtdj')); this.addMsg.Unit_Price = this.addMsg.TC_Price; return; } } this.addMsg.ChirdNum = this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1; if (this.addObj.IsBirdDiscount == 1) { //早鸟优惠 //this.addMsg.Unit_Price //成交单价 //BabyPrice 婴儿价 //BabyChargePrice 儿童附加费 //OldManChargePrice 老人 附加费 //DiscountPrice 早鸟优惠 let chengren = Number(this.addMsg.ManNum) * (Number(this.addMsg.Unit_Price) - this.addObj.DiscountPrice); let ertong = Number(this.addMsg.ChirdNum) * (Number(this.addMsg.Unit_Price) - this.addObj.DiscountPrice + this.addObj.BabyChargePrice); let yinger = Number(this.addMsg.BabyNum) * this.addObj.BabyPrice; let laoren = Number(this.addMsg.OldPeopleNum) * (Number(this.addMsg.Unit_Price) - this.addObj.DiscountPrice + this.addObj.OldManChargePrice); let zafeiqianzhen = this.addObj.OtherPrice * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) + this.addObj.VisaPrice * (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) - this.addObj.BackVisaPrice * (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum) - Number(this.addMsg.VisaNum)); let danfang = Number(this.addMsg.SingleRoomNum) * this.addObj.SingleRoomPrice; let ertongbed = this.addObj.ChildNeedPrice * Number(this.addMsg.ChirdNeedBedNum) - this.addObj.ChildNoNeedPrice * (Number(this.addMsg.ChirdNum) - Number(this.addMsg.ChirdNeedBedNum)); let lianyun = 0; // (Number(this.addMsg.ManNum) + // Number(this.addMsg.ChirdNum) + // Number(this.addMsg.OldPeopleNum)) * // (Number(this.stratPrice) + Number(this.returnPrice)); let dandijie; if (this.addMsg.GroupType == 4) { dandijie = this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum) - this.addObj.ChildNoNeedPrice * Number(this.addMsg.ChirdNoNeedBedNum); ertong = 0; ertongbed = 0; zafeiqianzhen = 0; } else { dandijie = this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum); } this.addMsg.PreferPrice = dandijie + lianyun + chengren + ertong + yinger + laoren + zafeiqianzhen + danfang + ertongbed - this.ScenicRefundMoney * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); //ld 2025-01-22 少价管理 if(this.addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1 && (this.addMsg.CustomerType=='1' ||this.addMsg.CustomerType=='2') && this.addMsg.LineId>0 && this.LessRule && this.LessRule.length>0){ let LessNum = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); let LessSlinge =0; // 首先抓取 人数对应的 少价金额 this.LessRule.forEach((ritem) => { if(ritem.LineIdList.includes(this.addMsg.LineId)){ // 使用这个规则 ritem.RuleList.forEach((qitem)=>{ if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);} }); } }); this.LessNAvgPrice = LessSlinge; this.LessNPrice = LessSlinge * LessNum; if(this.LessNPrice==0){this.addMsg.LessPrice=0; this.addMsg.LessAvgPrice=0;} if(this.addMsg.LessAvgPrice>this.LessNAvgPrice){this.addMsg.LessAvgPrice=this.LessNAvgPrice; this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;} } this.addMsg.PreferPrice = this.addMsg.PreferPrice - this.addMsg.LessPrice; } else { let chengren = Number(this.addMsg.ManNum) * Number(this.addMsg.Unit_Price); let ertong = Number(this.addMsg.ChirdNum) * (Number(this.addMsg.Unit_Price) + this.addObj.BabyChargePrice); let yinger = Number(this.addMsg.BabyNum) * this.addObj.BabyPrice; let laoren = Number(this.addMsg.OldPeopleNum) * (Number(this.addMsg.Unit_Price) + this.addObj.OldManChargePrice); let zafeiqianzhen = this.addObj.OtherPrice * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) + this.addObj.VisaPrice * (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) - this.addObj.BackVisaPrice * (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum) - Number(this.addMsg.VisaNum)); let danfang = Number(this.addMsg.SingleRoomNum) * this.addObj.SingleRoomPrice; let ertongbed = this.addObj.ChildNeedPrice * Number(this.addMsg.ChirdNeedBedNum) - this.addObj.ChildNoNeedPrice * (Number(this.addMsg.ChirdNum) - Number(this.addMsg.ChirdNeedBedNum)); let lianyun = 0; // (Number(this.addMsg.ManNum) + // Number(this.addMsg.ChirdNum) + // Number(this.addMsg.OldPeopleNum)) * // (Number(this.stratPrice) + Number(this.returnPrice)); let dandijie; if (this.addMsg.GroupType == 4) { dandijie = this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum) - this.addObj.ChildNoNeedPrice * Number(this.addMsg.ChirdNoNeedBedNum); ertong = 0; ertongbed = 0; zafeiqianzhen = 0; } else { dandijie = this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum); } this.addMsg.PreferPrice = dandijie + lianyun + chengren + ertong + yinger + laoren + zafeiqianzhen + danfang + ertongbed - this.ScenicRefundMoney * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); //ld 2025-01-22 少价管理 if(this.addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1 && (this.addMsg.CustomerType=='1' ||this.addMsg.CustomerType=='2') && this.addMsg.LineId>0 && this.LessRule && this.LessRule.length>0){ let LessNum = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); let LessSlinge =0; // 首先抓取 人数对应的 少价金额 this.LessRule.forEach((ritem) => { if(ritem.LineIdList.includes(this.addMsg.LineId)){ // 使用这个规则 ritem.RuleList.forEach((qitem)=>{ if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);} }); } }); this.LessNAvgPrice = LessSlinge; this.LessNPrice = LessSlinge * LessNum; if(this.LessNPrice==0){this.addMsg.LessPrice=0; this.addMsg.LessAvgPrice=0;} if(this.addMsg.LessAvgPrice>this.LessNAvgPrice){this.addMsg.LessAvgPrice=this.LessNAvgPrice; this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;} } this.addMsg.PreferPrice = this.addMsg.PreferPrice - this.addMsg.LessPrice; } this.getTicheng(); if (!t) { this.getTypePrice2(); } }, yzBigBed2() { let x = Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNeedBedNum) + Number(this.addMsg.OldPeopleNum) - Number(this.addMsg.SingleRoomNum); let y = x - Number(this.addMsg.TripleRoomNum) * 3 - Number(this.addMsg.BigRoomNum) * 2; if (y < 0) { this.addMsg.SingleRoomNum = 0; } this.getHouseNo(); }, yzBigBed() { let x = Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNeedBedNum) + Number(this.addMsg.OldPeopleNum) - Number(this.addMsg.SingleRoomNum); let y = x - Number(this.addMsg.TripleRoomNum) * 3 - Number(this.addMsg.BigRoomNum) * 2; if (y <= -1) { this.addMsg.BigRoomNum = 0; } this.getHouseNo(); }, changeSelect: function () { this.$forceUpdate(); }, yzBigBed1() { let x = Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNeedBedNum) + Number(this.addMsg.OldPeopleNum) - Number(this.addMsg.SingleRoomNum); let y = x - Number(this.addMsg.TripleRoomNum) * 3 - Number(this.addMsg.BigRoomNum) * 2; if (y <= -1) { this.addMsg.TripleRoomNum = 0; } this.getHouseNo(); }, submitForm(addMsg) { //提交创建、修改表单 this.$refs[addMsg].validate((valid) => { if (valid) { this.saveOrder(); } else { return false; } }); }, cancelSubmit() { this.isShowLayer = false; this.$refs["addMsg"].resetFields(); this.clearMsg(); }, houseSubmit: function () { //提交修改房型表单 this.apipost( "sellorder_post_SellUpdateOrderHouse", this.addMsg, (res) => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.$refs["addMsg"].resetFields(); this.clearMsg(); this.getList(); this.isShowHouse = false; } else { this.isShowHouse = false; this.$message.error(res.data.message); } }, (err) => {} ); }, houseCancel: function () { this.isShowHouse = false; this.$refs["addMsg"].resetFields(); this.clearMsg(); }, cancelSubmitRemarks() { this.isShowLayerRemarks = false; this.remarksMsg.Remarks = ""; this.remarksMsg.OrderId = "0"; this.remarksMsg.isOrder = "1"; this.SpecialOffer = false; this.SOMsg.UpdateBy = ""; this.SOMsg.ApplyPrice = 0; this.SOMsg.ApplyReason = ""; }, 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.LessPrice = "0"; this.addMsg.LessAvgPrice = "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.PlatformAccount = ""; 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.RefuseVisaNum = "0"; this.addMsg.AirticketNum = "0"; this.addMsg.ScenicRefundArr = []; this.ScenicRefundMoney = 0; this.addMsg.CommissionSharePeople = -1; this.addMsg.CommissionShareMoney = "0"; }, saveOrder() { // 判断单团类型 if (this.addMsg.GroupType == 2) { if (this.addMsg.QuotationUrl == "") { this.Error(this.$t('objFill.v101.FinancialModule.qingscfj')); return; } } // 选择联运,联运备注必填 if (this.addMsg.IsIntermodal == 1 || this.addMsg.IsReturnIntermodal == 1) { if (!this.addMsg.UnionRemark) { this.Error(this.$t('objFill.qingtxlybz')); return; } } //验证人数和机位数 20190807 修改 如果是不是单地接才判断 if (this.addMsg.GroupType !== "4" && this.addMsg.GroupType !== "3") { 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) ) { if (this.IsChargeLossOrders == 1) {} else { this.$message.warning(this.$t('objFill.renshuhjwsbd')); 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(this.$t('objFill.qianzsbndyrszh')); 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(this.$t('objFill.baoxiansbndyrszh')); 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(this.$t('objFill.ertzcslbz')); return; } if ( Number(this.addMsg.ChirdNeedBedNum) > Number(this.addMsg.ChirdNum) ) { this.$message.warning(this.$t('objFill.ertongzcbndyets')); return; } } if (this.userId == this.createByInfo) { if (this.addMsg.CommissionSharePeople == "-1") { this.addMsg.CommissionShareMoney = "0"; } } let ChirdNum = Number(this.addMsg.ChirdNum); if (this.addMsg.GroupType == 4) { ChirdNum = 0; } this.addMsg.TCID = this.addObj.TCID; this.addMsg.GuestNum = Number(this.addMsg.ManNum) + ChirdNum + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum) + Number(this.addMsg.AirticketNum); this.addMsg.IsChildrenTour = this.IsChildrenTour; this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount; this.apipost( "sellorder_post_SetOrderInfo_02", this.addMsg, (res) => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.$refs["addMsg"].resetFields(); this.clearMsg(); this.getList(); this.isShowLayer = false; if (res.data.data == 1) { this.$router.push({ name: "passengerSaleList", query: { id: this.goLVurl.orderId, tcid: this.goLVurl.tcid, tcnum: this.goLVurl.tcnum, isOrder: this.goLVurl.isOrder, blank: "y", tab: "旅客名单", }, }); } } else { this.isShowLayer = false; this.$message.error(res.data.message); } }, (err) => {} ); }, getStartList() { this.apipost( "sellorder_get_GetAllStartCity", {}, (res) => { if (res.data.resultCode == 1) { this.startCityList = res.data.data; } }, (err) => {} ); }, getJyfs() { this.apipost( "sellorder_get_GetSellTradeWayEnumList", {}, (res) => { if (res.data.resultCode == 1) { this.jyfsList = res.data.data; } }, (err) => {} ); }, getFylx() { this.apipost( "Financial_post_GetByOrderCostTypeList", { Type: 1, }, (res) => { if (res.data.resultCode == 1) { this.fylxList = res.data.data; } }, (err) => {} ); }, getSspt() { //给非直客 隐藏电话姓名赋值 if (this.khmdList.length !== 0) { let obj = this.khmdList.find( (item) => item.customerId == this.addMsg.CustomerId ); if (obj) { 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.ssptList = res.data.data; } }, (err) => {} ); }, getKhmdList(id, lineId) { this.apipost( "app_today_visit_GetOrderMyCustomerList", { typeId: id, lineId: lineId, IsLineId: 1, }, (res) => { if (res.data.resultCode == 1) { this.khmdList = res.data.data; this.getSspt(); } }, (err) => {} ); }, getDdztList() { this.apipost( "sellorder_post_GetSellOrderStatusEnumList", {}, (res) => { if (res.data.resultCode == 1) { this.ddztList = res.data.data; } }, (err) => {} ); }, getDdlyList(id) { this.apipost( "sellorder_get_GetSellClientSourceEnumList", { typeId: id, }, (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; } }, (err) => {} ); }, getMembersDetail(obj) { this.apipost( "sellorder_post_GetPeopleList", { ID: obj.orderId, }, (res) => { if (res.data.resultCode == 1) { this.memberList = res.data.data; } }, (err) => {} ); }, getLogDetail(obj) { this.apipost( "sellorder_post_GetOrderLogList", { ID: obj.orderId, }, (res) => { if (res.data.resultCode == 1) { this.logList = res.data.data; this.logList.forEach((item) => { item["x"] = this.$commonUtils.formatMsgTime(item.updateDate); }); } }, (err) => {} ); }, getOrderDetail(obj) { this.apipost( "Financial_post_GetOrderFinanceList", { OrderId: obj.orderId, OrderResource: 8, IsTravelMoney: 1, }, (res) => { if (res.data.resultCode == 1) { this.orderList = res.data.data; } }, (err) => {} ); }, getList() { this.showID = -1; this.loading = true; this.apipost( "sellorder_post_GetTravelOrderList", this.msg, (res) => { if (res.data.resultCode == 1) { this.loading = false; this.total = res.data.data.count; this.list = res.data.data.pageData; } else { this.$message.error(res.data.message); } }, (err) => {} ); this.getCount(); }, getLineList() { this.apipost( "line_post_GetAllList_V2", { LineDirection: 0, }, (res) => { if (res.data.resultCode == 1) { this.LineList = res.data.data; } else { this.$message.error(res.data.message); } } ); }, //获取系列列表 getLineTeamList(lineId) { this.LineTeamList = []; this.apipost( "team_post_GetList", { lineID: lineId, isTOOP: 1, }, (res) => { if (res.data.resultCode == 1) { this.msg.LineteamId = "-1"; this.LineTeamList = res.data.data; } } ); }, getCompanyList() { //出团公司 this.apipost( "sellorder_post_GetBranchList", {}, (res) => { if (res.data.resultCode == 1) { this.companyList = res.data.data; } }, (err) => {} ); }, goFinanceUrl(path, Type, OrderID, OrderSource, TCID) { this.$router.push({ name: path, query: { Type: Type, OrderID: OrderID, OrderSource: OrderSource, TCID: TCID, }, }); }, handleCurrentChange(val) { this.msg.pageIndex = val; this.getList(); }, resetPageIndex() { this.msg.pageIndex = 1; this.currentPage = 1; }, getEmployee() { //员工 this.apipost( "admin_get_EmployeeGetList", this.employeeMsg, (res) => { if (res.data.resultCode == 1) { this.employeeList = res.data.data; } else {} }, (err) => {} ); }, //点击修改业务员 getSalerInfo(item) { this.subInfo.CreateBy = item.createByName; this.subInfo.OrderId = item.orderId; this.showChangeSales = true; }, //关闭修改业务员 closeSalseDiv() { this.showChangeSales = false; }, //点击修改单男单女 getOrderGender(item) { this.subGenderInfo.TipMoney = item.oneSex; this.subGenderInfo.OrderId = item.orderId; this.showChangeGender = true; }, //关闭修改单男单女 closeGenderDiv() { this.subGenderInfo.TipMoney = 0; this.subGenderInfo.OrderId = 0; this.showChangeGender = false; }, SetGender() { this.apipost( "sellorder_post_SetOrderGender",this.subGenderInfo, (res) => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.getList(); this.closeGenderDiv(); }else{ this.$message.error(res.data.message); } }, (err) => {} ); }, Discount(TCID) { this.SpecialOffer = true; this.apipost( "lessprice_post_GetSuperiorPeople", { TCID: TCID, }, (res) => { if (res.data.resultCode == 1) { this.SuperiorPeople = res.data.data; } }, (err) => {} ); }, //申请优惠 Preservation() { // if(this.SOMsg.ApplyPrice <= 0 ){ // this.$message.error(this.$t('objFill.v101.Rest.qingtxdydyldje')) // return // } var numReg = /^[0-9]+$/; var numRe = new RegExp(numReg); if (!numRe.test(this.SOMsg.ApplyPrice)) { this.$message.error(this.$t('objFill.qingsrsz')); return; } if (this.SOMsg.UpdateBy == "请选择" || this.SOMsg.UpdateBy == "") { this.$message.error(this.$t('objFill.qingxzshr')); return; } if (this.SOMsg.ApplyReason == "") { this.$message.error(this.$t('objFill.qingtxsqliy')); return; } this.apipost( "lessprice_post_SetLesspriceOrder", this.SOMsg, (res) => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.SpecialOffer = false; this.SOMsg.UpdateBy = ""; this.SOMsg.ApplyPrice = 0; this.SOMsg.ApplyReason = ""; } else { this.$message.error(res.data.message); this.SpecialOffer = false; this.SOMsg.UpdateBy = ""; this.SOMsg.ApplyPrice = 0; this.SOMsg.ApplyReason = ""; } }, (err) => {} ); }, gettypechange(type) { //切换参团类型时 把值初始化 if (type == 4) { this.addMsg.Unit_Price = this.Unit_Price; // this.addMsg.Unit_Price = this.addObj.SingleDMCPrice; this.HightUnitPrice = "1"; this.addMsg.AirticketNum = 0; this.addMsg.ManNum = 0; // this.addMsg.ChirdNum = 0; this.addMsg.BabyNum = 0; this.addMsg.OldPeopleNum = 0; this.addMsg.ChirdNoNeedBedNum = 0; this.addMsg.ChirdNeedBedNum = 0; this.addMsg.PreferPrice = 0; this.addMsg.SafeNum = 0; this.addMsg.VisaNum = 0; this.addMsg.PredictRoomNum = 0; this.addMsg.YSeatNum = 0; } else { this.HightUnitPrice = "2"; this.addMsg.AirticketNum = 0; this.addMsg.ManNum = 0; // this.addMsg.ChirdNum = 0; //? this.addMsg.BabyNum = 0; this.addMsg.OldPeopleNum = 0; this.addMsg.ChirdNoNeedBedNum = 0; this.addMsg.ChirdNeedBedNum = 0; this.addMsg.PreferPrice = 0; this.addMsg.SafeNum = 0; this.addMsg.VisaNum = 0; this.addMsg.PredictRoomNum = 0; this.addMsg.YSeatNum = 0; } if (this.addMsg.CustomerType == 1) { if (this.addMsg.GroupType == 4) { this.addMsg.TC_Price = this.addObj.SingleDMCPrice; } else { this.addMsg.TC_Price = this.addObj.B2BMemberPrice; this.addMsg.Unit_Price = this.addObj.B2BMemberPrice; } } if (this.addMsg.CustomerType == 2) { if (this.addMsg.GroupType == 4) { this.addMsg.TC_Price = this.addObj.SingleDMCPrice; } else { this.addMsg.TC_Price = this.addObj.B2BPrice; this.addMsg.Unit_Price = this.addObj.B2BPrice; } } if (this.addMsg.CustomerType == 3) { if (this.addMsg.GroupType == 4) { this.addMsg.TC_Price = this.addObj.SingleDMCPrice; } else { this.addMsg.TC_Price = this.addObj.B2CMemberPrice; this.addMsg.Unit_Price = this.addObj.B2CMemberPrice; } this.addMsg.CustomerId = "0"; this.addMsg.CommissionShareMoney = "0"; } if (this.addMsg.CustomerType == 4) { if (this.addMsg.GroupType == 4) { this.addMsg.TC_Price = this.addObj.SingleDMCPrice; } else { this.addMsg.TC_Price = this.addObj.B2CPrice; this.addMsg.Unit_Price = this.addObj.B2CPrice; } this.addMsg.CommissionShareMoney = "0"; } this.addMsg.GroupTypeNeedHouse = "0"; this.addMsg.CustomerId = "0"; this.Unit_PriceList = []; }, // 获取修改业务员权限 GetEditOrderCreateByAuth() { var actionCode = this.$AuthCode.EditOrderCreateBy; this.CheckUserAuth(actionCode, (res) => { if (res.data.resultCode == 1 && res.data.data == 1) { this.isEditOrderCreate = 1; } }); }, //预览文件-报价单 previewFileFJ(e) { window.open(this.addMsg.QuotationUrl, "_blank"); return; const link = document.createElement("a"); let _loadUrl = this.domainManager().DomainUrl; let str = window.location.href; link.href = this.addMsg.QuotationUrl; document.body.appendChild(link); link.click(); }, // 查看报价单 seeBJD(url) { window.open(url, "_blank"); return; }, //上传文件-报价单 uploadFileBtnFJ(file) { if (file.file.size > 1024 * 1024 * 100) { this.$message.warning(this.$t('objFill.v101.myOrdersAllType.shangcwjbndyybam')); this.$refs["my-upload"].clearFiles(); return; } this.uploadLloading = true; let newArr = []; newArr.push(file.file); let path = "/Upload/Temporary/"; this.$message.info(this.$t("tips.shangchuanzhong")); this.UploadSelfFileT(path, newArr, (x) => { this.addMsg.QuotationUrl = this.domainManager().ViittoFileUrl + x.data.FilePath; this.$message.success(this.$t("tips.scchenggong")); this.uploadLloading = false; }); }, // 移除文件-报价单 removeFileFJ(e) { this.addMsg.QuotationUrl = ""; }, getLessRuleList() { let msg = {}; this.apipost( "sellorder_post_GetTravelLessPriceRuleList_V2", msg, (res) => { this.LessRule = res.data.data; //做初始化 let LessNum = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); let LessSlinge =0; // 首先抓取 人数对应的 少价金额 this.LessRule.forEach((ritem) => { if(ritem.LineIdList.includes(this.addMsg.LineId)){ // 使用这个规则 ritem.RuleList.forEach((qitem)=>{ if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);} }); } }); this.LessNAvgPrice = LessSlinge; this.LessNPrice = LessSlinge * LessNum; }, (err) => {} ); }, ValidateLess(){ if(this.addMsg.LessPrice>this.LessNPrice){ this.addMsg.LessPrice =this.LessNPrice; } if(this.addMsg.LessPrice>=0){ let LessNum = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); if(LessNum==0){this.addMsg.LessAvgPrice=0;}else{ this.addMsg.LessAvgPrice = this.moneyFormatN(this.addMsg.LessPrice / LessNum); } } this.getTotalPrice(); }, ValidateLess2(){ if(this.addMsg.LessAvgPrice>this.LessNAvgPrice){ this.addMsg.LessAvgPrice =this.LessNAvgPrice; } if(this.addMsg.LessAvgPrice>=0){ let LessNum = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum; } this.getTotalPrice(); } }, mounted() { this.qjGroupId = this.QjGroupId(); this.GetEditOrderCreateByAuth(); let userInfo = this.getLocalStorage(); this.userInfo = this.getLocalStorage(); let userMenuCode = "," + userInfo.ActionMenuCode + ","; this.TransferMission = userMenuCode.indexOf(",Sale_TurnGroup,") != -1 ? true : false; this.userId = this.getLocalStorage().EmployeeId; if (this.$route.query.id) { this.msg.tempOrderId = this.$route.query.id; } else if (this.$route.query.crmOrderObj) { let crmOrderObj = JSON.parse(this.$route.query.crmOrderObj) this.msg.tempOrderId = crmOrderObj.OrderId } else if (this.$route.query.OrderId) { this.msg.tempOrderId = this.$route.query.OrderId } else { this.msg.QStartDate = new Date().Format("yyyy-MM-dd"); } this.getEmployee(); this.getList(); this.getLineList(); this.getCompanyList(); this.getStartList(); this.getKhlxList(); this.getCtlxList(); this.getDdztList(); this.getJyfs(); this.getFylx(); this.GetSupperOrderEditAuth(); }, }; </script>