<style> .SalesHotelOrder .query-box{ border-bottom:0; } .SalesHotelOrder .SalesHotelOrderTable{ width: 100%; min-width: 1500px; font-size: 14px; color: #333; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-collapse: collapse; } .SalesHotelOrder .SalesHotelOrderTable th{ background: #e6e6e6; height: 30px; font-size: 12px; text-align: center; border-top: 1px solid #cccccc; border-left: 1px solid #cccccc; } .SalesHotelOrder .SalesHotelOrderTable tr td{ height: 60px; padding: 10px; background-color: #fff; text-align: center; border-top: 1px solid #cccccc; border-left: 1px solid #cccccc; } .SalesHotelOrder .SalesHotelOrderTable tbody tr:last-child{ border-bottom:2px solid #333; } .SalesHotelOrder .SH_beizhu{ float:left; } .SalesHotelOrder .SH_beizhuInner{ float:left; width:85%; } .SalesHotelOrder .SH_OrderDan>div{ display:inline-block; } .groupTourOrder_count { margin: 0 0 20px 0; width: 100%; height: auto; } .groupTourOrder_count_col { height: 80px; } .groupTourOrder_count_item { font-weight: 400; padding: 10px; height: 100%; border: 1px solid #E6E6E6; background-color: #FFFFFF; color: #333333; } .groupTourOrder_count_item>div>i { font-size: 12px; vertical-align: bottom; } .groupTourOrder_count_item>div>span:nth-child(2) { font-size: 14px; vertical-align: bottom; } .groupTourOrder_count_item>div>span:nth-child(3) { font-weight: bold; font-size: 16px; vertical-align: bottom; } .groupTourOrder_count_item>p { font-size: 12px; line-height: 18px; } .groupTourOrder_count_item>p>span { margin: 0 5px 0 0; white-space: nowrap; } .groupTourOrder_count_green { color: #1BC594; } .groupTourOrder_count_blue { color: #4D7AFD; } .groupTourOrder_count_yellow { color: #FF9C00; } .groupTourOrder_count_gray { color: #999999; } .HT_total span{ display: inline-block; margin:5px 10px 0 0!important; } .HT_totalFinacel span{ display: inline-block; margin:3px 5px 0 0!important; } .color_red_order { color: #e95252 !important; } .groupTourOrderByTuan_ico>i{ display: inline-block; margin: 0 2px 0 0; width: 8px; height: 8px; border-radius: 2px; vertical-align: middle; } .groupTourOrder_tickets_red { color: #FF0000; text-decoration: underline; cursor: pointer; } .groupTourOrder_tickets_blue { color: #0000FF; text-decoration: underline; cursor: pointer; } .groupTourOrder_tickets_green { color: #008000; text-decoration: underline; cursor: pointer; } .groupTourOrder_tickets_black { color: #000000; text-decoration: underline; cursor: pointer; } </style> <template> <div class="flexOne SalesHotelOrder"> <div class="query-box"> <ul> <li> <span> <em>{{$t('hotel.hotel_OrderStates')}}</em> <el-select v-model='msg.B2BSelectOrderState' filterable :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in orderStatus" :label='item.Name' :value='item.Id' :key='item.Id'> </el-option> </el-select> </span> </li> <!-- <li> <span> <em>公司</em> <el-select v-model="msg.RB_Branch_Id" placeholder="请选择公司" @change="getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0"> <el-option :value="-1" :label="$t('pub.unlimitedSel')"></el-option> <el-option v-for='item in CompanyList' :label='item.BName' :value='item.Id' :key='item.Id'> </el-option> </el-select> </span> </li> --> <!-- <li> <span> <em>部门</em> <el-select v-model="msg.RB_Department_Id" placeholder="请选择部门" @change="employeeMsg.DepartmentId = msg.RB_Department_Id,employeeMsg.BranchId=msg.RB_Branch_Id, getEmployee(), msg.CreateBy=0"> <el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option> <el-option v-for='item in DepartmentList' :label='item.DepartmentName' :value='item.DepartmentID' :key='item.DepartmentID'> </el-option> </el-select> </span> </li> <li> <span> <em>创建人</em> <el-select filterable v-model='msg.CreateBy'> <el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option> <el-option v-for='item in EmployeeList' :label='item.EmName' :value='item.EmployeeId' :key='item.EmployeeId'> </el-option> </el-select> </span> </li> --> <li> <span><em>{{$t('hotel.order_Number')}}</em> <el-input v-model='msg.ProductName' :placeholder="$t('pub.pleaseImport')"></el-input> </span> </li> <li> <span> <em>{{$t('salesModule.PlayTime')}}</em> <el-date-picker type="date" v-model="msg.StartTime" :picker-options="StartTimeBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker> </span> </li> <li> <span> <em>{{$t('salesModule.PlayOverTime')}}</em> <el-date-picker type="date" v-model="msg.EndTime" :picker-options="EndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker> </span> </li> <li> <span> <em>{{$t('salesModule.CreateTime')}}</em> <el-date-picker type="date" v-model="msg.CStartTime" :picker-options="CStartTimeBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker> </span> </li> <li> <span> <em>{{$t('salesModule.CreateOverTime')}}</em> <el-date-picker type="date" v-model="msg.CEndTime" :picker-options="CEndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker> </span> </li> <li> <input type="button" class="hollowFixedBtn" @click="resetPageIndex();getList()" :value="$t('pub.searchBtn')" /> </li> </ul> </div> <table class="SalesHotelOrderTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading"> <tr> <th>{{$t('hotel.order_Number')}}</th> <th>{{$t('salesModule.ThirdOrderNum')}}</th> <th>{{$t('admin.admin_personNumber')}}</th> <th>{{$t('sm.zonge')}}</th> <th>{{$t('fnc.shishou')}}</th> <th>{{$t('salesModule.BigBag')}}</th> <th>{{$t('sm.youhuijine')}}</th> <th>{{$t('Operation.Op_daishou')}}</th> <th>{{$t('hotel.hotel_OrderStates')}}</th> <th>{{$t('fnc.cjshijian')}}</th> <th>{{$t('scen.sc_etTime')}}</th> <th>{{$t('salesModule.CancelFee')}}</th> <th>{{$t('fnc.khxinxi')}}</th> <th>{{$t('active.cl_addPp')}}</th> <th>{{$t('MarketingActi.endTime')}}</th> <th>{{$t('system.table_operation')}}</th> </tr> <tbody v-for="(item,index) in dataList"> <tr> <td style="border-bottom:2px solid #333" rowspan="2">{{item.OrderID}}</td> <td>{{item.ThirdOrderNo}}</td> <td>{{item.Number}}</td> <td>{{item.TotalPrice}}</td> <td>{{item.Income}}</td> <td>{{item.RedEnvelopeMoney}}</td> <td>{{item.DiscountMoney}}</td> <td>{{item.DueinMoney}}</td> <td> <span :class="item.OrderStatus=='已取消'?'color_red_order':''">{{item.OrderStatus}}</span> </td> <td>{{item.CreateDateStr}}</td> <td>{{item.CheckInStr}}</td> <td>{{item.CancelFee}}</td> <td>{{item.CustomerName}}/{{item.CustomerPhone}}</td> <td>{{item.CreateByStr}}</td> <td>{{item.EndTime}}</td> <td> <el-row> <el-button-group> <el-tooltip class="item" effect="dark" :content="$t('fnc.fukuan')" placement="top-start" v-if="item.OrderStatus!=='已取消'"> <el-button type="primary" icon="iconfont icon-fukuan2" @click="getShouKuan(item)" ></el-button> </el-tooltip> <el-tooltip class="item" effect="dark" :content="$t('sm.exitOrder')" placement="top-start" v-if="item.OrderStatus!=='已取消'"> <el-button type="info" v-if="item.IsCanOrder == 0" icon="iconfont icon-quxiao1" @click="Exit(item)"></el-button> </el-tooltip> <el-tooltip class="item" effect="dark" :content="$t('pub.sureBtn')" placement="top-start" v-if="item.OrderStatus!=='已取消'"> <el-button type="success" icon="iconfont icon-duigou" v-if="item.IsCanClear == 0" @click="queren(1, item.OrderID)" ></el-button> </el-tooltip> <el-tooltip class="item" effect="dark" :content="$t('sm.exitsure')" placement="top-start" v-if="item.OrderStatus!=='已取消'"> <el-button type="info" icon=" iconfont icon-quxiao1" v-if="item.IsCanClear == 1" @click="queren(0, item.OrderID)"></el-button> </el-tooltip> <!-- <el-tooltip class="item" effect="dark" content="关联团" placement="top-start"> <el-button type="warning" icon="iconfont icon-guanlian" @click="TCID = '',GLOrderID = item.OrderID,dialogFormVisible = true"></el-button> </el-tooltip> --> <el-tooltip class="item" effect="dark" :content="$t('fnc.xiangqing')" placement="top-start"> <el-button type="success" icon="iconfont icon-sousuo" @click="goOrderDetails(item.OrderID)"></el-button> </el-tooltip> </el-button-group> </el-row> </td> </tr> <tr> <td colspan="7" style="text-align:left;width:600px"> <div class="clearfix"> <div class="SH_beizhu" style=""> {{$t('pub.pubRemark')}}: </div> <div class="SH_beizhuInner"> {{item.Remark}} </div> </div> </td> <td colspan="9" style="text-align:left;width:600px"> <div class="SH_OrderDan"> <div>{{$t('fnc.skdanju')}}:</div> <div> <span v-for="subItem in item.FinanceList"> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span> </span> <span v-if="item.FinanceList==0">{{$t('system.content_noData')}}</span> </div> </div> <div class="SH_OrderDan"> <div>{{$t('fnc.fkdanju')}}:</div> <div> <span v-for="subItem in item.RefundFinanceList"> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span> <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span> </span> <span v-if="item.RefundFinanceList==0">{{$t('system.content_noData')}}</span> </div> </div> </td> </tr> </tbody> </table> <div class="noDataNotice" v-if="dataList.length<1"> <i class="iconfont icon-kong"></i> <p>{{$t("active.ld_noData")}}</p> </div> <el-dialog title="请选择团号" width="400px" :visible.sync="dialogFormVisible" center :before-close="closeChangeMachie"> <el-form label-width="110px"> <el-form-item :label="$t('visa.v_tuanhao')"> <el-select v-model="TCID" filterable remote reserve-keyword :placeholder="$t('pub.pleaseImport')" :remote-method="remoteMethodTCNum" :loading="loading2"> <el-option v-for="item in searchList" :key="item.TCID" :label="item.TCNUM" :value="item.TCID"> <span style="float: left">{{ item.TCNUM }}</span> </el-option> </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click="dialogFormVisible=false,GLOrderID = ''">{{$t('pub.cancelBtn')}}</button> <button class="normalBtn" type="primary" @click="querenGL">{{$t('pub.sureBtn')}}</button> </div> </el-dialog> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total> </el-pagination> <el-dialog title="取消订单" width="400px" :visible.sync="dialogFormVisible"> <el-form :model="exitMsg" label-width="80px"> <el-form-item :label="$t('sm.exitType')"> <el-select size="small" v-model="exitMsg.cancel_type" :placeholder="$t('sm.qxzqxlx')"> <el-option :label="$t('sm.xingchengbghqx')" value="MC001"></el-option> <el-option :label="$t('sm.chongfuOrder')" value="MC002"></el-option> <el-option :label="$t('sm.Priceyy')" value="MC003"></el-option> <el-option :label="$t('sm.gerenys')" value="MC004"></el-option> <el-option :label="$t('sm.jiaotongys')" value="MC005"></el-option> <el-option :label="$t('sm.jiaotongys')" value="MC006"></el-option> <el-option :label="$t('active.cl_qita')" value="MC999"></el-option> </el-select> </el-form-item> <el-form-item :label="$t('sm.exityy')" > <el-input v-model="exitMsg.cancel_desc" autocomplete="off" type="textarea" :rows="2"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button size="small" @click="dialogFormVisible = false">{{$t('pub.cancelBtn')}}</el-button> <el-button size="small" type="danger" @click="ExitOrder">{{$t('pub.sureBtn')}}</el-button> </div> </el-dialog> </div> </template> <script> export default { data() { return { dialogFormVisible:false, exitMsg:{ orderId:'', cancel_type:"", cancel_desc:"", CancelBy:'', }, msg: { pageIndex:1, pageSize:10, B2BSelectOrderState:0, RB_Branch_Id:-1, RB_Department_Id:0, CreateBy:0, ProductName:'', StartTime:'', EndTime:'', CStartTime:'', CEndTime:'' }, TCID: '', GLOrderID: '', total:0, currentPage: 1, loading:false, StartTimeBefore: { disabledDate: time => { if (this.msg.EndTime == null) { return false; } else { let endTime = new Date(this.msg.EndTime) return endTime.getTime() < time.getTime() } } }, EndTimeAfter: { disabledDate: time => { let startTime = new Date(this.msg.StartTime) return startTime.getTime() >= time.getTime() } }, CStartTimeBefore: { disabledDate: time => { if (this.msg.CEndTime == null) { return false; } else { let endTime = new Date(this.msg.CEndTime) return endTime.getTime() < time.getTime() } } }, CEndTimeAfter: { disabledDate: time => { let startTime = new Date(this.msg.CStartTime) return startTime.getTime() >= time.getTime() } }, orderStatus:[{ Name:'全部', Id:0 },{ Name:'待支付', Id:1 },{ Name:'交易完成', Id:2 },{ Name:'取消', Id:3 }], dataList: [], getCompanyMsg:{ // 公司 RB_Group_Id:'0', Status:'0', }, getDepartmentMsg:{// 部门 RB_Group_Id:'', RB_Branch_Id:'', Status:0, ParentId:-1, Tier:0, }, employeeMsg:{ // 员工 GroupId:'', BranchId:-1, DepartmentId:0, PostId:0, IsLeave:0, }, CompanyList:[], DepartmentList:[], EmployeeList:[], searchList: [], loading2: false, dialogFormVisible: false, }; }, methods: { Exit(item){ let userInfo = this.getLocalStorage(); this.dialogFormVisible=true; this.exitMsg.orderId=item.OrderID; this.exitMsg.CancelBy=userInfo.EmployeeId; }, ExitOrder(){ if(this.exitMsg.cancel_type==""){ this.Error("请选择取消类型!"); return; } this.apipost( "dmc_post_Get_KKDayOrderCancel", this.exitMsg, res => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.$emit('queryDays') this.exitMsg={ orderId:'', cancel_type:"", cancel_desc:"", CancelBy:'', }; } else { this.$message.error(res.data.message); } this.dialogFormVisible=false; }, null ); }, GotoUrl(TCNUM) { this.$router.push({ path: "TravelControlList", query: { tcmun: TCNUM, blank: 'y', tab: "团控查询", } }); }, querenGL(){ this.apipost("dmc_post_get_RelevanceTCID",{ TCID: this.TCID, OrderID: this.GLOrderID },res => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.getList(); this.dialogFormVisible = false } },err => {}); }, closeChangeMachie(done) { // 弹=窗口关闭 done(); }, remoteMethodTCNum(query) { if (query !== ''||this.addShow) { this.loading2 = true; this.apipost("InvoiceApply_get_GetPriceList",{ TCNUM:query },res => { if (res.data.resultCode == 1) { this.searchList = res.data.data; this.loading2 = false; } },err => {}); } else { this.searchList = []; this.loading2 = false; } }, queren(type, OrderID){ let text = type == 1 ? '确认后,订单不会自动取消' : '取消后,订单会自动取消' this.$confirm(text, this.$t('tips.tips'), { confirmButtonText: this.$t('pub.sureBtn'), cancelButtonText: this.$t('pub.cancelBtn'), type: 'warning' }).then(() => { this.apipost('KKDayOrder_Post_UpdateOrderCanClear',{OrderID: OrderID, IsCanClear: type},res=>{ if(res.data.resultCode==1){ this.Success(res.data.message); this.getList(); }else{ this.Error(res.data.message); } },err=>{}) }).catch(() => { this.$message({ type: 'info', message: this.$t('ios.yi') + this.$t('pub.cancelBtn') }); }); }, goOrderDetails(ID){ this.$router.push({ name: 'freeTravelOrderStatiDetails', query: { ID: ID, blank:'y', } }) }, getList() { //获取列表 this.loading = true; this.apipost( "sellorder_post_GetAllKKDayOrderList", this.msg, res => { this.loading = false; if (res.data.resultCode == 1) { this.dataList = res.data.data.pageData; this.total = res.data.data.count; let userInfo = this.getLocalStorage(); let EmployeeId = userInfo.EmployeeId; this.dataList.forEach(x=>{ if((x.CreateBy == EmployeeId ||EmployeeId == 1 || EmployeeId == 5) && x.IsCanOrder == 0){ x.ShowBtn = true; }else{ x.ShowBtn = false; } }) } else { this.Error(res.data.message); } }, err => {} ); }, handleCurrentChange(val) { this.msg.pageIndex = val; this.getList(); }, resetPageIndex() { this.msg.pageIndex = 1; this.currentPage = 1 }, getCompanyList: function () { //获取公司列表 this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{ if(res.data.resultCode==1){ this.CompanyList=res.data.data; }else{} },err=>{}) }, getDepartment: function () { //获取部门列表 this.apipost('admin_get_DepartmentGetList', this.getDepartmentMsg, res => { if(res.data.resultCode == 1) { this.DepartmentList = res.data.data; } }, err => {}) }, getEmployee() { //员工 this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => { if(res.data.resultCode == 1) { this.EmployeeList = res.data.data; } }, err => {}) }, //点击取消操作 cancelHTorder(ThirdOrderNo){ let userInfo = this.getLocalStorage(); let EmployeeId = userInfo.EmployeeId; let msg ={ bookingNumber:ThirdOrderNo, CancelBy:EmployeeId, CancelType:1 } this.apipost( "dmc_post_Get_GetJAPAN_GetJAPAN_ReservationCancallation", msg, res => { if (res.data.resultCode == 1) { this.Success('取消成功'); this.getList(); } else { this.Error(res.data.message); } }, null ); }, //点击收款 getShouKuan(obj){ let TCIDARR = obj.TCID ? [obj.TCID] : []; let orderObj = { OrderID:obj.OrderID, OrderSource: 15, Obj: {}, SourceID:null, TCIDList: TCIDARR } this.$router.push({ name: 'ChoiceAddFinancialDocuments', query:{ "Type":1, "companyID":obj.RB_Branch_id, "path": "", 'blank':'y', 'orderObj':JSON.stringify(orderObj), 'tradeWay':1, 'platformAccount':0 } }); }, //跳转财务单据 goUrlFinacel: function(name, path, id) { this.$router.push({ name: path, query: { id: id, blank: "y", tab: name } }); } }, mounted() { let userInfo=this.getLocalStorage(); this.getCompanyMsg.RB_Group_Id = userInfo.RB_Group_id; //集团 this.getDepartmentMsg.RB_Branch_Id = userInfo.RB_Branch_id; //公司 this.msg.CreateBy = userInfo.EmployeeId; // this.getCompanyList() // this.getDepartment() // this.getEmployee() this.getList(); } }; </script>