<style> @import "../../assets/css/newTravelManager.css"; .color_red_order { color: #e95252 !important; } .groupTourOrderSearch { width: 100%; min-height: auto; overflow: hidden; 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 { float: right; } .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: left; text-indent: 15px; 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 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; min-height: 300px; 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; } .groupTourOrderLeaderItem { display: inline-block; min-width: 122px; padding: 10px 0; background: #fff; margin: 10px 0; height: 56px; border-radius: 4px; } .groupTourOrderLeaderItem>img { width: 36px; height: 36px; border-radius: 18px; float: left; margin: 0 8px; } .groupTourOrderSearchTable tr td>img { width: 32px; height: 32px; border-radius: 16px; vertical-align: middle; margin-right: 5px; } .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_remarksBytuan { font-size: 12px; } .groupTourOrder_remarksBytuan>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 { font-size: 12px; color: #e95252; } .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: 5px 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; } .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; } .groupTourOrderByTuan_transfer { position: fixed; z-index: 50; bottom: 0; left: 0; padding: 10px 10px; width: 100%; min-width: 1366px; min-height: 200px; border-top: 3px solid #38425d; background-color: #ffffff; overflow-y: auto; } .groupTourOrderByTuan_transfer>.transfer_header { position: relative; width: 100%; height: 30px; } .groupTourOrderByTuan_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; } .groupTourOrderByTuan_transfer>.transfer_header>div:nth-child(2) { position: absolute; top: 0px; right: 0px; height: 30px; } .groupTourOrderByTuan_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; } .groupTourOrderByTuan_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; } .groupTourOrderByTuan_transfer>.transfer_info { padding: 20px 0; width: 100%; font-size: 0px; border-bottom: 1px dashed #999999; } .groupTourOrderByTuan_transfer>.transfer_info>div { display: inline-block; padding: 0 10px; width: 25%; height: 30px; vertical-align: top; } .groupTourOrderByTuan_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; } .groupTourOrderByTuan_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; } .groupTourOrderByTuan_transfer>.transfer_input { padding: 20px 0; width: 100%; font-size: 0px; } .groupTourOrderByTuan_transfer>.transfer_input>div { display: inline-block; padding: 0 10px; width: 25%; height: 30px; vertical-align: top; } .groupTourOrderByTuan_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; } .groupTourOrderByTuan_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; } .groupTourOrderByTuan_seat>div { display: inline-block; margin: 0 5px; vertical-align: top; } .groupTourOrderByTuan_seat>div>span:nth-child(1) { font-size: 14px; color: #333333; } .groupTourOrderByTuan_seat>div>span:nth-child(2) { font-size: 14px; color: red; } .planeTicketEdit { overflow: auto; position: fixed; height: 550px; z-index: 100; bottom: 0; left: 0; border-top: 3px solid #38425d; background-color: #FFFFFF; padding: 10px 10px 0; width: 100%; } .planeTicketEdit .el-form-item__label { font-size: 12px !important; } .planeTicketEdit>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; } .planeTicketEdit .el-input { width: auto !important } .GB_LeaderContent { float: left; margin: 7px 0 0 25px; } .GB_LeaderListContent { float: left; height: 56px; padding-right: 10px; background-color: #fff; border: 4px solid #eeeeee; border-radius: 4px; margin-right: 20px; } .GB_leftImg { float: left; width: 36px; height: 36px; border-radius: 50%; margin: 6px 10px; } .GB_leftImg img { width: 100%; height: 100%; border-radius: 50%; } .GB_rightNameList { float: right; font-size: 12px; color: #333333; } .GB_rightNameList div:first-child { margin: 5px 0; } .GB_rightNameList div:last-child { font-weight: bold; } .GB_zanwu { text-align: center; color: #666666; font-size: 12px; padding: 0 20px; } .GB_zanwu div:first-child { margin: 5px 0; } .GB_LeaderListDiv { width: 200px; height: 206px; margin-left: 30px; border: 1px solid #d1d1d1; } .GO_union { position: absolute; top: 2px; left: 2px; color: red; font-size: 15px; } .not_border tr, .not_border tr td { border-bottom: none !important; } .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; } .groupts .underline { text-decoration: underline; margin: 5px; text-align: center; } .groupts .leftSetInfo, .groupts .GO_TPright { float: left; } .KT_Scenic { width: 400px; max-height: 400px; overflow: auto; } .KT_Scenic table th { height: 30px; border: 1px solid #d1d1d1; } .KT_Scenic table td { padding: 9px 5px !important; } ._TravelPricePopover .GOScenicDiv { width: 500px; max-height: 400px; overflow: auto; } ._TravelPricePopover table, .KT_Scenic table { padding: 10px 0 0 20px; background-color: #ededed; border-collapse: collapse; border: 1px solid #d2d2d2; font-size: 12px; margin: 0 20px 5px 0; width: 100%; } ._TravelPricePopover table ._color_666, .KT_Scenic table ._color_666 { background-color: #ededed; color: #666666; padding: 5px; } ._TravelPricePopover table td, .KT_Scenic table td { background-color: #ffffff; padding: 9px 0; color: #333333; text-align: center; border: 1px solid #d2d2d2; } ._TravelPricePopover table td._d_name { background-color: #ededed; } .groupts .GO_Title { display: inline-block; margin-top: 10px; padding-right: 10px; font-size: 12px; width: 90px; text-align: right; } .groupts .SimulateDrop-box { width: 230px; min-height: 34px; position: relative; padding: 5px 21px 5px 6px; float: left; margin-top: 4px; border: 1px solid #d1d1d1; } .groupts .GO_SimulaDrop { position: absolute; right: 10px; top: 5px; color: #d1d1d1; } .groupts .SD_flight { display: inline-block; height: 24px; margin: 0 3px 3px 0; overflow: hidden; max-width: 200px; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; padding: 0 8px; line-height: 22px; background-color: #f0f2f5; } .GO_Contract { color: blue; display: inline-block; cursor: pointer; margin-right: 20px; } .SQguestList { display: flex; flex-wrap: wrap; } .SQguestList label { display: inline-block; min-width: 100px; display: flex; align-items: center; margin-top: 8px; } </style> <template> <div class="flexOne groupts" v-loading='loading'> <!-- 修改信息 --> <div class="planeTicketEdit ownScrollbarStyle" v-show="isShowLayer2"> <p>修改 <span class="fr"> <input type="button" class="hollowFixedBtn" value="取消" @click="cancelSubmit2()" /> <input type="button" class="normalBtn" value="保存" @click="submitForm2('addMsg2')" /> </span> </p> <el-form :model="addMsg" ref="addMsg2" label-position="right" :rules="rules2" label-width="80px"> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="客户类型" prop="CustomerType"> <el-select v-model='addMsg.CustomerType' filterable :placeholder="$t('pub.pleaseSel')" @change='getTypePrice' :disabled="true"> <el-option v-for="(item,index) in khlxList" :label='item.Name' :value='item.Id' :key='index'> </el-option> </el-select> </el-form-item> <el-form-item label="参团类型" prop="GroupType"> <el-select v-model='addMsg.GroupType' disabled filterable :placeholder="$t('pub.pleaseSel')"> <el-option v-for="(item,index) in ctlxList" :label='item.Name' :value='item.Id' :key='index'> </el-option> </el-select> </el-form-item> <el-form-item v-if="addMsg.GroupType == '3'" label="是否用房" 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="联系人" prop="ContactName" v-show='addMsg.CustomerType==3||addMsg.CustomerType==4'> <el-input v-model='addMsg.ContactName'></el-input> </el-form-item> <el-form-item label="联系电话" prop="ContactMobile" v-show='addMsg.CustomerType==3||addMsg.CustomerType==4'> <el-input v-model='addMsg.ContactMobile'></el-input> </el-form-item> <el-form-item label="客户门店" prop="CustomerId" v-show="addMsg.CustomerType==1||addMsg.CustomerType==2||addMsg.CustomerType==''"> <el-select v-model='addMsg.CustomerId' filterable :placeholder="$t('pub.pleaseSel')" @change='getSspt' v-if="addMsg.OrderForm !== 4" :disabled="true"> <el-option v-for="(item,index) in khmdList" :label='item.customerName' :value='item.customerId' :key='index'> </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="本团单价" prop="TC_Price"> <el-input v-model='addMsg.TC_Price' :disabled="true"></el-input> </el-form-item> <el-form-item label="出发联运价" 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'>暂无报价!</span> </el-form-item> <el-form-item label="返回联运价" 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'>暂无报价!</span> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="成交单价" prop="Unit_Price"> <!-- 第一个修改信息 --> <el-input v-model='addMsg.Unit_Price' @keyup.native="checkPrice(addMsg,'Unit_Price');getTotalPrice()"> </el-input> </el-form-item> </el-col> </el-row> <div style="width: 100%; border-top:1px dashed #ccc;margin-bottom:25px;"></div> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="成人人数" prop="ManNum"> <el-input v-model='addMsg.ManNum' @keyup.native="checkInteger(addMsg,'ManNum')" @input='getNumber();getHouseNo();getTotalPrice()'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="儿童人数" 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"> <el-form-item label="婴儿人数" prop="BabyNum"> <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="老人人数" prop="OldPeopleNum"> <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"> <el-form-item label="应收总额" prop="PreferPrice"> <el-input v-model='addMsg.PreferPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="预计提成" prop="Commission"> <el-input v-model='addMsg.Commission' :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4" v-show="addMsg.CustomerType==1||addMsg.CustomerType==2"> <el-form-item label="分摊人" prop="CommissionSharePeople"> <el-select :disabled="isUpdateSharePeople" filterable clearable @change='getTicheng' v-model='addMsg.CommissionSharePeople' :placeholder="$t('pub.pleaseSel')"> <el-option label='无' :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="分摊金额" prop="CommissionShareMoney"> <el-input v-model='addMsg.CommissionShareMoney' :disabled="true"></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="经济舱" prop="YSeatNum"> <el-input v-model='addMsg.YSeatNum' @keyup.native="checkInteger(addMsg,'YSeatNum')"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="商务舱" prop="ESeatNum"> <el-input v-model='addMsg.ESeatNum' @input="getNumber()"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="头等舱" prop="FSeatNum"> <el-input v-model='addMsg.FSeatNum' @input="getNumber()"></el-input> </el-form-item> </el-col> <el-col :span="4"> </el-col> <el-col :span="4"> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="客人来源" prop="ClientSource"> <el-select v-model='addMsg.ClientSource' :disabled="true" filterable :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in ddlyList" :label='item.Name' :value='item.Id' :key='item.Id'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="所属平台" prop="BrandId" v-show="addMsg.ClientSource==1"> <el-select v-model='addMsg.BrandId' :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="交易方式" prop="TradeWay" v-show='addMsg.ClientSource==1'> <el-select v-model='addMsg.TradeWay' :disabled="true" 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="平台订单号" prop="PlatformOrder"> <el-input v-model='addMsg.PlatformOrder' @input='platformOrderMethods' :disabled="isAllowUpdate==0"> </el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item label="备注" prop="Remarks"> <el-input v-model='addMsg.Remarks' type='textarea' maxlength='500'></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <!-- 其他类型的修改信息2 --> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayer"> <p>修改 <span class="fr"> <input type="button" class="hollowFixedBtn" value="取消" @click="cancelSubmit()" /> <input type="button" class="normalBtn" value="保存" @click="submitForm('addMsg')" /> </span> </p> <el-form :model="addMsg" ref="addMsg" label-position="right" :rules="rules" label-width="90px"> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="客户类型" 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="参团类型" prop="GroupType"> <el-select v-model='addMsg.GroupType' filterable :placeholder="$t('pub.pleaseSel')" @change="gettypechange(addMsg.GroupType)"> <el-option v-for="item in ctlxList" :label='item.Name' :value='item.Id' :key='item.Id' v-if="item.Id!=5"> </el-option> </el-select> </el-form-item> <el-form-item v-if="addMsg.GroupType == '3'" label="是否用房" 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="联系人" prop="ContactName" v-show='addMsg.CustomerType==3||addMsg.CustomerType==4'> <el-input v-model='addMsg.ContactName'></el-input> </el-form-item> <el-form-item label="联系电话" prop="ContactMobile" v-show='addMsg.CustomerType==3||addMsg.CustomerType==4'> <el-input v-model='addMsg.ContactMobile'></el-input> </el-form-item> <el-form-item label="客户门店" prop="CustomerId" v-show="addMsg.CustomerType==1||addMsg.CustomerType==2||addMsg.CustomerType==''"> <el-select v-model='addMsg.CustomerId' filterable :placeholder="$t('pub.pleaseSel')" @change='getSspt' :disabled="true"> <el-option v-for="item in khmdList" :label='item.customerName' :value='item.customerId' :key='item.customerId'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="出发城市" prop="DepartureCityId"> <el-select filterable v-model='addMsg.DepartureCityId' filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsIntermodal=2"> <el-option v-for="item in startCityList" :label='item.Name' :value='item.ID' :key='item.ID'> </el-option> </el-select> </el-form-item> <el-form-item label="是否联运" prop="IsIntermodal" v-show="addMsg.DepartureCityId!=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="联运时间" 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="返回城市" prop="ReturnArriveCityId"> <el-select filterable v-model='addMsg.ReturnArriveCityId' filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsReturnIntermodal=2"> <el-option v-for="item in startCityList" :label='item.Name' :value='item.ID' :key='item.ID'> </el-option> </el-select> </el-form-item> <el-form-item label="是否联运" prop="IsReturnIntermodal" v-show="addMsg.ReturnArriveCityId!=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="联运时间" 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="本团单价" prop="TC_Price"> <el-input v-model='addMsg.TC_Price' :disabled="true"></el-input> </el-form-item> <el-form-item label="出发联运价" 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'>暂无报价!</span> </el-form-item> <el-form-item label="返回联运价" 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'>暂无报价!</span> </el-form-item> </el-col> <el-col :span="4" v-if="isChecked==true"> <template> <el-form-item label="成交单价" prop="Unit_Price" v-if="HightUnitPrice === '2'"> <el-select v-model='addMsg.Unit_Price' filterable :placeholder="$t('pub.pleaseSel')" @change="getTotalPrice(2)"> <el-option v-for="(item,index) in Unit_PriceList" :label='item.LessMoney' :value='item.ID' :key='index+1'> </el-option> </el-select> </el-form-item> <el-form-item label="成交单价" prop="Unit_Price" v-else> <el-input v-model='addMsg.Unit_Price' @change="getTotalPrice(3)"></el-input> </el-form-item> </template> <el-form-item label="高于本团单价" 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;">注:如果超出本团的最低让价,差价将由你来承担</p> <p v-else="LessMoney>0" style="line-height: 18px; color: #E95252;">注:最多少价{{LessMoney}}元,如需少价更多请联系上级主管</p> </el-form-item> </el-col> <el-col :span="4" v-else> <el-form-item label="成交单价" prop="Unit_Price"> <el-input v-model='addMsg.Unit_Price' @keyup.native="checkPrice(addMsg,'Unit_Price');getTotalPrice()"> </el-input> </el-form-item> <el-form-item> <p style="line-height: 18px; color: #E95252;">注:如果超出本团的最低让价,差价将由你来承担</p> </el-form-item> </el-col> </el-row> <div style="width: 100%; border-top:1px dashed #ccc;margin-bottom:25px;"></div> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="单地接数量" 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="成人人数" 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"> <p v-if='IsChildrenTour==2' style="color: #E95252; font-size: 12px; line-height: 40px; text-align: center;"> 本团不支持儿童出游!</p> <el-form-item v-if='IsChildrenTour==1' label="儿童不占床"> <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="儿童占床" 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="婴儿人数" v-show="addMsg.GroupType !== '4'"> <el-input v-model='addMsg.BabyNum' @keyup.native="checkInteger(addMsg,'BabyNum')" @input='getNumber();getTotalPrice();getTotalPrice()'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="老人人数" 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"> <el-form-item label="单房数量"> <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="大床房"> <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="三人房"> <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="签证数量"> <el-input v-model='addMsg.VisaNum' @keyup.native="checkInteger(addMsg,'VisaNum')" @input='yzVisaNum();getTotalPrice()'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="保险数量"> <el-input v-model='addMsg.SafeNum' @keyup.native="checkInteger(addMsg,'SafeNum')" @input='yzSafeNum();getTotalPrice()'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="拒签人数" prop="RefuseVisaNum"> <el-input v-model='addMsg.RefuseVisaNum' @keyup.native="checkInteger(addMsg,'RefuseVisaNum')" @input='getTotalPrice()'></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="预计用房"> <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="应收总额" prop="PreferPrice"> <el-input v-model='addMsg.PreferPrice' :disabled="!IsUpdateOrderMoney"></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="签证费"> <el-input v-model='addMsg_form.VisaPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="退签证费"> <el-input v-model='addMsg_form.BackVisaPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="杂费"> <el-input v-model='addMsg_form.OtherPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="老人附加费"> <el-input v-model='addMsg_form.OldManChargePrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="儿童附加费"> <el-input v-model='addMsg_form.BabyChargePrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="单房差"> <el-input v-model='addMsg_form.SingleRoomPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="儿童占床增收"> <el-input v-model='addMsg_form.ChildNeedPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="儿童不占床减免"> <el-input v-model='addMsg_form.ChildNoNeedPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="收损金额"> <el-input v-model='addMsg_form.OpSetLossMoney' :disabled="true"></el-input> </el-form-item> <el-form-item label="单地接"> <el-input v-model='addMsg_form.SingleDMCPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item label="婴儿价"> <el-input v-model='addMsg_form.BabyPrice' :disabled="!IsUpdateOrderMoney"></el-input> </el-form-item> <el-form-item v-if="IsUpdateOrderMoney"> <el-button type="primary" style="padding:6px 15px" @click="submitYSZEForm">确定</el-button> </el-form-item> </el-form> </div> </el-col> <el-col :span="4"> <el-form-item label="预计提成" prop="Commission"> <el-input v-model='addMsg.Commission' :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4" v-show="addMsg.CustomerType==1||addMsg.CustomerType==2"> <el-form-item label="分摊人" prop="CommissionSharePeople"> <el-select :disabled="isUpdateSharePeople" filterable clearable @change='getTicheng' v-model='addMsg.CommissionSharePeople' :placeholder="$t('pub.pleaseSel')"> <el-option label='无' :value='comSelect'></el-option> <el-option v-for='(item,index) in employeeList' :label='item.EmName' :value='item.EmployeeId' :key='index'></el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" v-show="addMsg.CommissionSharePeople!='-1'&&(addMsg.CustomerType==1||addMsg.CustomerType==2)"> <el-form-item label="分摊金额" prop="CommissionShareMoney"> <el-input v-model='addMsg.CommissionShareMoney' :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="单男单女"> <el-radio v-model="addMsg.OneSex" :label="1">男</el-radio> <el-radio v-model="addMsg.OneSex" :label="2">女</el-radio> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="经济舱" prop="YSeatNum"> <el-input v-model='addMsg.YSeatNum' @keyup.native="checkInteger(addMsg,'YSeatNum')"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="商务舱" prop="ESeatNum"> <el-input v-model='addMsg.ESeatNum' @input="getNumber()"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="头等舱" prop="FSeatNum"> <el-input v-model='addMsg.FSeatNum' @input="getNumber()"></el-input> </el-form-item> </el-col> <el-col :span="8"> <div class="clearfix"> <div class="leftSetInfo"> <span class="GO_Title">可退景点</span> </div> <div class="GO_TPright clearfix"> <el-popover popper-class="_TravelPricePopover" trigger="click"> <div> <div class="GOScenicDiv"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="_color_666">选择</td> <td class="_color_666">景点名称</td> <td class="_color_666">OP设置金额</td> <td class="_color_666">人数</td> <td class="_color_666">退款金额</td> </tr> <tr v-for="item in ScenicRefundList"> <td> <el-checkbox :checked="item.IsChecked" @change="getGOScenic(item)"></el-checkbox> </td> <td> {{item.CouponsName}} </td> <td> {{item.RefundMoney}} </td> <td> <el-input class="w80" @keyup.native="checkInteger(item,'Number'),CheckNum(item)" @change="getGOScenictWO" v-model="item.Number"></el-input> </td> <td> <el-input class="w80" @keyup.native="checkPrice(item,'BackMoney')" @change="getGOScenictWO" v-model="item.BackMoney"></el-input> </td> </tr> </table> </div> </div> <div slot="reference" class="SimulateDrop-box"> <span class="SD_flight" v-for="subItem in SciencNameList">{{subItem}}</span> <i class="iconfont icon-arrow-down GO_SimulaDrop"></i> </div> </el-popover> </div> </div> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="客人来源" 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.Name'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="所属平台" prop="BrandId" v-show="addMsg.ClientSource==1"> <el-select v-model='addMsg.BrandId' :disabled="false" filterable :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in ssptList" :label='item.brandName' :value='item.dictId' :key='item.brandName'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="交易方式" prop="TradeWay" v-show='addMsg.ClientSource==1'> <el-select v-model='addMsg.TradeWay' :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.Name'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" v-if='addMsg.TradeWay==1'> <el-form-item label="收款账户"> <el-select filterable v-model='addMsg.PlatformAccount' @change="changeSelect"> <el-option v-for='item in PlatformAccountList' :label='item.Alias' :value='item.ID' :key='item.Alias'> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" v-if='addMsg.TradeWay==1'> <el-form-item label="平台订单号" prop="PlatformOrder"> <el-input v-model='addMsg.PlatformOrder' @input='platformOrderMethods' :disabled="isAllowUpdate==0"> </el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item label="备注" prop="Remarks"> <el-input v-model='addMsg.Remarks' type='textarea' maxlength='500'></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <!-- 修改房型 --> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowHouse"> <p>修改房型 <span class="fr"> <input type="button" class="hollowFixedBtn" value="取消" @click="houseCancel()" /> <input type="button" class="normalBtn" value="保存" @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="成人人数" 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;"> 本团不支持儿童出游!</p> <el-form-item v-if='IsChildrenTour==1' label="儿童不占床" 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="儿童占床" 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="婴儿人数" 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="老人人数" 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="单地接数量" 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="单房数量" prop="SingleRoomNum"> <el-input v-model='addMsg.SingleRoomNum' @keyup.native="checkInteger(addMsg,'SingleRoomNum')" @input='yzBigBed2();getTotalPrice()'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="大床房" prop="BigRoomNum"> <el-input v-model='addMsg.BigRoomNum' @keyup.native="checkInteger(addMsg,'BigRoomNum')" @input='yzBigBed();getTotalPrice()'></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="三人房" prop="TripleRoomNum"> <el-input v-model='addMsg.TripleRoomNum' @keyup.native="checkInteger(addMsg,'TripleRoomNum')" @input='yzBigBed1();getTotalPrice()'></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-form-item label="预计用房" prop="PredictRoomNum"> <el-input v-model='addMsg.PredictRoomNum' :disabled="true"></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="24"> <el-form-item label="备注" prop="Remarks"> <el-input v-model='addMsg.Remarks' type='textarea' maxlength='500'></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <!-- 修改备注 --> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayerRemarks" style="height: 150px;min-height:150px;"> <p>修改备注 <span class="fr" v-if="remarksMsg.isOrder==1" style="margin-right:0px;"> <input type="button" class="hollowFixedBtn" value="取消" @click="cancelSubmitRemarks()" /> <input type="button" class="normalBtn" value="保存" @click="submitFormRematks('remarksMsg')" /> </span> <span class="fr" v-else style="color:red;"> OP已禁止修改订单信息,请联系OP修改备注。 </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 label="备注" prop="Remarks"> <el-input v-model='remarksMsg.Remarks' type='textarea' maxlength='500'></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <div style="float:left; border-radius: 4px; margin: 20px 20px 20px 0; padding: 0 10px; height: 34px; line-height: 34px; background: #D2D2D2; font-size: 14px; color: #333; font-weight: bold;"> {{tuanInfo.config&&tuanInfo.config.LtName}} {{tuanInfo.config&&tuanInfo.config.TCNUM}} <span style="padding: 2px 5px; font-weight: normal; background: #297BEF; border-radius: 4px; color: #fff;"> {{tuanInfo.config&&tuanInfo.config.OutBranchName}} </span> </div> <div class="GB_LeaderContent clearfix"> <div class="GB_LeaderListContent clearfix" v-if="tuanInfo.leader!=null"> <div class="GB_leftImg"> <img src="../../assets/img/bg_c3@3x.png"> </div> <div class="GB_rightNameList"> <div v-if="tuanInfo.leader.LeaderId>0&&tuanInfo.leader.LeaderName!=''"> {{tuanInfo.leader.LeaderName}}/领队 </div> <div v-if="tuanInfo.leader.GuideId>0&&tuanInfo.leader.GuideName!=''"> {{tuanInfo.leader.GuideName}}/导游 </div> </div> </div> <div v-else class="GB_LeaderListContent GB_zanwu"> <div>暂未安排</div> <div>领队导游</div> </div> </div> <!-- --> <div v-if="tuanInfo&&tuanInfo.config&&tuanInfo.config.IsOrder!=1" style="float:right"> <span style="color:#f78989"> 订单操作已关闭,如需修改请联系OP.</span> </div> <div style="width: 100%; height: auto; overflow-x: auto;" class="ownScrollbarStyle"> <!-- 表格 --> <table class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="230">单号</th> <th width="100">客户信息</th> <th width="100">人数/机位数</th> <th width="80">单价</th> <th width="80">成交单价</th> <th width="80">应收总额</th> <th width="80">实收</th> <th width="70">优惠</th> <th width="70">幸福存折</th> <th width="70">退款</th> <th width="70">平台税金</th> <th width="80">平台在途</th> <th width="80">待收金额</th> <th width="60">状态</th> <th width="80">候补</th> <th width="100">确认函</th> <th width="200">操作</th> </tr> <tr> <td v-show="list.length==0" colspan="17" align="center">暂无数据</td> </tr> <template v-for="op in list"> <tbody class="not_border"> <tr> <td colspan="17">类型:<span style="color: #e95252;">{{op.groupName}}</span></td> </tr> </tbody> <tbody v-for="(item,index) in op.list" :key="index"> <tr> <td rowspan="3" style="position:relative;"> <p v-if="item.isUnionOrder==1" class="GO_union">联</p> <p v-if="item.isChargeLossOrders==1" style="color:red">损</p> <p class="fbold over_ellipsis" style="width: 100%;" :title="item.orderId"> <span>{{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)'>(评分{{item.scoreNum}})</span> <el-tooltip class="item" effect="dark" content="通过小程序确认单报名" 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="通过B2B确认单报名" placement="top" v-show="item.isFormB2B ==1"> <i class="iconfont icon-tiaozheng" style="font-size:22px;color:#297BEF;"></i></el-tooltip> </p> <div> {{item.createBy}}<br /><span v-if="item.leaveStr!=''" style="color:red">({{item.leaveStr}})</span> </div> <p class="fz12 over_ellipsis" style="width: 100%;"> {{item.commissionSPeopleName=='无'?'':item.commissionSPeopleName}}</p> <p>下单时间:{{item.createDate}}</p> <p v-if="item.tradeWay ==1">{{item.platformOrder}}</p> <template v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder"> <p v-if='item.commissionMoney' style="color:red">提成:{{item.commissionMoney}}</p> <p v-else-if="item.latestCommissionMoney" style="color:red">提成:{{item.latestCommissionMoney}}</p> </template> <div> <div style="color:green" v-if="item.commissionMoney==''||item.commissionMoney=='-1'"> <p v-if="item.extraRewardMoney>0">额外奖励金额:{{item.extraRewardMoney}}</p> <p v-if="item.extraDeductMoney>0">额外扣除金额:{{item.extraDeductMoney}}</p> </div> <div style="color:red" v-else> <p v-if="item.extraRewardMoney>0">额外奖励金额:{{item.extraRewardMoney}}</p> <p v-if="item.extraDeductMoney>0">额外扣除金额:{{item.extraDeductMoney}}</p> </div> <div style="color:red"> <p v-if="item.unionExtraMoney!=0">联运额外返佣:{{item.unionExtraMoney}}</p> </div> </div> </td> <td> <p v-if='item.isOwn==1||IsSupperOrderEdit||IsLookOrder || isUpdateOrder' class="fz12 over_ellipsis" style="width: 120px;" :title="item.contactName">{{item.contactName}}</p> <p v-if='item.isOwn==1||IsSupperOrderEdit||IsLookOrder || isUpdateOrder' class="fz12"> {{item.contactMobile}}</p> <p class="fz12" v-if="(item.isOwn==1||IsSupperOrderEdit||IsLookOrder || isUpdateOrder)&&item.industryCategory!==''" style="color:green">行业类别:{{item.industryCategory}}</p> <p v-if='item.isOwn==2&&!IsSupperOrderEdit&&!IsLookOrder&&isUpdateOrder==false'>*****</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> </td> <td style="color:#FF9C00"> <span>{{item.tC_Price}}</span> </td> <td style="color:#FF9C00"> <span v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder">{{item.unit_Price}}</span> <span v-else>*****</span> </td> <td> <p style="color:#FF9C00"> <span v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder">{{item.preferPrice}}</span> <span v-else>*****</span> </p> </td> <td> <el-popover style='padding: 0;' width="370" trigger="click"> <div class="personNolayer"> <table border="0" cellspacing="1" cellpadding="1"> <tr> <th>单据号</th> <th>金额</th> <th>类型</th> <th>状态</th> </tr> <tr v-if='orderList.length>0' v-for="(item2,index2) in orderList" :key="index2"> <td>{{item2.FrID}}</td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item2.PayMoney}}</span> <span v-else>******</span> </td> <td>{{item2.TypeName}}</td> <td>{{item2.StatusName}}</td> </tr> <tr v-if='orderList.length==0'> <td colspan="4" align="center">暂无数据</td> </tr> </table> </div> <span v-if='item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder' :style="{cursor: 'pointer',color:item.dueInMoney===0 ? '' : '#e95252' }" @click="getOrderDetail(item)" slot="reference">{{item.income}}</span> <span v-else>******</span> </el-popover> </td> <!-- 优惠 --> <td> <el-popover style='padding: 0;' width="600" trigger="click"> <div class="personNolayer"> <table border="0" cellspacing="1" cellpadding="1"> <tr> <th>优惠券名称</th> <th>优惠券类型</th> <th>抵扣金额/折扣</th> <th>使用条件</th> <th>获取方式</th> <th>获取日期</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">抵用券</span> <span v-if="item2.couponsType==2">折扣卷</span> </td> <td>{{item2.denomination}}</td> <td>满{{item2.useCondition}}可用</td> <td> <span v-if="item2.accessType==1">抽奖</span> <span v-else></span> </td> <td>{{item2.acessDate}}</td> </tr> <tr v-if='item.couponAllotList.length==0'> <td colspan="6" align="center">暂无数据</td> </tr> </table> </div> <span style="cursor: pointer;color: #e95252;text-decoration: underline;" @click="getOrderDetail(item)" slot="reference">{{item.discountMoney}}</span> </el-popover> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder"> <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>金额</th> <th>类型</th> <th>描述</th> <th>时间(<span @click="goUrlHappy(item)" style="cursor: pointer;" colspan="4" align="center">查看更多</span>)</th> </tr> <tr v-for="(item2,index2) in redBagList" :key="index2"> <td>{{item2.Money}}</td> <td> {{item2.Type==1?"收入":"折扣"}} </td> <td>{{item2.Description}}</td> <td>{{item2.UpdateTime}}</td> </tr> <tr v-if='redBagList.length==0'> <td colspan="4" align="center">暂无数据</td> </tr> <tr> </tr> </table> </div> <span @click="getRedBag(item)" style="cursor: pointer;color: #e95252;text-decoration: underline;" slot="reference">{{item.redEnvelopeMoney}}</span> </el-popover> <span v-else style="cursor: pointer;color: #e95252;text-decoration: underline;">{{item.redEnvelopeMoney}}</span> </span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item.refund}}</span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item.platformTax}}</span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item.zaiTuMoney}}</span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder" :class="{color_red_order:item.dueInMoney!==item.preferPrice}">{{item.dueInMoney}}</span> <span v-else>******</span> </td> <td v-if="item.isChargeLossOrders==1" class="fz12" style="color: #e95252">收损</td> <td v-else class="fz12" :style="item.orderState===3?'color: #e95252;':''">{{item.statsstr}}</td> <td class="fz12"> <div v-if="item.orderState===3"> <span v-if="item.waitYNum>0" style="margin: 0 5px 0 0;">{{item.waitYNum}}(Y)</span> <span v-if="item.waitENum>0" style="margin: 0 5px 0 0;">{{item.waitENum}}(E)</span> <span v-if="item.waitFNum>0" style="margin: 0 5px 0 0;">{{item.waitFNum}}(F)</span> </div> </td> <td> <span v-if='item.confirmFileList.length>0' style="cursor:pointer" class="fz12 dowloadSpan" @click="downLoadFile(item.confirmFileList)"> 确认函下载 </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.contractNum.length==0"> <el-upload v-if='(item.confirmFileList.length==0&&item.isOwn==1)||IsSupperOrderEdit' :http-request="uploadFileBtn" :multiple="false" :show-file-list="false" action=""> <el-button size="small" type="danger" @click='getItem(item)'>上传</el-button> </el-upload> </template> </td> <td class="groupTourOrderIcon"> <el-button-group v-if='item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder'> <el-tooltip class="item" effect="dark" content="修改" placement="top-start"> <el-button v-if="(IsSupperOrderEdit || isUpdateOrder) || ( item.isOwn==1 &&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="修改备注" placement="top-start"> <el-button v-if="(IsSupperOrderEdit)|| item.isOwn==1" type="primary" style='background:#a55eea; border-color:#a55eea' icon="iconfont icon-beizhu" @click='getRemarks(item)'></el-button> </el-tooltip> <el-tooltip effect="dark" content="日志" placement="top-start" style="float:left"> <el-popover width='230' trigger="click"> <div class="priceContentDiv"> <div class="AuditLog">日志</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'>暂无数据</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="更多" placement="top-start" style="float:left"> <el-popover width='100' trigger="hover"> <div class="groupTourOrder_more"> <div @click="goUrlT('confirmationOrder',item.orderId)">确认函 {{item.operationState === 2 ? '(拒绝)' : item.operationState === 1 ? '(通过)' : item.operationState === 0 ? '(待审核)' : ''}} </div> <div v-if="isEditOrderCreate==1||IsSupperOrderEdit" @click="getSalerInfo(item)">修改业务员</div> <div v-if="item.isGuestOk=='1'&&item.outNotice==1" @click="toTrip(item)">出团通知书<span v-if="item.outNotice==1">(OK)</span><span v-else>(暂定)</span></div> <div v-if="item.orderState!='4'" @click="goUrlP('旅客名单','passengerSaleList',item)">旅客名单</div> <div v-if="item.isOrder=='1'&&(item.isHaveFinance=='1'||item.orderState=='1')" @click='getHouse(item)'>修改房型</div> <div v-if="item.isOrder=='1'&&item.orderState!='4' && TransferMission == true" @click="transfer(item)">订单转团</div> <div v-if="isUpdateOrder" @click='OPRemark(item),zhuanLoading = true,OPRemarkMsg.OrderId = item.orderId'>OP备注 </div> <div v-if="isUpdateOrderCommission" @click='TCMsg.OrderId = item.orderId, TCMsg.CommissionMinusRate = item.commissionMinusRate,TCMsg.LatestCommissionMoney=item.latestCommissionMoney, TiChengLoading = true'> 修改提成</div> <div v-if="isUpdateOrderCommission" @click='EwMsg.OrderId = item.orderId, EwMsg.ExtraRewardMoney = item.extraRewardMoney,EwMsg.ExtraDeductMoney=item.extraDeductMoney, OrderMoneyDialog = true'> 设置额外金额</div> <div v-if='(item.confirmFileList.length>0||item.contractNum.length>0) && ((item.receivableMoney - item.invoiceApplyTotal) > 0)' @click='goUrlAdd("invoicesManagerAdd", item.orderId, item.tcid, item.customerId)'>申请发票</div> <div v-if="item.orderState=='1'||item.orderState=='2'" @click='setChargeLoss(item)'> <span v-if="item.isChargeLossOrders==1">恢复收损单</span> <span v-else>设为收损单</span> </div> <div v-if="item.orderState==2" @click='Discount(item.tcid),SOMsg.OrderId = item.orderId,SOMsg.OrderUnitPrice = item.unit_Price'> 申请优惠</div> <div v-if="qjGroupId==userInfo.RB_Group_id || F_Finance_Create" @click='ShenQingPhoto(item)'> 申请照片</div> <div v-if="item.isOrder=='1'&&(item.orderState=='1'||item.orderState=='2'||item.orderState=='3')&& item.isCanClear==0" @click='deleteItem(item)'>取消</div> <div v-if="item.isOrder=='1'&&(item.orderState=='1'||item.orderState=='2'||item.orderState=='3') && item.isCanClear==1" title="如需取消订单清联系OP" style="color:red;"> 订单已确认,取消请联系OP </div> <div v-if="item.scoreNum >= 0" @click='goInvetig("investigationList", item.tcid, item.orderId)'> 查看旅客调查</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.isOwn==1&&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="16" class="RL_Order" style="height:20px"> <span class="RL-remarkTitle" v-if="item.guestList.length>0 && (item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder) ">名单:</span> <span class="RL-redType RL-remarkCon" v-if="item.guestList.length>0 && (item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder) "> <span v-for="(childItem) in item.guestList" style="color: blue">{{childItem.userName}}<span v-if="childItem.isApplyPhoto == 1" style="color:red">(照)</span> </span> <span v-if="item.photoNum>0">(照片一人 {{item.photoNum}}份)</span> </span> <p v-if="item.cancelGuestList && item.cancelGuestList.length>0"> <span class="">取消名单:</span> <span class="RL-redType RL-remarkCon"> <span style="color: red;" n v-for="(childItem, childIndex) in item.cancelGuestList" :key="childIndex">{{childItem.userName}} </span> </span> </p> <span style="display: block">房间信息<span v-if="item.oneSex>0" style="color: #e95252">({{item.oneSex==1?'单男':'单女'}})</span>: {{item.orderGuestHouseStr}} <el-popover trigger="click" popper-class="KT_Scenic"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class="_color_666" style="text-align:center;"> <th width="150">景点名称</th> <th width="60">人数</th> <th width="60">退款金额</th> </tr> <tr v-for="fItem in item.orderBackScenicList" style="text-align:center;"> <td style="text-align:left;">{{fItem.couponsName}}</td> <td>{{fItem.number}}</td> <td>{{fItem.backMoney}}</td> </tr> </table> <span slot="reference" v-if="item.orderBackScenicList&&item.orderBackScenicList.length>0" style="color:#f56c6c;margin-left:20px;cursor:pointer;">退景点</span> </el-popover> </span> <div> <span v-if="item.opTipMoney==''&&item.tipMoney!=''" style="color:red">(小费:{{item.tipMoney}})</span> <span v-if="item.opTipMoney!=''" style="color:red"> (小费:{{item.opTipMoney}}) <span>单据:</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 v-if="item.contractNum==''" class="GO_Contract" @click="goContract(item)" style="display:none;"> 领取合同</div> <div v-else class="GO_Contract" @click="goContract(item)" style="display:none;">{{item.contractNum}} </div> <div> <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}} </span> </template> </div> </div> </td> </tr> <tr> <td colspan="4" class="groupTourOrder_remarksBytuan" style="height: 40px;"> <div> <div style="width:95%;display:inline-block;"> <div style="color:red;"><span>备注时间:{{item.rematksTime}}</span></div> <div style="color:red;"> <p> 备注:<span v-if="item.tsIdList.length>0">投诉单号: <a class="underline" v-for="ts in item.tsIdList" href="javascript:void(0);" @click="goUrlTS('ComplaintsDetail',ts,item.orderId,'投诉详情')">{{ts}} </a> ; </span> <template> <template v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder"> <span v-if='item.clientSource==1&&item.brandName!=""'>{{item.brandName}}订单 {{item.platformOrder}};</span> {{item.remarks}} </template> </template> </p> </div> </div> <div style="float:right;text-align: right;font-size: 12px;color: #e95252;"> <el-popover width="600" placement="bottom-end" trigger="click"> <div class="groupTourOrder_remarks_popover"> <div>历史备注</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">暂无数据</span> </div> <el-button v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder" slot="reference" icon="iconfont icon-gengduo" style="padding:0px;border:none;background-color:transparent;" class="groupTourOrder_remarks_btn"></el-button> </el-popover> </div> </div> </td> <td colspan="4" class="groupTourOrder_remarksBytuan" style="height: 40px;"> <div> <div style="color:red;"> <span>OP备注:</span> <p>{{item.oP_Remarks ? item.oP_Remarks : '无'}}</p> </div> </div> </td> <td colspan="4" class="groupTourOrder_SpecialAPP" stysle="height: 40px;"> <div v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder"> 特价申请函: <template v-if="item.orderspecialofferId === 0"> <span class="font-color-blur">未申请</span> </template> <template v-else> <span class="font-color-red" v-if="item.orderspecialofferState === -1">拒绝</span> <span class="font-color-org" v-if="item.orderspecialofferState === 0">审批中</span> <span class="font-color-green" v-if="item.orderspecialofferState === 1">通过</span> </template> </div> <div class="font-color-red" v-if="item.orderspecialofferId !== 0"> 申请说明:<span>{{item.orderspecialofferApplyReason}}</span> </div> <div class="font-color-red" v-if="item.orderspecialofferId !== 0"> 审批说明:<span>{{item.orderspecialofferReason}}</span> </div> <div v-else>******</div> </td> <td colspan="4" class="groupTourOrder_tickets" style="height: 40px;"> <div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"> <div>收款单据:</div> <div> <span v-for="(item2,index2) in item.financeList" :key="index2"> <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;">暂无数据</span> </div> </div> <div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"> <div>付款单据:</div> <div> <span v-for="(item2,index2) in item.refundFinanceList" :key="index2"> <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;">暂无数据</span> </div> </div> <div> <div>发票单据:</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;">暂无数据</span> </div> </div> </td> </tr> </tbody> </template> <tbody v-show="list.length!==0"> <tr> <td></td> <td colspan="16" class="groupTourOrderByTuan_seat"> <div> <span>本团机位:</span> <span>{{tuanInfo.config&&tuanInfo.config&&tuanInfo.config.YSeat}}Y + {{tuanInfo.config&&tuanInfo.config.CSeat}}E + {{tuanInfo.config&&tuanInfo.config.FSeat}}F</span> </div> <div> <span>剩余机位:</span> <span> <template v-if="tuanInfo&&tuanInfo.config&&seat"> {{tuanInfo.config.YSeat-seat.YSeat >0 ? tuanInfo.config.YSeat-seat.YSeat:0}}Y + {{tuanInfo.config.CSeat-seat.CSeat>0?tuanInfo.config.CSeat-seat.CSeat:0}}E + {{tuanInfo.config.FSeat-seat.FSeat>0?tuanInfo.config.FSeat-seat.FSeat:0}}F </template> </span> </div> <div> <span>候补机位:</span> <span> <template v-if="tuanInfo&&tuanInfo.config&&seat"> {{tuanInfo.config.YSeat-seat.YSeat>0 ? 0 : seat.YSeat-tuanInfo.config.YSeat}}Y + {{tuanInfo.config.CSeat-seat.CSeat>0?0:seat.CSeat-tuanInfo.config.CSeat}}E + {{tuanInfo.config.FSeat-seat.FSeat>0?0:seat.FSeat-tuanInfo.config.FSeat}}F </template> </span> </div> <div> <span>参团:</span> <span>{{seat.joinGroupNum}}</span> </div> <div> <span>自由行</span> <span>{{seat.IndependentTravelCount}}</span> </div> <div> <span>单地接</span> <span>{{seat.NurseryGraftingCount}}</span> </div> <div> <span>单机票</span> <span>{{seat.SingleAirTicketCount}}</span> </div> <div> <span>领队:</span> <span>{{seat.leaderNum}}</span> </div> <div> <span>自备签:</span> <span>{{seat.ownVisaNum}}</span> </div> </td> </tr> </tbody> <!-- 取消订单 --> <tr v-if="cancelRtData!=null && cancelRtData.length>0"> <td colspan="17"> <span class="RL-redType" @click="isShowCancelOrder=!isShowCancelOrder" style="cursor:pointer" title="点击查看">取消订单(<span style="color:blue;">{{!isShowCancelOrder?"展开":"收起"}}</span>)</span> </td> </tr> <tbody v-if="isShowCancelOrder" v-for="(item,index) in cancelRtData" :key="index+1000"> <tr> <td rowspan="3" style="position:relative;"> <p v-if="item.isUnionOrder==1" class="GO_union">联</p> <p v-if="item.isChargeLossOrders==1" style="color:red">损</p> <p class="fbold over_ellipsis" style="width: 100%;" :title="item.orderId"> <span>{{item.orderId}}</span> <span style="font-weight: 100;cursor:pointer;" v-if="item.scoreNum >= 0" @click='goInvetig("investigationList", item.tcid, item.orderId)'>(评分{{item.scoreNum}})</span> <el-tooltip class="item" effect="dark" content="通过小程序确认单报名" 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="通过B2B确认单报名" placement="top" v-show="item.isFormB2B ==1"> <i class="iconfont icon-tiaozheng" style="font-size:22px;color:#297BEF;"></i></el-tooltip> </p> <div> {{item.createBy}}<br /><span v-if="item.leaveStr!=''" style="color:red">({{item.leaveStr}})</span> </div> <p class="fz12 over_ellipsis" style="width: 100%;"> {{item.commissionSPeopleName=='无'?'':item.commissionSPeopleName}}</p> <p>下单时间:{{item.createDate}}</p> <p v-if="item.tradeWay ==1">{{item.platformOrder}}</p> <template v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder"> <p v-if='item.commissionMoney' style="color:red">提成:{{item.commissionMoney}}</p> <p v-else-if="item.latestCommissionMoney" style="color:red">提成:{{item.latestCommissionMoney}}</p> </template> </td> <td> <p v-if='item.isOwn==1||IsSupperOrderEdit||IsLookOrder || isUpdateOrder' class="fz12 over_ellipsis" style="width: 120px;" :title="item.contactName">{{item.contactName}}</p> <p v-if='item.isOwn==1||IsSupperOrderEdit||IsLookOrder || isUpdateOrder' class="fz12"> {{item.contactMobile}}</p> <p v-if='item.isOwn==2&&!IsSupperOrderEdit&&!IsLookOrder&&isUpdateOrder==false'>*****</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> </td> <td style="color:#FF9C00"> <span>{{item.tC_Price}}</span> </td> <td style="color:#FF9C00"> <span v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder">{{item.unit_Price}}</span> <span v-else>*****</span> </td> <td> <p style="color:#FF9C00"> <span v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder">{{item.preferPrice}}</span> <span v-else>*****</span> </p> </td> <td> <el-popover style='padding: 0;' width="370" trigger="click"> <div class="personNolayer"> <table border="0" cellspacing="1" cellpadding="1"> <tr> <th>单据号</th> <th>金额</th> <th>类型</th> <th>状态</th> </tr> <tr v-if='orderList.length>0' v-for="(item2,index2) in orderList" :key="index2"> <td>{{item2.FrID}}</td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item2.PayMoney}}</span> <span v-else>******</span> </td> <td>{{item2.TypeName}}</td> <td>{{item2.StatusName}}</td> </tr> <tr v-if='orderList.length==0'> <td colspan="4" align="center">暂无数据</td> </tr> </table> </div> <span v-if='item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder' :style="{cursor: 'pointer',color:item.dueInMoney===0 ? '' : '#e95252' }" @click="getOrderDetail(item)" slot="reference">{{item.income}}</span> <span v-else>******</span> </el-popover> </td> <!-- 优惠 --> <td> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item.redEnvelopeMoney}}</span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item.refund}}</span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item.platformTax}}</span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder">{{item.zaiTuMoney}}</span> <span v-else>******</span> </td> <td> <span v-if="item.isOwn==1 || IsSupperOrderEdit || isUpdateOrder" :class="{color_red_order:item.dueInMoney!==item.preferPrice}">{{item.dueInMoney}}</span> <span v-else>******</span> </td> <td colspan="2" class="fz12" :style="item.orderState===3?'color: #e95252;':''"> {{item.statsstr}} <br /> <span style="color:red;" v-if="item.orderCancelDate!=''">{{item.orderCancelDate}}</span> </td> <td> <span v-if='item.confirmFileList.length>0' style="cursor:pointer" class="fz12 dowloadSpan" @click="downLoadFile(item.confirmFileList)"> 确认函下载 </span> <i v-if='item.confirmFileList.length>0&&item.commissionSharePeople !== userId' @click="deleteFile(item)" style="margin-left: 5px;" class="el-icon-error color999"></i> </td> <td class="groupTourOrderIcon"> </td> </tr> <tr style="height:20px"> <td colspan="16" class="RL_Order" style="height:20px"> <span class="RL-remarkTitle" v-if="item.guestList.length>0 && (item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder) ">名单:</span> <span class="RL-redType RL-remarkCon" v-if="item.guestList.length>0 && (item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder) "> <span v-for="(childItem) in item.guestList" style="color: blue">{{childItem.userName}}<span v-if="childItem.isApplyPhoto == 1" style="color:red">(照)</span> </span> <span v-if="item.photoNum>0">(照片一人 {{item.photoNum}}份)</span> </span> <p v-if="item.cancelGuestList && item.cancelGuestList.length>0"> <span class="">取消名单:</span> <span class="RL-redType RL-remarkCon"> <span style="color: red;" v-for="(childItem, childIndex) in item.cancelGuestList" :key="childIndex">{{childItem.userName}} </span> </span> </p> <span style="display: block">房间信息<span v-if="item.oneSex>0" style="color: #e95252">({{item.oneSex==1?'单男':'单女'}})</span>:{{item.orderGuestHouseStr}}</span> <span v-if="item.tipMoney" style="color:red">(小费:{{item.tipMoney}})</span> </td> </tr> <tr> <td colspan="5" class="groupTourOrder_remarksBytuan" style="height: 40px;"> <div> <div style="display:inline-block;width:95%;color:red;"><span>备注:</span> <p> <span v-if="item.tsIdList.length>0">投诉单号: <a class="underline" v-for="ts in item.tsIdList" href="javascript:void(0);" @click="goUrlTS('ComplaintsDetail',ts,item.orderId,'投诉详情')">{{ts}} </a> ; </span> <template> <template v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder"> <span v-if='item.clientSource==1&&item.brandName!=""'>{{item.brandName}}订单 {{item.platformOrder}};</span>{{item.remarks}} </template> </template> </p> </div> <div style="display:inline-block;"> <el-popover width="600" placement="bottom-end" trigger="click"> <div class="groupTourOrder_remarks_popover"> <div>历史备注</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">暂无数据</span> </div> <el-button v-if="item.isOwn==1||IsSupperOrderEdit||IsLookOrder||isUpdateOrder" slot="reference" icon="iconfont icon-gengduo" style="padding:0px;border:none;background-color:transparent;" class="groupTourOrder_remarks_btn"> </el-button> </el-popover> </div> </div> </td> <td colspan="5" class="groupTourOrder_remarksBytuan" style="height: 40px;"> <div> <div> <span>OP备注:</span> <p>{{item.oP_Remarks ? item.oP_Remarks : '无'}}</p> </div> </div> </td> <td colspan="6" class="groupTourOrder_tickets" style="height: 40px;"> <div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"> <div>收款单据:</div> <div> <span v-for="(item2,index2) in item.financeList" :key="index2"> <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;">暂无数据</span> </div> </div> <div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"> <div>付款单据:</div> <div> <span v-for="(item2,index2) in item.refundFinanceList" :key="index2"> <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;">暂无数据</span> </div> </div> <div> <div>发票单据:</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;">暂无数据</span> </div> </div> </td> </tr> </tbody> </table> </div> <el-dialog custom-class='w450' title="行程下载" :visible.sync="travelControlTripLayerShow" center> <tripDownLoadCommon ref="tripDownLoadCommon" :tripObj="tripObj" @headCallBack="hideTripDown" :downType="2"> </tripDownLoadCommon> </el-dialog> <div class="groupTourOrderByTuan_transfer" v-show="transferData.show"> <div class="transfer_header"> <div>订单转团</div> <div> <div @click="transferClose()">取消</div> <div @click="transferSave()">确定</div> </div> </div> <div class="transfer_info"> <div> <em>订单号:</em> <span>{{transferData.info.OrderId}}</span> </div> <div> <em>业务员:</em> <span>{{transferData.info.CreateByName}}</span> </div> <div> <em>团队编号:</em> <span>{{transferData.info.OldTCID}}</span> </div> <div> <em>团号:</em> <span>{{transferData.info.OldTCNUM}}</span> </div> </div> <div class="transfer_input"> <div> <em>团号:</em> <el-input v-model="transferData.info.TCNUM" placeholder="请输入团号或团队编号"></el-input> </div> </div> </div> <div class="combottomDiv" v-if="showChangeSales" style="height:200px;"> <updateSalesMan @closeUpdiv="closeSalseDiv" @getList="getList" :subInfo="subInfo"></updateSalesMan> </div> <!--修改OP备注--> <el-dialog custom-class='w350' title="修改OP备注" :visible.sync="zhuanLoading" center :before-close="initOPRemarkMsg"> <el-form label-width="110px"> <el-form-item label="OP备注:" class="w280"> <el-input type="textarea" :rows="2" v-model="OPRemarkMsg.OP_Remarks"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <button class="normalBtn" type="primary" @click="TransferDocuments">{{$t('pub.saveBtn')}}</button> <button class="hollowFixedBtn" @click="initOPRemarkMsg">{{$t('pub.cancelBtn')}}</button> </div> </el-dialog> <!--修改提成--> <el-dialog custom-class='w350' title="修改提成" :visible.sync="TiChengLoading" center :before-close="initTCMsg"> <el-form label-width="110px"> <el-form-item label="提成金额:" class="w280"> <el-input placeholder="请输入" type="number" v-model="TCMsg.LatestCommissionMoney"> </el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <button class="normalBtn" type="primary" @click="submitTCMsg">{{$t('pub.saveBtn')}}</button> <button class="hollowFixedBtn" @click="initTCMsg">{{$t('pub.cancelBtn')}}</button> </div> </el-dialog> <!--申请优惠--> <div class="productQuerybottomLayer ownScrollbarStyle" v-show="SpecialOffer" style="height: 150px;min-height:200px;"> <p>申请优惠 <span class="fr"> <input type="button" class="hollowFixedBtn" value="取消" @click="cancelSubmitRemarks()" /> <input type="button" class="normalBtn" value="保存" @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">订单当前单价</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;">审核人</em> <el-select placeholder="请选择" 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="申请理由" 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> <el-dialog custom-class='w350' title="修改订单额外金额" :visible.sync="OrderMoneyDialog" center> <el-form label-width="110px"> <el-form-item label="额外奖励金额:" class="w280"> <el-input placeholder="请输入" type="text" @keyup.native="checkPrice(EwMsg,'ExtraRewardMoney')" v-model="EwMsg.ExtraRewardMoney"> </el-input> </el-form-item> <el-form-item label="额外扣除金额:" class="w280"> <el-input placeholder="请输入" type="number" @keyup.native="checkPrice(EwMsg,'ExtraDeductMoney')" v-model="EwMsg.ExtraDeductMoney"> </el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <button class="normalBtn" type="primary" @click="submitEWMsg">{{$t('pub.saveBtn')}}</button> <button class="hollowFixedBtn" @click="OrderMoneyDialog=false">{{$t('pub.cancelBtn')}}</button> </div> </el-dialog> <a id='groupTourOrderByTuan_DownLoad' target="_blank" style="display:none">1不要删除</a> <el-dialog title="选择旅客" width="400px" :visible.sync="ShenQingPhotoShow" center :before-close="closeChangeMachie"> <div> <label><input type="checkbox" v-model="SQcheckdAll">全选</label> </div> <div> <label v-for="item in SQguestList"><input type="checkbox" v-model="item.check">{{item.userName}}({{item.sexStr}})</label> </div> <div class="needfenshu"> <label>需要份数:</label> <el-input type="number" v-model="SQPhotoNum" class="w200"></el-input> </div> <p style="color: red">注:每人每份5元</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> </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"; export default { data() { return { userInfo:{}, qjGroupId:-1, F_Finance_Create:false,//制单权限 IsSupperOrderEdit:false,//获取总经理副总经理超级修改权限 IsLookOrder:false,//出纳查看订单权限 //修改业务员权限,1-有 isEditOrderCreate: 0, redBagList: [], // 修改应收总额 Ysze: false, addMsg_form: {}, OPRemarkMsg: { OrderId: '', OP_Remarks: '', }, zhuanLoading: false, TiChengLoading: false, TCMsg: { OrderId: 0, CommissionMinusRate: 0, LatestCommissionMoney: '', }, OrderMoneyDialog: false, EwMsg: { OrderId: 0, ExtraRewardMoney: '', ExtraDeductMoney: '' }, checkedObj: {}, 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; } }, defaultImg: 'this.src="' + require("../../assets/img/litheader.png") + '"', travelControlTripLayerShow: false, tripObj: { tcid: 0, configId: 0, cityId: 0, orderId: 0 }, userId: "", customerId: "", createByInfo: "", isUpdateSharePeople: false, //修改订单提成 isUpdateOrderCommission: false, starTime: "", endTime: "", stratPrice: "", stratPriceShow: false, returnPrice: "", returnPriceShow: false, isAllowUpdate: 0, isPingtai: false, IsChildrenTour: 0, IsBirdDiscount: 0, SetOutCityId: 0, reOutCityId: 0, isShowLayer: false, isShowLayer2: false, isShowHouse: false, isShowLayerRemarks: false, loading: true, isChecked: true, comSelect: -1, OpSetLossPeople: 0, OpSetLossMoney: 0, remarksMsg: { OrderId: "0", OldRemarks: "", Remarks: "", //1-可以修改,0-不能修改【默认可以修改】 isOrder: 1 }, IsChargeLossOrders: 0, Unit_PriceList: [], //成交单价下拉数据 LessMoney: 0, addMsg: { GroupTypeNeedHouse: '0', OrderForm: '', 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: [], //景点新数组 OrderBackScenicList: [], GoCityTime: "", BackCityTime: "", CommissionSharePeople: "-1", CommissionShareMoney: "0", OneSex: 0, }, employeeMsg: { BranchId: "-1", IsLeave: 0 }, employeeList: [], rules: { CustomerType: [{ required: true, message: "请选择客户类型", trigger: "change" }], CustomerId: [{ required: false, message: "请选择客户门店", trigger: "change" }], DepartureCityId: [{ required: true, message: "请选择出发城市", trigger: "change" }], ReturnArriveCityId: [{ required: true, message: "请选择返回城市", trigger: "change" }], GroupType: [{ required: true, message: "请选择参团类型", trigger: "change" }], ClientSource: [{ required: true, message: "请选择客人来源", trigger: "change" }], TradeWay: [{ required: true, message: "请选择交易方式", trigger: "change" }], ContactName: [{ required: true, message: "请输入联系人姓名", trigger: "blur" }], ContactMobile: [{ required: true, message: "请输入联系人电话", trigger: "blur" }] }, rules2: { CustomerType: [{ required: true, message: "请选择客户类型", trigger: "change" }], CustomerId: [{ required: false, message: "请选择客户门店", trigger: "change" }], ClientSource: [{ required: true, message: "请选择客人来源", trigger: "change" }], TradeWay: [{ required: true, message: "请选择交易方式", trigger: "change" }], ContactName: [{ required: true, message: "请输入联系人姓名", trigger: "blur" }], ContactMobile: [{ required: true, message: "请输入联系人电话", trigger: "blur" }] }, RemarksRules: { Remarks: [{ required: true, message: "请输入备注信息", trigger: "blur" }] }, HightUnitPrice: '2', msg: { pageIndex: 1, pageSize: 10, LineId: "-1", LineteamId: "-1", TCNUM: "", tempOrderId: "", OutBranchId: "-1", OrderState: "-1", CustomerType: "-1", ContactName: "", CustomerId: "-1", GroupType: "-1", OrderSource: "-1", CStartDate: "", CEndDate: "", QStartDate: "", QEndDate: "", PayStatus: "-1" }, tuanMsg: { pageIndex: 1, pageSize: 1000, TCID: this.$route.query.id }, isUpdateOrder: false, cancelRtData: [], //返回数据 currentPage: 1, total: 0, startCityList: [], list: [], LineList: [], LineTeamList: [], memberList: [], logList: [], orderList: [], companyList: [], khlxList: [], ctlxList: [], ddlyList: [], ddztList: [], khmdList: [], ssptList: [], jyfsList: [], ScenicRefundList: [], PlatformAccountList: [], ScenicRefundMoney: 0, isShowCancelOrder: false, tuanInfo: {}, seat: { YSeat: 0, CSeat: 0, FSeat: 0, joinGroupNum: 0, leaderNum: 0, totalGuestNum: 0, ownVisaNum: 0 }, //支付 minpay: "0", //显示修改业务员 showChangeSales: false, 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 }, // 订单转团 transferData: { show: false, info: { OrderId: '', CreateByName: '', OldTCID: '', OldTCNUM: '', TCNUM: '' } }, IsUpdateOrderMoney: false, //订单编号及业务员信息 subInfo: { CreateBy: '', OrderId: 0 }, // 申请优惠的弹窗 SpecialOffer: false, SOMsg: { OrderId: '', ApplyPrice: 0, ApplyReason: '', UpdateBy: '', OrderUnitPrice: 0 }, SuperiorPeople: [], TransferMission: '', //订单转团 Unit_Price: 0, // 地接临时存值 goLVurl: { //跳转到旅客页面的参数 orderId: '', tcid: '', tcnum: '', isOrder: '', }, SciencNameList: [], ShenQingPhotoShow: false, SQguestList: [], SQcheckdAll: true, SQPhotoNum: '', SQOrderId: '' }; }, components: { payurlItem: payURL, payurlItem1: payURL1, tripDownLoadCommon: tripDownLoadCommon, updateSalesMan: updateSalesMan }, watch: { SQcheckdAll(val) { this.checkdAll(val) } }, 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; } }, methods: { SQPhoto() { let checkID = [] this.SQguestList.map(x => { if (x.check) { checkID.push(x.guestId) } }) if (checkID.length < 1) { this.$message.error('请选择旅客!') return } if (!this.SQPhotoNum) { this.$message.error('请输入份数!') 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('暂无旅客,请添加旅客后再尝试申请!') return } item.guestList.map(x => { x.check = true }) this.SQguestList = item.guestList this.SQOrderId = item.orderId this.ShenQingPhotoShow = true }, closeChangeMachie(done) { // 弹=窗口关闭 done(); }, // OP备注赋值 OPRemark(item) { this.apipost('sellorder_post_GetOrderEntity', { ID: item.orderId }, res => { if (res.data.resultCode == 1) { this.OPRemarkMsg.OP_Remarks = res.data.data.model.OP_Remarks; } else { this.$message.error(res.data.message); } }, null) }, gourlTip(path, id) { this.$router.push({ name: path, query: { id: id, blank: "y", } }); }, goUrlHappy(item) { 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 => { if (res.data.resultCode == 1) { this.redBagList = res.data.data.pageData; } else {} }, err => {}) } else { this.redBagList = []; } }, // 跳转调查列表 goInvetig: function (path, tcid, orderId) { this.$router.push({ name: path, query: { OrderId: orderId, TCID: tcid, blank: "y", } }); }, goIisDetail: function (id) { // 跳转发票详情页面 this.$router.push({ name: 'invoicesManagerDetail', query: { id: id, noDetail: 1, blank: "y", } }); }, // 申请发票 goUrlAdd: function (path, OrderId, TCID, customerId) { this.$router.push({ name: path, query: { OrderId: OrderId, TCID: TCID, customerId: customerId, blank: "y", } }); }, //跳转 goUrlTS(path, id, orderId, title) { this.$router.push({ name: path, query: { 'id': id, 'orderId': orderId, blank: 'y', tab: title } }) }, //是否可以修改成交单价 canEditUnitPrice() { let userInfo = this.getLocalStorage(); if (userInfo != null && userInfo.EmployeeId == 1) { this.isChecked = false; } }, maxCommissionMinusRate: function () { this.TCMsg.CommissionMinusRate = this.TCMsg.CommissionMinusRate.replace(/[^\.\d]/g, ''); this.TCMsg.CommissionMinusRate = this.TCMsg.CommissionMinusRate.replace('.', ''); if (this.TCMsg.CommissionMinusRate > 100) { this.TCMsg.CommissionMinusRate = 100 } }, 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 => {}) }, submitTCMsg: function () { this.apipost('sellorder_post_SetOrderCommission', this.TCMsg, res => { if (res.data.resultCode == 1) { this.$message.success(res.data.message) this.getList() this.initTCMsg() this.TiChengLoading = false } else { this.$message.error(res.data.message); } }, null) }, initTCMsg: function () { this.TiChengLoading = false this.TCMsg = { OrderId: 0, CommissionMinusRate: 0, LatestCommissionMoney: '' } }, //设置额外金额 submitEWMsg() { this.apipost('sellorder_post_SetOrderExtraMoney', this.EwMsg, res => { if (res.data.resultCode == 1) { this.Success(res.data.message) this.getList() this.OrderMoneyDialog = false } else { this.Error(res.data.message); } }, null) }, TransferDocuments: function () { this.apipost('sellorder_get_SetOrderOPRemarks', this.OPRemarkMsg, res => { if (res.data.resultCode == 1) { this.$message.success(res.data.message) this.getList() this.initOPRemarkMsg() this.zhuanLoading = false } else { this.$message.error(res.data.message); } }, null) }, initOPRemarkMsg() { this.OPRemarkMsg = { OP_Remarks: '', OrderId: '', } this.zhuanLoading = false }, 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) } }); }, getItem(obj) { this.checkedObj = obj }, deleteFile(obj) { this.$confirm('是否删除确认函?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', 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('取消删除'); }); }, uploadFileBtn(file) { //上传 let that = this let newArr = []; newArr.push(file.file) let path = "/Upload/Temporary/" this.$message.info('上传中...') 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("#groupTourOrderByTuan_DownLoad"); dom.href = obj[0].fullUrl; dom.click(); }, // 订单转团 transfer: function (item) { this.transferData.info.OrderId = item.orderId this.transferData.info.CreateByName = item.createBy this.transferData.info.OldTCID = item.tcid this.transferData.info.OldTCNUM = item.tcnum this.transferData.info.TCNUM = '' this.isShowLayer = false this.isShowLayer2 = false this.isShowHouse = false this.isShowLayerRemarks = false this.transferData.show = true }, transferClose: function () { this.transferData.show = false }, changeSelect: function () { this.$forceUpdate() }, transferSave: function () { if (this.transferData.info.TCNUM.trim() === '') { this.$message.error('请输入团号或团队编号') } else { this.apipost('sellorder_post_SetOrderTurnGroup', this.transferData.info, res => { if (res.data.resultCode === 1) { this.$message.success('转团成功') this.transferData.show = false this.getList() } else { this.$message.error(res.data.message) } }, err => {}) } }, toTrip: function (obj) { this.tripObj.tcid = obj.tcid; this.tripObj.configId = obj.configId; this.tripObj.orderId = obj.orderId; this.tripObj.cityId = obj.startCityId; 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('签证人数不能大于总人数') } }, 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('保险人数不能大于总人数') } }, // 获取统计数据 getCount: function () { this.apipost("sellorder_post_GetOrderListStatistics", this.tuanMsg, res => { if (res.data.resultCode == 1) { this.countData = res.data.data } else { this.$message.error("数据获取失败!"); } }, err => {}) }, getTuanInfo() { this.apipost( "travel_get_GetTravelConfigTCID", { TCID: this.$route.query.id, type: 1 }, res => { if (res.data.resultCode == 1) { this.tuanInfo = res.data.data; } }, err => {} ); }, deleteItem(obj) { if (obj.isCanClear == 1) { this.Error('OP已确认订单,如需取消请联系当团OP!'); return; } this.$confirm("是否取消?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }) .then(() => { this.apipost( "sellorder_post_RemoveOrder", { ID: obj.orderId }, res => { if (res.data.resultCode == 1) { this.$message.success("取消成功!"); this.getList(); } else { this.$message.error(res.data.message); } }, err => {} ); }) .catch(() => { this.$message.info("已取消!"); }); }, setChargeLoss(obj) { let confirmC = "确定设为收损单?"; if (obj.isChargeLossOrders == 1) { confirmC = "确定恢复收损单?"; } this.$confirm(confirmC, "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }) .then(() => { this.apipost( "sellorder_post_RemoveChargeLossOrders", { OrderId: obj.orderId }, res => { if (res.data.resultCode == 1) { this.$message.success("操作成功!"); this.getList(); } else { this.$message.error(res.data.message); } }, err => {} ); }) .catch(() => { this.$message.info("取消!"); }); }, 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 => {} ); } } }, goUrlT(path, id) { let routeData = this.$router.resolve({ name: path, query: { id: id } }); window.open(routeData.href, "_blank"); }, 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(); }, getScenicRefund(TCID, OrderId) { this.OrderId = OrderId; let msg = { TCID: TCID, OrderId: OrderId } this.apipost( "sellorder_get_GetScenicRefundList", msg, res => { if (res.data.resultCode == 1) { this.ScenicRefundList = res.data.data; this.getGOScenictWO(); } }, err => {} ); }, //勾选景点 getGOScenic(item) { item.IsChecked = !item.IsChecked; }, //勾选 getGOScenictWO() { this.addMsg.OrderBackScenicList = []; this.SciencNameList = []; this.ScenicRefundList.forEach(x => { if (x.IsChecked && x.Number > 0) { let obj = { CouponsId: x.CouponsId, IsChecked: x.IsChecked, BackMoney: x.BackMoney, Number: x.Number } this.SciencNameList.push(x.CouponsName); this.addMsg.OrderBackScenicList.push(obj); } }) }, //验证输入人数 CheckNum(item) { let TotalNum = parseInt(this.addMsg.ManNum) + parseInt(this.addMsg.ChirdNoNeedBedNum) + parseInt(this.addMsg.ChirdNeedBedNum) + parseInt(this.addMsg.BabyNum) + parseInt(this.addMsg.OldPeopleNum) + parseInt(this.addMsg.AirticketNum); if (item.Number > TotalNum) { this.Error('不能超过总人数'); item.Number = 0; } }, 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; }, // 给其他费用赋值 Yszefz() { this.Ysze = true; this.addMsg_form = Object.assign({}, this.addObj); }, // 修改应收总额 submitYSZEForm() { this.apipost("sellorder_post_SetOrderHistoryPrice", this.addMsg_form, res => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.Ysze = false; this.addObj = this.addMsg_form; this.getTotalPrice(); } else { this.Ysze = false; this.$message.error(res.data.message); } }, err => {} ); }, // 点击修改 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; //zk-点击修改清空景点 this.ScenicRefundList = []; this.SciencNameList = []; this.apipost( "sellorder_post_GetOrderEntity", { ID: obj.orderId }, res => { if (res.data.resultCode == 1) { this.isAllowUpdate = res.data.data.IsUpdatePlatOrder; let x = res.data.data.model; let modelPrice = res.data.data.modelPrice; this.addMsg = x; this.addObj = res.data.data.modelPrice; this.addObj.OrderId = x.OrderId; this.addObj.OpSetLossMoney = x.OpSetLossMoney; this.addMsg.OneSex = x.OneSex; this.addMsg.ScenicRefundArr = res.data.data.ScenicRefundArr; this.getScenicRefund(obj.tcid, obj.orderId); 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 ? x.IsIntermodal.toString() : 2; 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.addMsg.OrderBackScenicList = x.OrderBackScenicList; this.IsChildrenTour = x.IsChildrenTour; this.IsBirdDiscount = x.IsBirdDiscount; this.OpSetLossPeople = x.OpSetLossPeople; this.OpSetLossMoney = x.OpSetLossMoney; if (this.addMsg.GroupType == 4) { this.HightUnitPrice = '1' this.Unit_Price = x.Unit_Price } else { this.HightUnitPrice = '2' this.Unit_Price = this.addObj.SingleDMCPrice } 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; } if (this.addMsg.GroupType != 5) { this.isShowLayer = true; this.isShowLayer2 = false; } else { this.isShowLayer = false; this.isShowLayer2 = true; } this.addMsg.GroupTypeNeedHouse = String(x.GroupTypeNeedHouse) this.getKhmdList(this.addMsg.CustomerType, obj.lineId, this.addMsg.CreateBy, x.CustomerId); this.getDdlyList(this.addMsg.CustomerType); 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 => {}) 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.getHouseNo() } else {} }, 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, obj.orderId); 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.isShowLayer2 = 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.addMsg.CreateBy, x.CustomerId); this.getDdlyList(this.addMsg.CustomerType); } else { this.$message.error(res.data.message); } }, err => {} ); }, getRemarks(obj) { // 华国豪5-5新增 if (moment().format("YYYY-MM-DD") >= obj.startDate) { this.$confirm("该团目前已是结团状态,无法修改备注", "提示", { confirmButtonText: "确定", showCancelButton: false, type: "warning" }) .then(() => { return this.isShowLayerRemarks = true; this.isShowLayer = false; this.isShowLayer2 = false; this.$refs["addMsg"].resetFields(); this.clearMsg(); this.remarksMsg.OrderId = obj.orderId; this.remarksMsg.Remarks = obj.remarks; this.remarksMsg.OldRemarks = obj.remarks; }) .catch(() => { this.$message.info("已取消!"); }); } else { this.isShowLayerRemarks = true; this.isShowLayer = false; this.isShowLayer2 = false; this.$refs["addMsg"].resetFields(); this.clearMsg(); this.remarksMsg.OrderId = obj.orderId; this.remarksMsg.Remarks = obj.remarks; this.remarksMsg.OldRemarks = obj.remarks; } //HK 新加 if (this.IsSupperOrderEdit || IsLookOrder) { //todo } else { this.remarksMsg.isOrder = obj.isOrder; } }, getTypePrice() { this.addMsg.ContactName = ""; this.addMsg.ContactMobile = ""; if (this.addMsg.CustomerType == 1) { this.addMsg.TC_Price = this.addObj.B2BMemberPrice; //this.addMsg.CustomerId='' } if (this.addMsg.CustomerType == 2) { this.addMsg.TC_Price = this.addObj.B2BPrice; //this.addMsg.CustomerId='' } if (this.addMsg.CustomerType == 3) { this.addMsg.TC_Price = this.addObj.B2CMemberPrice; //this.addMsg.CustomerId=0 } if (this.addMsg.CustomerType == 4) { this.addMsg.TC_Price = this.addObj.B2CPrice; //this.addMsg.CustomerId=0 } this.Unit_PriceList = []; this.apipost('sellorder_post_GetLessPrice', {}, 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); } } else { var obj = { ID: '', LessMoney: '' } obj.ID = this.addMsg.Unit_Price; obj.LessMoney = this.addMsg.Unit_Price; this.Unit_PriceList.push(obj); } }, err => {}) }, getTicheng() { if (this.addMsg.GroupType != 5) { //提成 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"; } } } } else { this.addMsg.Commission = Number(this.addMsg.PreferPrice) * 0.01 } }, getHouseNo() { //算法:((成人+儿童占床数+老人-(三人房数量*3))-单房数)/2+单房数+三人房数量 8.7新增单地接儿童不占床 减去 儿童不占床 let etbzc = 0 if (this.addMsg.GroupType == 4) { etbzc = this.addMsg.ChirdNoNeedBedNum ? Number(this.addMsg.ChirdNoNeedBedNum) : 0 } 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.$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.addMsg.Unit_Price = this.addMsg.TC_Price return } if (this.addMsg.Unit_Price < this.addMsg.TC_Price) { this.$message.error('成交单价必须大于等于本团单价!') this.addMsg.Unit_Price = this.addMsg.TC_Price return } } if (this.addMsg.GroupType != 5) { this.addMsg.ChirdNum = this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1 if (this.addObj.IsBirdDiscount && 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 = (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.addMsg.Unit_Price * 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 = this.OpSetLossMoney + dandijie + lianyun + chengren + ertong + yinger + laoren + zafeiqianzhen + danfang + ertongbed - this.ScenicRefundMoney * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); } 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 = (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.addMsg.Unit_Price * 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 = this.OpSetLossMoney + dandijie + lianyun + chengren + ertong + yinger + laoren + zafeiqianzhen + danfang + ertongbed - this.ScenicRefundMoney * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)); } } else { this.addMsg.PreferPrice = Number(this.addMsg.YSeatNum) * Number(this.addMsg.Unit_Price) + this.OpSetLossMoney; } 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(); }, 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; } }); }, submitForm2(addMsg) { //提交创建、修改表单 this.$refs[addMsg].validate(valid => { if (valid) { this.saveOrder2(); } else { return false; } }); }, submitFormRematks(RemarksMsg) { //提交创建、修改表单 this.$refs[RemarksMsg].validate(valid => { if (valid) { this.apipost( "sellorder_post_SetOrderRemarks", this.remarksMsg, res => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.remarksMsg.Remarks = ""; this.remarksMsg.OrderId = "0"; this.remarksMsg.isOrder = 1; this.getList(); this.isShowLayerRemarks = false; } else { this.isShowLayerRemarks = false; this.$message.error(res.data.message); } }, err => {} ); } else { return false; } }); }, cancelSubmit() { this.isShowLayer = false; this.$refs["addMsg"].resetFields(); this.clearMsg(); }, cancelSubmit2() { this.isShowLayer2 = false; this.$refs["addMsg2"].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 = '' }, 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(); }, clearMsg() { this.addMsg.OrderId = "0"; this.addMsg.TCID = "0"; this.addMsg.IsIntermodal = "2"; this.addMsg.IsReturnIntermodal = "2"; this.addMsg.Unit_Price = "0"; this.addMsg.TC_Price = "0"; this.addMsg.ManNum = "0"; this.addMsg.ChirdNum = "0"; this.addMsg.ChirdNeedBedNum = "0"; this.addMsg.BabyNum = "0"; this.addMsg.OldPeopleNum = "0"; this.addMsg.SingleRoomNum = "0"; this.addMsg.PreferPrice = "0"; this.addMsg.YSeatNum = "0"; this.addMsg.ESeatNum = "0"; this.addMsg.FSeatNum = "0"; this.addMsg.Commission = "0"; this.addMsg.BrandId = ""; this.addMsg.TradeWay = "2"; this.addMsg.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() { //验证人数和机位数 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("人数和机位数不相等!"); return; } } if ( Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum) < Number(this.addMsg.VisaNum) ) { this.$message.warning("签证数量不能大于人数总和!"); return; } if ( Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum) < Number(this.addMsg.SafeNum) ) { this.$message.warning("保险数量不能大于人数总和!"); return; } if (Number(this.addMsg.ChirdNeedBedNum) > Number(this.addMsg.ChirdNum)) { this.$message.warning("儿童占床不能大于儿童数!"); return; } if ( Number(this.addMsg.ChirdNum) - Number(this.addMsg.ChirdNeedBedNum) + Number(this.addMsg.BabyNum) > Number(this.addMsg.ManNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.ChirdNeedBedNum) ) { this.$message.warning("儿童占床数量不足!"); return; } } 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 => {} ); }, saveOrder2() { //验证人数和机位数 if ( Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum) != Number(this.addMsg.YSeatNum) + Number(this.addMsg.ESeatNum) + Number(this.addMsg.FSeatNum) ) { this.$message.warning("人数和机位数不相等!"); return; } if ( Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum) < Number(this.addMsg.VisaNum) ) { this.$message.warning("签证数量不能大于人数总和!"); return; } if ( Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum) < Number(this.addMsg.SafeNum) ) { this.$message.warning("保险数量不能大于人数总和!"); return; } this.addMsg.TCID = this.addObj.TCID; this.addMsg.GuestNum = Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum) + Number(this.addMsg.AirticketNum); this.addMsg.IsChildrenTour = this.IsChildrenTour; this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount; this.apipost( "sellorder_post_SetOrderInfoForAirTicket", this.addMsg, res => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.$refs["addMsg2"].resetFields(); this.clearMsg(); this.getList(); this.isShowLayer2 = false; } else { this.isShowLayer2 = 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; } else {} }, 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 ); this.customerId = obj.customerId; this.createByInfo = obj.createByInfo; this.addMsg.ContactName = obj.customerName + "(" + obj.contact + ")"; this.addMsg.ContactMobile = obj.contactNumber; } 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, employeeId, CustomerId) { this.apipost( "app_today_visit_GetNewOrderMyCustomerList", { typeId: id, lineId: lineId, EmoloyeeId: employeeId, customerId: CustomerId }, 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_GetTCNUMOrderList", this.tuanMsg, res => { if (res.data.resultCode == 1) { this.loading = false; this.total = res.data.data.count; this.list = res.data.data.pageData.rtData; this.isUpdateOrder = res.data.data.pageData.isUpdateOrder this.IsUpdateOrderMoney = res.data.data.pageData.isUpdateOrderMoney this.isUpdateOrderCommission = res.data.data.pageData.isUpdateOrderCommission this.cancelRtData = res.data.data.pageData.cancelRtData[0].list; this.seat.YSeat = res.data.data.pageData.ySeatNum this.seat.CSeat = res.data.data.pageData.eSeatNum this.seat.FSeat = res.data.data.pageData.fSeatNum this.seat.joinGroupNum = res.data.data.pageData.joinGroupNum this.seat.leaderNum = res.data.data.pageData.leaderNum this.seat.ownVisaNum = res.data.data.pageData.ownVisaNum; //自由行 this.seat.IndependentTravelCount = res.data.data.pageData.independentTravelCount; //单地接 this.seat.NurseryGraftingCount = res.data.data.pageData.nurseryGraftingCount; //单机票 this.seat.SingleAirTicketCount = res.data.data.pageData.singleAirTicketCount; } else { this.Error(res.data.message); } }, err => {} ); this.getCount(); }, getLineList() { this.apipost("line_post_GetAllList", {}, 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 => {} ); }, 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 } }); }, //跳转至领取合同 goContract(item, sItem) { let routeData = this.$router.resolve({ name: 'TravelContractNew', query: { TCID: item.tcid, guestId: sItem.guestId, orderID: item.orderId, blank: 'y' } }) window.open(routeData.href, '_blank') }, goUrl(name, path, id, tcmun) { this.$router.push({ name: path, query: { id: id, tcmun: tcmun, blank: 'y', tab: name } }); }, 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.createBy; this.subInfo.OrderId = item.orderId; this.showChangeSales = true; }, //关闭修改业务员 closeSalseDiv() { this.showChangeSales = false; }, 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('请填写大于等于0的金额') // return // } var numReg = /^[0-9]+$/ var numRe = new RegExp(numReg) if (!numRe.test(this.SOMsg.ApplyPrice)) { this.$message.error('请输入数字') return } if (this.SOMsg.UpdateBy == '请选择' || this.SOMsg.UpdateBy == '') { this.$message.error('请选择审核人') return } if (this.SOMsg.ApplyReason == '') { this.$message.error('请填写申请理由') 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 = 0 } 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.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.CustomerId = '0' this.addMsg.CommissionShareMoney = '0' } this.addMsg.GroupTypeNeedHouse = '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 => {}) }, // 获取修改业务员权限 GetEditOrderCreateByAuth() { this.apipost('sellorder_get_GetEditOrderCreateByAuth', {}, res => { if (res.data.resultCode == 1) { this.isEditOrderCreate = res.data.data; } }, err => {}) }, // 获取总经理副总经理超级修改权限 GetSupperOrderEditAuth() { var actionCode = this.$AuthCode.SupperOrderEdit; var actionCodeNew = this.$AuthCode.F_Finance_Create; this.CheckUserAuth(actionCode, res => { if (res.data.resultCode == 1 && res.data.data == 1) { this.IsSupperOrderEdit = true; } }); this.CheckUserAuth(actionCodeNew, res => { if (res.data.resultCode == 1 && res.data.data == 1) { this.F_Finance_Create = true; } }); }, // 出纳查看订单权限 GetLookOrderAuth() { var actionCode = this.$AuthCode.LookOrder; this.CheckUserAuth(actionCode, res => { if (res.data.resultCode == 1 && res.data.data == 1) { this.IsLookOrder = true; } }); }, }, mounted() { this.qjGroupId=this.QjGroupId(); this.GetLookOrderAuth(); this.GetSupperOrderEditAuth(); 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; this.getEmployee(); this.getList(); this.getLineList(); this.getCompanyList(); this.getStartList(); this.getKhlxList(); this.getCtlxList(); this.getDdztList(); this.getJyfs(); this.getFylx(); this.getTuanInfo(); this.canEditUnitPrice(); } }; </script>