|
@@ -10,21 +10,24 @@
|
|
|
<div style="width: 2%;"></div>
|
|
|
<div><el-button type="primary" @click="historyCarSearch">搜索</el-button></div>
|
|
|
</div>
|
|
|
- <br/>
|
|
|
+ <br />
|
|
|
<!-- @current-change="" -->
|
|
|
- <el-table @current-change="historyCarChange" highlight-current-row border :data="historyCarData.slice((currentPage - 1) * pageSize, currentPage * pageSize)">
|
|
|
+ <el-table @current-change="historyCarChange" highlight-current-row border
|
|
|
+ :data="historyCarData.slice((currentPage - 1) * pageSize, currentPage * pageSize)">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-table-column v-for="(item,index) in historyCarCloumns" :property="item.value" :label="item.label" :key="item.value"></el-table-column>
|
|
|
+ <el-table-column v-for="(item, index) in historyCarCloumns" :property="item.value"
|
|
|
+ :label="item.label" :key="item.value"></el-table-column>
|
|
|
</template>
|
|
|
</el-table>
|
|
|
<div class="btn-dialog-cost">
|
|
|
<el-button size="small" @click="historyCarYes" type="primary">采用历史的行程数据</el-button>
|
|
|
|
|
|
- <el-button @click="historyCarDialog = false; historyCarSelectObject = {}" size="small">采用现有的自定义数据</el-button>
|
|
|
+ <el-button @click="historyCarDialog = false; historyCarSelectObject = {}"
|
|
|
+ size="small">采用现有的自定义数据</el-button>
|
|
|
</div>
|
|
|
<div class="block">
|
|
|
<el-pagination align='center' @current-change="handleCurrentChange" :current-page="currentPage"
|
|
|
- :page-sizes="[5,7,10,20]" :page-size="pageSize" layout="total, sizes, prev, pager, next"
|
|
|
+ :page-sizes="[5, 7, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next"
|
|
|
@size-change="handleSizeChange" :total="historyCarData.length">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
@@ -44,67 +47,67 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog width="80%" title="酒店询价数据" :visible.sync="dialogTableVisibleXJ">
|
|
|
- <el-table :data="tableDatas" border
|
|
|
- >
|
|
|
- <el-table-column type="index" label="选中" width="55">
|
|
|
+ <el-table :data="tableDatas" border>
|
|
|
+ <el-table-column type="index" label="选中" width="55">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-checkbox :value='checkboxsXJ.includes(scope.row.id)' @change='CheckboxChangeXJ(scope.row.id)'></el-checkbox>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="city" label="城市" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="酒店名称">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="checkInDate" label="入住日期" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.checkInDate|filter_time}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="checkOutDate" label="退房日期" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.checkOutDate|filter_time}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="selectDt" label="查询时间" width="150">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createTime" label="SGR(价格/币种/数量)" width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.singlePrice|townum}} / {{scope.row.singleCurrency}} / {{scope.row.singleQuantity}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createTime" label="TBR(价格/币种/数量)" width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.doublePrice|townum}} / {{scope.row.doubleCurrency}} / {{scope.row.doubleQuantity}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createTime" label="JS/ES(价格/币种/数量)" width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.suitePrice|townum}} / {{scope.row.suiteCurrency}} / {{scope.row.suiteQuantity}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createTime" label="SUITE(价格/币种/数量)" width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.otherPrice|townum}} / {{scope.row.otherCurrency}} / {{scope.row.otherQuantity}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createUserName" label="查询人" width="80">
|
|
|
- </el-table-column>
|
|
|
- <!-- <el-table-column prop="remark" label="备注">
|
|
|
+ <el-checkbox :value='checkboxsXJ.includes(scope.row.id)'
|
|
|
+ @change='CheckboxChangeXJ(scope.row.id)'></el-checkbox>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="city" label="城市" width="120">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="酒店名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="checkInDate" label="入住日期" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.checkInDate | filter_time }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="checkOutDate" label="退房日期" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.checkOutDate | filter_time }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="selectDt" label="查询时间" width="150">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="SGR(价格/币种/数量)" width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.singlePrice | townum }} / {{ scope.row.singleCurrency }} / {{ scope.row.singleQuantity }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="TBR(价格/币种/数量)" width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.doublePrice | townum }} / {{ scope.row.doubleCurrency }} / {{ scope.row.doubleQuantity }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="JS/ES(价格/币种/数量)" width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.suitePrice | townum }} / {{ scope.row.suiteCurrency }} / {{ scope.row.suiteQuantity }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="SUITE(价格/币种/数量)" width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.otherPrice | townum }} / {{ scope.row.otherCurrency }} / {{ scope.row.otherQuantity }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createUserName" label="查询人" width="80">
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column prop="remark" label="备注">
|
|
|
</el-table-column> -->
|
|
|
- <!-- <el-table-column prop="name" label="操 作" width="140">
|
|
|
+ <!-- <el-table-column prop="name" label="操 作" width="140">
|
|
|
<template slot-scope="scope">
|
|
|
@click="PostHotelReservationsDetails(scope.$index, scope.row)"
|
|
|
<el-button @click="PostHotelInquiryInfo(scope.row)" type="primary" size="mini" icon="el-icon-edit"></el-button>
|
|
|
<el-button @click="PostHotelInquiryDel(scope.row)" type="danger" size="mini" icon="el-icon-delete"></el-button>
|
|
|
</template>
|
|
|
</el-table-column> -->
|
|
|
- </el-table>
|
|
|
+ </el-table>
|
|
|
<div class="btn-dialog-cost">
|
|
|
<el-button size="small" type="primary" @click='adoptHotelData'>采用酒店同事的询价数据</el-button>
|
|
|
|
|
|
<el-button @click="dialogTableVisibleXJ = false" size="small">采用现有的自定义数据</el-button>
|
|
|
</div>
|
|
|
- </el-dialog>
|
|
|
+ </el-dialog>
|
|
|
|
|
|
<div class="cost-haed">
|
|
|
<div class="ser-btn">
|
|
@@ -121,23 +124,22 @@
|
|
|
</div>
|
|
|
<el-select style="width:200px" size="small" v-model="costTypevalue" placeholder="请选择"
|
|
|
@change="costTypeSelect">
|
|
|
- <el-option v-for="item in costType" :key="item.value" :label="item.label"
|
|
|
- :value="item.value">
|
|
|
+ <el-option v-for="item in costType" :key="item.value" :label="item.label" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="ser-btn-li">
|
|
|
<el-button size="small" :type="blackCodeIsTrue ? 'primary' : 'danger'"
|
|
|
@click="importBlackCode">导入机票行程数据</el-button>
|
|
|
- <el-button size="small" :type="hotelIsTrue ? 'primary' : 'danger'" @click="PostHotelInquiryPageItem">查看酒店询价价格</el-button>
|
|
|
+ <el-button size="small" :type="hotelIsTrue ? 'primary' : 'danger'"
|
|
|
+ @click="PostHotelInquiryPageItem">查看酒店询价价格</el-button>
|
|
|
<!-- <el-button size="small" type="primary">导入收款账单</el-button> -->
|
|
|
<el-button size="small" type="primary" @click="GetPriceCheckWord">生成收款账单</el-button>
|
|
|
<el-button size="small" type="primary" @click="GetClientWord">导出客户报表</el-button>
|
|
|
<el-button size="small" type="primary" @click="GetGroupCostExcel">导出成本</el-button>
|
|
|
<!-- <el-button type="primary">一键复制</el-button> -->
|
|
|
<el-button v-if="isShare == 1" size="small" type="info" @click="GroupIsShare">取消成本通知</el-button>
|
|
|
- <el-button v-if="isShare == 0" size="small" type="primary"
|
|
|
- @click="GroupIsShare">成本通知</el-button>
|
|
|
+ <el-button v-if="isShare == 0" size="small" type="primary" @click="GroupIsShare">成本通知</el-button>
|
|
|
<el-button size="small" type="primary" @click="save">保存设置</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -150,8 +152,8 @@
|
|
|
<el-form-item label="货币:">
|
|
|
<el-select size="small" v-model="AGroupCostParameter.currency" @change="changeCurrency"
|
|
|
placeholder="请选择">
|
|
|
- <el-option v-for="item in currencyOption" :key="item.currencyId"
|
|
|
- :label="item.currencyCode" :value="item.currencyId">
|
|
|
+ <el-option v-for="item in currencyOption" :key="item.currencyId" :label="item.currencyCode"
|
|
|
+ :value="item.currencyId">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -203,8 +205,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
<div> <el-form-item label="结束:" prop="costTypeendTime"><el-date-picker size="small"
|
|
|
- v-model="AGroupCostParameter.costTypeendTime" type="date"
|
|
|
- placeholder="结束" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
|
|
|
+ v-model="AGroupCostParameter.costTypeendTime" type="date" placeholder="结束"
|
|
|
+ format="yyyy-MM-dd" value-format="yyyy-MM-dd">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -269,8 +271,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
<div> <el-form-item label="结束:" prop="costTypeendTime"><el-date-picker size="small"
|
|
|
- v-model="BGroupCostParameter.costTypeendTime" type="date"
|
|
|
- placeholder="结束" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
|
|
|
+ v-model="BGroupCostParameter.costTypeendTime" type="date" placeholder="结束"
|
|
|
+ format="yyyy-MM-dd" value-format="yyyy-MM-dd">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -352,8 +354,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
|
|
|
- <el-checkbox-group class="form-ss"
|
|
|
- v-model="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues" @change="TopChange">
|
|
|
+ <el-checkbox-group class="form-ss" v-model="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues"
|
|
|
+ @change="TopChange">
|
|
|
<el-checkbox v-for="( item, index ) in checkOptions " :key="index" :title="item.tips"
|
|
|
:label="item.label" @change="(val) => { topcheckboxChange(val, item.label) }"></el-checkbox>
|
|
|
</el-checkbox-group>
|
|
@@ -364,8 +366,8 @@
|
|
|
<!-- :height="centerheight" -->
|
|
|
|
|
|
<template v-for="( item, index ) in tableLabel">
|
|
|
- <el-table-column :key="index" :prop="item.prop"
|
|
|
- :width="item.width != '100' ? columnWidth : item.width" :label="item.label"
|
|
|
+ <el-table-column :key="index" :prop="item.prop" :width="item.width != '100' ? columnWidth : item.width"
|
|
|
+ :label="item.label"
|
|
|
v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
|
|
|
<!-- eslint-disable-next-line -->
|
|
|
<template slot="header" slot-scope="scope">
|
|
@@ -411,29 +413,27 @@
|
|
|
<el-row class="figures-btn">
|
|
|
<el-button @click="handleEdit(scope.$index, scope.row, 1)" size="mini"
|
|
|
type="primary">司兼导</el-button>
|
|
|
- <el-button @click="handleEdit(scope.$index, scope.row, 2)" size="mini"
|
|
|
- type="primary">导
|
|
|
+ <el-button @click="handleEdit(scope.$index, scope.row, 2)" size="mini" type="primary">导
|
|
|
游</el-button>
|
|
|
<el-button @click="handleEdit(scope.$index, scope.row, 3)" size="mini"
|
|
|
type="primary">车数据</el-button>
|
|
|
- <el-button @click="handleEdit(scope.$index, scope.row, 4)" size="mini"
|
|
|
- type="primary">景
|
|
|
+ <el-button @click="handleEdit(scope.$index, scope.row, 4)" size="mini" type="primary">景
|
|
|
点</el-button>
|
|
|
- <el-button style='display:flex' class="history-btn" @click="GetHistoryCarData(scope.$index)" size="mini"
|
|
|
- type="primary">历史数据
|
|
|
+ <el-button style='display:flex' class="history-btn"
|
|
|
+ @click="GetHistoryCarData(scope.$index)" size="mini" type="primary">历史数据
|
|
|
</el-button>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<div v-else-if="item.width == 100">
|
|
|
<div v-if="item.label == 'ITIN'">
|
|
|
- <el-input type="textarea" @input="capslk(scope.row[item.prop], scope.$index)"
|
|
|
- :rows="6" placeholder="请输入内容" v-model="scope.row[item.prop]"></el-input>
|
|
|
+ <el-input type="textarea" @input="capslk(scope.row[item.prop], scope.$index)" :rows="6"
|
|
|
+ placeholder="请输入内容" v-model="scope.row[item.prop]"></el-input>
|
|
|
</div>
|
|
|
<div class="accon-box" v-else-if="item.label == 'ACCO N'">
|
|
|
<el-input @focus="acconinput(scope.row[item.prop], scope.$index)"
|
|
|
@blur="acconblur(scope.$index)"
|
|
|
- @input="acconinput(scope.row[item.prop], scope.$index)"
|
|
|
- style="position: relative;" type="textarea" :rows="6" placeholder="请输入内容"
|
|
|
+ @input="acconinput(scope.row[item.prop], scope.$index)" style="position: relative;"
|
|
|
+ type="textarea" :rows="6" placeholder="请输入内容"
|
|
|
v-model="scope.row[item.prop]"></el-input>
|
|
|
<div class="accon-ul">
|
|
|
<div @click="acconclick(item, scope.$index)" v-for="(item, index) in acconarrs"
|
|
@@ -456,7 +456,7 @@
|
|
|
<div v-else>
|
|
|
<div v-for="( item, index ) in ShowMeals" :key="index">
|
|
|
{{ item.countryOrCity }} <span style="color:green;">{{
|
|
|
- item.price }}</span>元/人<br>
|
|
|
+ item.price }}</span>元/人<br>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -476,7 +476,7 @@
|
|
|
<div v-else>
|
|
|
<div v-for="( item, index ) in ShowHotel" :key="index">
|
|
|
{{ item.countryOrCity }} <span style="color:green;">{{
|
|
|
- item.price }}</span>元/人<br>
|
|
|
+ item.price }}</span>元/人<br>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -581,17 +581,17 @@
|
|
|
@change="handleChange" :min="0" size="small"
|
|
|
:controls="false"></el-input-number> -->
|
|
|
<div v-if="itemsheetone.tips">
|
|
|
- <el-popover placement="top-start"
|
|
|
- :title="itemsheetone.title" width="200" trigger="hover">
|
|
|
+ <el-popover placement="top-start" :title="itemsheetone.title"
|
|
|
+ width="200" trigger="hover">
|
|
|
<!-- :content="itemsheetone.tips" -->
|
|
|
<div v-if="itemsheetone.tips != '暂无!'">
|
|
|
<span style="color:green">{{ itemsheetone.tips
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
元/人
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<span style="color:red">{{ itemsheetone.tips
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
<el-input-number slot="reference"
|
|
|
v-model="AGroupCostParameter[itemsheetone.prop]"
|
|
@@ -601,8 +601,8 @@
|
|
|
</div>
|
|
|
<div
|
|
|
v-else-if="(typeof itemsheetone.title).toString() != 'undefined'">
|
|
|
- <el-popover placement="top-start"
|
|
|
- :title="itemsheetone.title" width="200" trigger="hover">
|
|
|
+ <el-popover placement="top-start" :title="itemsheetone.title"
|
|
|
+ width="200" trigger="hover">
|
|
|
<span style="color:red">暂无数据!</span>
|
|
|
<el-input-number slot="reference"
|
|
|
v-model="AGroupCostParameter[itemsheetone.prop]"
|
|
@@ -660,8 +660,8 @@
|
|
|
v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes(sheetitem.label)">
|
|
|
<el-table :data="[{ a: 1 }]" border style="width: 100%"
|
|
|
:class="{ 'hiddenElement': (sheetitem.EnLabel == 'visa' || sheetitem.EnLabel == 'bx') ? true : false }">
|
|
|
- <el-table-column v-for="(itemsheetone, index) in sheetitem.childList"
|
|
|
- :key="index" :prop="itemsheetone.prop" :label="itemsheetone.childLabel">
|
|
|
+ <el-table-column v-for="(itemsheetone, index) in sheetitem.childList" :key="index"
|
|
|
+ :prop="itemsheetone.prop" :label="itemsheetone.childLabel">
|
|
|
<!-- eslint-disable-next-line -->
|
|
|
<template slot-scope="scope">
|
|
|
<div v-if="itemsheetone.prop.indexOf(sheetitem.EnLabel) != -1">
|
|
@@ -671,8 +671,7 @@
|
|
|
<div v-else>
|
|
|
<!-- <el-input v-model="BGroupCostParameter[itemsheetone.prop]"
|
|
|
show-word-limit /> -->
|
|
|
- <el-input-number
|
|
|
- v-model="BGroupCostParameter[itemsheetone.prop]"
|
|
|
+ <el-input-number v-model="BGroupCostParameter[itemsheetone.prop]"
|
|
|
@change="handleChange" :min="0" size="small"
|
|
|
:controls="false"></el-input-number>
|
|
|
</div>
|
|
@@ -716,7 +715,7 @@
|
|
|
<div class="biaoge"
|
|
|
v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
|
|
|
<div style=" color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
|
|
|
- cabinitem.label }}
|
|
|
+ cabinitem.label }}
|
|
|
</div>
|
|
|
<el-table :data="cabinitem.sheetInfo" border style="width: 100%">
|
|
|
<el-table-column
|
|
@@ -725,30 +724,29 @@
|
|
|
<template slot-scope="scope">
|
|
|
<div v-if="itemcabinone.prop === 'toll'">
|
|
|
<el-input size="small" :ref="'el-input-' + index"
|
|
|
- v-model="scope.row[itemcabinone.prop]" show-word-limit
|
|
|
- disabled />
|
|
|
+ v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
|
|
|
</div>
|
|
|
<span
|
|
|
v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
|
|
|
:title="scope.row[itemcabinone.prop]">
|
|
|
<span v-if="itemcabinone.prop === 'singleQuote'">
|
|
|
<span v-if="itemcabinone.tips">
|
|
|
- <el-popover placement="top-start"
|
|
|
- :title="itemcabinone.title" width="200" trigger="hover">
|
|
|
+ <el-popover placement="top-start" :title="itemcabinone.title"
|
|
|
+ width="200" trigger="hover">
|
|
|
<span v-if="itemcabinone.tips != '暂无!'"
|
|
|
style="color:green">{{ itemcabinone.tips
|
|
|
}}元/人</span>
|
|
|
<span v-else style="color: red">暂无!</span>
|
|
|
<span slot="reference">{{ scope.row[itemcabinone.prop]
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
</el-popover>
|
|
|
</span>
|
|
|
<span v-else>
|
|
|
- <el-popover placement="top-start"
|
|
|
- :title="itemcabinone.title" width="200" trigger="hover">
|
|
|
+ <el-popover placement="top-start" :title="itemcabinone.title"
|
|
|
+ width="200" trigger="hover">
|
|
|
<span style="color: red">暂无!</span>
|
|
|
<span slot="reference">{{ scope.row[itemcabinone.prop]
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
</el-popover>
|
|
|
</span>
|
|
|
</span>
|
|
@@ -756,24 +754,24 @@
|
|
|
</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'totalCost'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
|
|
|
- }}</span>
|
|
|
+ (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
|
|
|
+ }}</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'totalQuote'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
|
|
|
- }}</span>
|
|
|
+ (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
|
|
|
+ }}</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'singleProfit'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- ((scope.row['singleQuote'] - scope.row['costPerson'])).toFixed(2)
|
|
|
- }}</span>
|
|
|
+ ((scope.row['singleQuote'] - scope.row['costPerson'])).toFixed(2)
|
|
|
+ }}</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'totalProfit'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- ((scope.row['singleQuote'] - scope.row['costPerson']) *
|
|
|
- scope.row['toll']).toFixed(2)
|
|
|
- }}</span>
|
|
|
+ ((scope.row['singleQuote'] - scope.row['costPerson']) *
|
|
|
+ scope.row['toll']).toFixed(2)
|
|
|
+ }}</span>
|
|
|
<span v-else :title="scope.row[itemcabinone.prop]">{{
|
|
|
- scope.row[itemcabinone.prop]
|
|
|
- }}</span>
|
|
|
+ scope.row[itemcabinone.prop]
|
|
|
+ }}</span>
|
|
|
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -787,7 +785,7 @@
|
|
|
<div class="biaogeB"
|
|
|
v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
|
|
|
<div style="color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
|
|
|
- cabinitem.label }}
|
|
|
+ cabinitem.label }}
|
|
|
</div>
|
|
|
<el-table :data="cabinitem.sheetInfo" border style="width: 100%">
|
|
|
<el-table-column
|
|
@@ -796,34 +794,33 @@
|
|
|
<template slot-scope="scope">
|
|
|
<div v-if="itemcabinone.prop === 'toll'">
|
|
|
<el-input size="small" :ref="'el-input-' + index"
|
|
|
- v-model="scope.row[itemcabinone.prop]" show-word-limit
|
|
|
- disabled />
|
|
|
+ v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
|
|
|
</div>
|
|
|
<span
|
|
|
v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- scope.row[itemcabinone.prop]
|
|
|
- }}</span>
|
|
|
+ scope.row[itemcabinone.prop]
|
|
|
+ }}</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'totalCost'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
|
|
|
- }}</span>
|
|
|
+ (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
|
|
|
+ }}</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'totalQuote'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
|
|
|
- }}</span>
|
|
|
+ (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
|
|
|
+ }}</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'singleProfit'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- (scope.row['singleQuote'] - scope.row['costPerson']).toFixed(2)
|
|
|
- }}</span>
|
|
|
+ (scope.row['singleQuote'] - scope.row['costPerson']).toFixed(2)
|
|
|
+ }}</span>
|
|
|
<span v-else-if="itemcabinone.prop === 'totalProfit'"
|
|
|
:title="scope.row[itemcabinone.prop]">{{
|
|
|
- ((scope.row['singleQuote'] - scope.row['costPerson']) *
|
|
|
- scope.row['toll']).toFixed(2)
|
|
|
+ ((scope.row['singleQuote'] - scope.row['costPerson']) *
|
|
|
+ scope.row['toll']).toFixed(2)
|
|
|
}}</span>
|
|
|
<span v-else :title="scope.row[itemcabinone.prop]">{{
|
|
|
scope.row[itemcabinone.prop]
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -835,7 +832,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-dialog :title="DialogTitle" :visible.sync="outerVisible" :width="'60%'" :close-on-click-modal="false" @close="dialogClose">
|
|
|
+ <el-dialog :title="DialogTitle" :visible.sync="outerVisible" :width="'60%'" :close-on-click-modal="false"
|
|
|
+ @close="dialogClose">
|
|
|
<div>
|
|
|
<div style="display: flex;">
|
|
|
<div style="width: 30%;">
|
|
@@ -873,7 +871,7 @@
|
|
|
</div> -->
|
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="outerVisible = false; dialogSelectObject={}">取 消</el-button>
|
|
|
+ <el-button @click="outerVisible = false; dialogSelectObject = {}">取 消</el-button>
|
|
|
<el-button type="primary" @click="confirm">确定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
@@ -2770,17 +2768,17 @@ export default {
|
|
|
//count: 0,
|
|
|
x: 0,
|
|
|
y: 0,
|
|
|
- tableDatas:[],
|
|
|
- dialogTableVisibleXJ:false,
|
|
|
- checkboxsXJ:[],
|
|
|
- historyCarInput:'',
|
|
|
- historyCarDialog:false,
|
|
|
- historyCarData:[],
|
|
|
+ tableDatas: [],
|
|
|
+ dialogTableVisibleXJ: false,
|
|
|
+ checkboxsXJ: [],
|
|
|
+ historyCarInput: '',
|
|
|
+ historyCarDialog: false,
|
|
|
+ historyCarData: [],
|
|
|
// {
|
|
|
// "value": "id",
|
|
|
// "label": ""
|
|
|
// },
|
|
|
- historyCarCloumns:[
|
|
|
+ historyCarCloumns: [
|
|
|
{
|
|
|
"value": "teamName",
|
|
|
"label": "团组名称"
|
|
@@ -2797,7 +2795,7 @@ export default {
|
|
|
"value": "area",
|
|
|
"label": "地区"
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
{
|
|
|
"value": "price",
|
|
|
"label": "总价格"
|
|
@@ -2819,9 +2817,9 @@ export default {
|
|
|
"label": "费用准确日期"
|
|
|
}
|
|
|
],
|
|
|
- historyCarSelectObject:{},
|
|
|
- historyCarIndex : -1,
|
|
|
- hotelIsTrue:false,
|
|
|
+ historyCarSelectObject: {},
|
|
|
+ historyCarIndex: -1,
|
|
|
+ hotelIsTrue: false,
|
|
|
};
|
|
|
},
|
|
|
watch: {
|
|
@@ -2907,7 +2905,7 @@ export default {
|
|
|
|
|
|
//////console.log('datas', data);
|
|
|
|
|
|
- if (that.costTypevalue == 'B') {
|
|
|
+ if (that.costTypevalue == 'B') {
|
|
|
for (var i = 0; i < thisData.length; i++) {
|
|
|
var forTime = thisData[i].date;
|
|
|
if (forTime == '' && i != 0) {
|
|
@@ -3075,7 +3073,7 @@ export default {
|
|
|
this.$message.error('程序异常!');
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
this.dialogSearchInput = this.grouptitleinfo.visitCountry;
|
|
|
|
|
|
var dataC = this.dialogColumn.filter(x => x.index == buttonIndex);
|
|
@@ -5774,16 +5772,16 @@ export default {
|
|
|
headers: {
|
|
|
Authorization: 'Bearer ' + this.token
|
|
|
},
|
|
|
- data:{
|
|
|
- portType:1,
|
|
|
- pageIndex:1,
|
|
|
- pageSize:100,
|
|
|
- diId:that.diid,
|
|
|
+ data: {
|
|
|
+ portType: 1,
|
|
|
+ pageIndex: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ diId: that.diid,
|
|
|
}
|
|
|
}).then(function (res) {
|
|
|
that.tableDatas = [];
|
|
|
if (res.data.code == 200) {
|
|
|
- that.dialogTableVisibleXJ =true;
|
|
|
+ that.dialogTableVisibleXJ = true;
|
|
|
that.tableDatas = res.data.data;
|
|
|
that.checkboxsXJ = [];
|
|
|
that.hotelIsTrue = res.data.data.length > 0 ? true : false;
|
|
@@ -5793,30 +5791,30 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- CheckboxChangeXJ(val){
|
|
|
- var isFind = this.checkboxsXJ.includes(val);
|
|
|
- if(isFind){
|
|
|
- this.checkboxsXJ.splice(this.checkboxsXJ.indexOf(val),1);
|
|
|
- }else{
|
|
|
+ CheckboxChangeXJ(val) {
|
|
|
+ var isFind = this.checkboxsXJ.includes(val);
|
|
|
+ if (isFind) {
|
|
|
+ this.checkboxsXJ.splice(this.checkboxsXJ.indexOf(val), 1);
|
|
|
+ } else {
|
|
|
this.checkboxsXJ.push(val);
|
|
|
}
|
|
|
},
|
|
|
- adoptHotelData(){
|
|
|
- var selectArr = this.tableDatas.filter((x)=>{
|
|
|
+ adoptHotelData() {
|
|
|
+ var selectArr = this.tableDatas.filter((x) => {
|
|
|
return this.checkboxsXJ.includes(x.id);
|
|
|
});
|
|
|
////console.log(selectArr,'selectArr-----------------------');
|
|
|
- if(selectArr.length != 0){
|
|
|
- for(var i = 0;i < selectArr.length;i++){
|
|
|
- var startTime = this.addOneDay(selectArr[i].checkInDate,0);
|
|
|
- var endTime = this.addOneDay(selectArr[i].checkOutDate,0);
|
|
|
- if(startTime){
|
|
|
- var flitertabs = this.tableData.filter((x)=>{
|
|
|
+ if (selectArr.length != 0) {
|
|
|
+ for (var i = 0; i < selectArr.length; i++) {
|
|
|
+ var startTime = this.addOneDay(selectArr[i].checkInDate, 0);
|
|
|
+ var endTime = this.addOneDay(selectArr[i].checkOutDate, 0);
|
|
|
+ if (startTime) {
|
|
|
+ var flitertabs = this.tableData.filter((x) => {
|
|
|
var cuo = new Date(x.date).getTime();
|
|
|
return cuo >= new Date(startTime).getTime() && cuo < new Date(endTime).getTime();
|
|
|
})
|
|
|
|
|
|
- for(var j = 0;j < flitertabs.length;j++){
|
|
|
+ for (var j = 0; j < flitertabs.length; j++) {
|
|
|
flitertabs[j].accon = selectArr[i].name;
|
|
|
flitertabs[j].sgr = selectArr[i].singlePrice * selectArr[i].singleQuantity;
|
|
|
flitertabs[j].tbr = selectArr[i].doublePrice * selectArr[i].doubleQuantity;
|
|
@@ -5827,18 +5825,18 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
this.dialogTableVisibleXJ = false;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.$message.error("请选择数据!");
|
|
|
- }
|
|
|
+ }
|
|
|
},
|
|
|
- GetHistoryCarData(index){
|
|
|
+ GetHistoryCarData(index) {
|
|
|
this.historyCarInput = this.grouptitleinfo.visitCountry;
|
|
|
this.historyCarDialog = true;
|
|
|
this.pageSize = 7;
|
|
|
this.historyCarIndex = index;
|
|
|
this.historyCarSearch();
|
|
|
},
|
|
|
- historyCarSearch(){
|
|
|
+ historyCarSearch() {
|
|
|
var url = "/api/Groups/GetHistoryCarData";
|
|
|
var that = this;
|
|
|
this.$axios({
|
|
@@ -5847,8 +5845,8 @@ export default {
|
|
|
headers: {
|
|
|
Authorization: 'Bearer ' + this.token
|
|
|
},
|
|
|
- data:{
|
|
|
- param:this.historyCarInput
|
|
|
+ data: {
|
|
|
+ param: this.historyCarInput
|
|
|
}
|
|
|
}).then(function (res) {
|
|
|
that.historyCarData = [];
|
|
@@ -5860,7 +5858,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- dialogClose(){
|
|
|
+ dialogClose() {
|
|
|
this.pageSize = 5;
|
|
|
this.currentPage = 1;
|
|
|
},
|
|
@@ -5868,9 +5866,9 @@ export default {
|
|
|
//console.log(row, oldrow);
|
|
|
this.historyCarSelectObject = row;
|
|
|
},
|
|
|
- historyCarYes(){
|
|
|
+ historyCarYes() {
|
|
|
//console.log(this.historyCarSelectObject,'historyCarSelectObject');
|
|
|
- if(this.historyCarIndex != -1){
|
|
|
+ if (this.historyCarIndex != -1) {
|
|
|
this.tableData[this.historyCarIndex].carCost = this.historyCarSelectObject.dayPrice;
|
|
|
}
|
|
|
this.historyCarDialog = false;
|
|
@@ -5924,14 +5922,14 @@ export default {
|
|
|
var that = this;
|
|
|
return this.dialogTableData.filter(function (x) {
|
|
|
var fliterWhere = [];
|
|
|
- if(that.dialogSearchInput.split('、') != -1){
|
|
|
+ if (that.dialogSearchInput.split('、') != -1) {
|
|
|
fliterWhere = that.dialogSearchInput.split('、');
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
fliterWhere = [that.dialogSearchInput];
|
|
|
}
|
|
|
|
|
|
- for(var i = 0;i < fliterWhere.length;i++){
|
|
|
- if(x.city.indexOf(fliterWhere[i]) != -1 || x.country.indexOf(fliterWhere[i]) != -1){
|
|
|
+ for (var i = 0; i < fliterWhere.length; i++) {
|
|
|
+ if (x.city.indexOf(fliterWhere[i]) != -1 || x.country.indexOf(fliterWhere[i]) != -1) {
|
|
|
return x;
|
|
|
}
|
|
|
}
|
|
@@ -6000,12 +5998,12 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
filters: {
|
|
|
- filter_time(value){
|
|
|
- if(value){
|
|
|
+ filter_time(value) {
|
|
|
+ if (value) {
|
|
|
return value.split(" ")[0]
|
|
|
}
|
|
|
},
|
|
|
- townum(val){
|
|
|
+ townum(val) {
|
|
|
return val.toFixed(2)
|
|
|
},
|
|
|
}
|