<style> .SupplierTable td { padding: 0 5px; text-align: center !important; } .SupplierTable .linkStr { color: blue; text-decoration: underline; cursor: pointer; } </style> <template> <div class="flexOne SupplierHandeFee"> <div class="query-box"> <ul class="user_time_picker"> <li> <span> <em>月份</em> <el-date-picker v-model="msg.QMonthStr" type="month" value-format="yyyy-MM" :placeholder="$t('ground.xuanzenian')"> </el-date-picker> </span> </li> <li> <span> <em>供应商</em> <el-select filterable v-model="msg.Supplier"> <el-option :label="$t('system.ph_buxian')" :value="0"></el-option> <el-option v-for="(item,index) in SupplierList" :key="index" :label="item.Name" :value="item.ID"> </el-option> </el-select> </span> </li> <li> <span> <em>团状态</em> <el-select v-model="msg.IsSetOut"> <el-option label="正常发团" :value="0"></el-option> <el-option label="取消发团" :value="1"></el-option> </el-select> </span> </li> <li> <input type="button" class="hollowFixedBtn" value="查询" @click="getSearch()"> <input type="button" class="normalBtn" value="下载" @click="DownLoadFile()"> </li> </ul> </div> <div class="clearfix"></div> <table class="singeRowTable SupplierTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading"> <tr> <th width="130">做账主体</th> <th width="180">团号</th> <th width="150">手配定团号</th> <th width="80">订单人数</th> <th width="100">单价(日元)</th> <th width="300">泊数/日期</th> <th width="120">小计(日元)</th> <th width="100">汇率</th> <th width="100">小计(人民币)</th> <th width="150">单号</th> <th width="80">生成单据</th> </tr> <tbody v-for="(item,index) in dataList" :key="index"> <template v-for="(subItem,subIndex) in item.SubList"> <tr :key="subIndex"> <td>{{subItem.OutBranchName}}</td> <td><span class="linkStr" @click="gotoDmcTable(subItem)"> {{subItem.TCNUM}}({{subItem.TCID}}) </span> </td> <td v-if="subIndex==0" :rowspan="item.SubList.length"> <span class="linkStr" @click="gotoDmcTable(subItem)"> {{item.DMCNum}} </span> </td> <td> <span class="linkStr" @click="goUrlT(subItem)"> {{subItem.GuestNum}} </span> </td> <td>{{subItem.UnitPrice}}</td> <td style="text-align:left!important;"> <span style="color:red;">{{subItem.DayCount}}泊</span> <br /> {{subItem.UseTime}} </td> <td>{{subItem.SubtotalMoney}}</td> <td> <template v-if="subItem.Frids!=''">{{subItem.Rate}}</template> </td> <td> <template v-if="subItem.Frids!=''"> {{subItem.RMBMoney}}</template> </td> <td> <a v-if="subItem.Frids!=''" class="linkStr" @click="goFncUrl(subItem.Frids)">{{subItem.Frids}}</a> </td> <td v-if="subIndex==0" :rowspan="item.SubList.length"> <el-tooltip class="item" effect="dark" content="生成单据" placement="top-start"> <el-button type="success" icon="el-icon-check" circle @click="CreateSupplierBill(item)"></el-button> </el-tooltip> </td> </tr> </template> </tbody> <tfoot v-if="dataList.length>0"> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td> <template v-if="totalJap>0"> 合计:{{totalJap}} </template> </td> <td></td> <td> <template v-if="rmbTotal>0"> 合计:{{rmbTotal}} </template> </td> <td></td> <td></td> </tr> </tfoot> </table> <div class="noDataNotice" v-if="dataList.length<1"> <i class="iconfont icon-kong"></i> <p>{{$t("active.ld_noData")}}</p> </div> <el-pagination background @current-change="handleCurrentChange" v-if="dataList.length>0" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size="msg.PageSize" :total="total"></el-pagination> </div> </template> <script> export default { data() { return { userInfo: {}, //用户信息 //请求 msg: { QMonthStr: "", Supplier: 0, PageIndex: 1, PageSize: 15, IsSetOut: 0, //0-正常发团,1-取消发团 }, loading: false, currentPage: 1, total: 0, dataList: [], //供应商 SupplierList: [], totalJap: 0, rmbTotal: 0 } }, mounted() { this.userInfo = this.getLocalStorage(); this.initSupplier(); }, filters: {}, methods: { goUrlT(item) { this.$router.push({ name: "RegistrationList", query: { "id": item.TCID, blank: 'y', tab: "报名清单" } }) }, goFncUrl(frid) { this.$router.push({ name: "FinancialDocumentsDetail", query: { id: frid, blank: "y", tab: "单据详情" } }); }, gotoDmcTable(item) { this.$router.push({ name: "dmcTotalTable", query: { TCNUM: item.TCNUM, blank: "y", tab: "详情" } }); }, //生成手配费单据 CreateSupplierBill(item) { var that = this; this.Confirm("是否要生成财务单据?", function () { that.loading = true; that.apipost("dmcstatistics_get_CreateDmcSupplierHotelBillService", { TCID: item.TCIDS, Supplier: that.msg.Supplier, QMonthStr: that.msg.QMonthStr, IsSetOut: that.msg.IsSetOut, }, res => { that.loading = false; if (res.data.resultCode == 1) { that.Success('生成单据成功!'); that.getList(); } else { that.Error(res.data.data); } }, null); }); }, //报价单下载 DownLoadFile() { if (this.msg.QMonthStr == '' || this.msg.QMonthStr == null) { this.Error('请选择月份'); return; } if (this.msg.Supplier == 0) { this.Error('请选择供应商'); return; } var SupplierName = '' this.SupplierList.forEach(x => { if (this.msg.Supplier == x.ID) { SupplierName = x.Name } }) var fileName = SupplierName + this.msg.QMonthStr + ".xls"; this.loading = true; this.GetLocalFile("dmc_get_DowmLoadDmcSupplierHote", this.msg, fileName, res => { this.loading = false; }); }, //点击查询 getSearch() { if (this.msg.QMonthStr == '' || this.msg.QMonthStr == null) { this.Error('请选择月份'); return; } if (this.msg.Supplier == 0) { this.Error('请选择供应商'); return; } this.msg.PageIndex = 1; this.getList(); }, //获取数据 getList() { this.loading = true; this.apipost( 'dmcstatistics_get_GetDmcSupplierHotelPageListService', this.msg, res => { this.loading = false; if (res.data.resultCode == 1) { this.dataList = res.data.data.pageData; this.total = res.data.data.count; this.totalJap = 0; this.rmbTotal = 0; this.dataList.forEach(x => { x.SubList.forEach(y => { this.totalJap += y.SubtotalMoney; this.rmbTotal += y.RMBMoney; }) }) } else { this.Error(res.data.message); } }, err => {} ) }, handleCurrentChange(val) { this.msg.PageIndex = val; this.getList(); }, // 获取供应商 initSupplier() { var qCountry = 0; if (this.userInfo.RB_Group_id == 2) { qCountry = 651; } if (this.userInfo.RB_Group_id == 91) { qCountry = 1252; } this.apipost("supplier_post_GetAllList", { Type: 1, Country: qCountry, //日本供应商 }, res => { if (res.data.resultCode === 1) { this.SupplierList = res.data.data; } }, err => {}); }, } }; </script>