|
@@ -72,13 +72,15 @@
|
|
|
</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.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.doublePrice | townum }} / {{ scope.row.doubleCurrency
|
|
|
+ }} / {{
|
|
|
scope.row.doubleQuantity }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -128,7 +130,8 @@
|
|
|
</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>
|
|
@@ -143,7 +146,8 @@
|
|
|
<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>
|
|
@@ -156,8 +160,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>
|
|
@@ -209,8 +213,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>
|
|
@@ -275,8 +279,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>
|
|
@@ -359,7 +363,8 @@
|
|
|
<!-- 客户名单 -->
|
|
|
<el-popover class="clientinfo" placement="bottom" width="952" trigger="hover">
|
|
|
<el-table :cell-style="{ 'text-align': 'center' }"
|
|
|
- :header-cell-style="{ 'text-align': 'center' }" max-height="600" border :data="rollcallarr">
|
|
|
+ :header-cell-style="{ 'text-align': 'center' }" max-height="600" border
|
|
|
+ :data="rollcallarr">
|
|
|
<el-table-column width="100" property="date" label="姓名" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.lastName }}{{ scope.row.firstName }}
|
|
@@ -403,9 +408,9 @@
|
|
|
</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 v-for="( item, index ) in checkOptions " :key="index" :title="item.tips"
|
|
|
+ <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>
|
|
|
<el-table :stripe='true' class="tables" style="font-size:10px" :summary-method="getSummaries" show-summary
|
|
@@ -414,9 +419,9 @@
|
|
|
|
|
|
<!-- :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"
|
|
|
+ <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"
|
|
|
v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
|
|
|
<!-- eslint-disable-next-line -->
|
|
|
<template slot="header" slot-scope="scope">
|
|
@@ -462,11 +467,13 @@
|
|
|
<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">历史数据
|
|
@@ -475,14 +482,36 @@
|
|
|
</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-popover placement="top" width="120" trigger="hover">
|
|
|
+ <div>
|
|
|
+ <div style="color:red;font-size:16px">
|
|
|
+ 行程描述格式:
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 1.三字码信息:<br />
|
|
|
+ <span style="color: green;">例:</span> PEK/WAW
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 2.航班号:<br />
|
|
|
+ <span style="color: green;">例:</span> CA737
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 3.航班起止时间:<br />
|
|
|
+ <span style="color: green;">例:</span> 0230/0640
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div slot="reference">
|
|
|
+ <el-input type="textarea"
|
|
|
+ @input="capslk(scope.row[item.prop], scope.$index)" :rows="6"
|
|
|
+ placeholder="请输入内容" v-model="scope.row[item.prop]"></el-input>
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
</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"
|
|
@@ -603,8 +632,7 @@
|
|
|
<div class="sheet-li">
|
|
|
<div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
|
|
|
<el-checkbox-group v-model="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues">
|
|
|
- <el-checkbox v-for="( item, index ) in sheetoneOptions " :key="index"
|
|
|
- :label="item"></el-checkbox>
|
|
|
+ <el-checkbox v-for="(item, index) in sheetoneOptions" :key="index" :label="item"></el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
<div style="display: flex;font-size: 12px">
|
|
|
<div :style="{ 'width': costTypevalue == 'A' ? '100%' : '49%' }">
|
|
@@ -623,8 +651,7 @@
|
|
|
<div class="biaoge" :class="{ 'biaogeKz': costTypevalue == 'B' }"
|
|
|
v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes(sheetitem.label)">
|
|
|
<el-table :data="[{ a: 1 }]" border style="width: 100%">
|
|
|
- <el-table-column
|
|
|
- v-for="( itemsheetone, index ) in sheetitem.childList "
|
|
|
+ <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">
|
|
@@ -640,17 +667,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]"
|
|
@@ -660,8 +687,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]"
|
|
@@ -714,13 +741,13 @@
|
|
|
</el-table>
|
|
|
|
|
|
</div>
|
|
|
- <div v-for="( sheetitem, index ) in sheetDatal " :key="index">
|
|
|
+ <div v-for="(sheetitem, index) in sheetDatal" :key="index">
|
|
|
<div class="biaogeB"
|
|
|
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">
|
|
@@ -730,7 +757,8 @@
|
|
|
<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>
|
|
@@ -765,12 +793,12 @@
|
|
|
<div class="cabin-li">
|
|
|
<div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
|
|
|
<el-checkbox-group v-model="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues">
|
|
|
- <el-checkbox v-for="( item, index ) in cabinoneOptions " :key="index"
|
|
|
+ <el-checkbox v-for="(item, index) in cabinoneOptions " :key="index"
|
|
|
:label="item"></el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
<div style="display: flex;">
|
|
|
<div :style="{ 'width': costTypevalue == 'A' ? '100%' : '49%' }">
|
|
|
- <div v-for="( cabinitem, index ) in cabinDatal " :key="index">
|
|
|
+ <div v-for="( cabinitem, index ) in cabinDatal " :key="index">
|
|
|
<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;">{{
|
|
@@ -778,34 +806,35 @@
|
|
|
</div>
|
|
|
<el-table :data="cabinitem.sheetInfo" border style="width: 100%">
|
|
|
<el-table-column
|
|
|
- v-for="( itemcabinone, index ) in cabinitem.childList "
|
|
|
+ v-for="( itemcabinone, index ) in cabinitem.childList "
|
|
|
:key="index" :prop="itemcabinone.prop" :label="itemcabinone.childLabel">
|
|
|
<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>
|
|
@@ -830,7 +859,7 @@
|
|
|
}}</span>
|
|
|
<span v-else :title="scope.row[itemcabinone.prop]">{{
|
|
|
scope.row[itemcabinone.prop]
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -840,7 +869,7 @@
|
|
|
</div>
|
|
|
<div style="width: 2%;" v-show="costTypevalue != 'A'"></div>
|
|
|
<div style="width: 49%;" v-show="costTypevalue != 'A'">
|
|
|
- <div v-for="( cabinitem, index ) in BcabinDatal " :key="index">
|
|
|
+ <div v-for="( cabinitem, index ) in BcabinDatal " :key="index">
|
|
|
<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;">{{
|
|
@@ -848,12 +877,13 @@
|
|
|
</div>
|
|
|
<el-table :data="cabinitem.sheetInfo" border style="width: 100%">
|
|
|
<el-table-column
|
|
|
- v-for="( itemcabinone, index ) in cabinitem.childList "
|
|
|
+ v-for="( itemcabinone, index ) in cabinitem.childList "
|
|
|
:key="index" :prop="itemcabinone.prop" :label="itemcabinone.childLabel">
|
|
|
<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'"
|
|
@@ -879,7 +909,7 @@
|
|
|
}}</span>
|
|
|
<span v-else :title="scope.row[itemcabinone.prop]">{{
|
|
|
scope.row[itemcabinone.prop]
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -905,8 +935,8 @@
|
|
|
<el-table ref="singleTable" border @current-change="SelChange"
|
|
|
:data="filterdialogSearchInput.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
|
|
|
highlight-current-row style="width: 100%">
|
|
|
- <el-table-column v-for=" item, index in SeldialogColumn " :key="index"
|
|
|
- :prop="item.prop" :label="item.title">
|
|
|
+ <el-table-column v-for=" item, index in SeldialogColumn " :key="index" :prop="item.prop"
|
|
|
+ :label="item.title">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row[item.prop] }}
|
|
@@ -6407,28 +6437,28 @@ export default {
|
|
|
pinyingxing(val) {
|
|
|
return pinyin(val, { toneType: 'none' }).toUpperCase();
|
|
|
},
|
|
|
- UserMount(){
|
|
|
- Array.prototype.whereToList = function (callback) {
|
|
|
- if(!callback) return this;
|
|
|
- if (typeof callback !== 'function') return this;
|
|
|
- var list = [] ;
|
|
|
+ UserMount() {
|
|
|
+ Array.prototype.whereToList = function (callback) {
|
|
|
+ if (!callback) return this;
|
|
|
+ if (typeof callback !== 'function') return this;
|
|
|
+ var list = [];
|
|
|
for (let index = 0; index < this.length; index++) {
|
|
|
- if(callback(this[index])){
|
|
|
- list.push(this[index])
|
|
|
- }
|
|
|
- }
|
|
|
- return list;
|
|
|
+ if (callback(this[index])) {
|
|
|
+ list.push(this[index])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
};
|
|
|
|
|
|
- Array.prototype.firstWhere = function (callback) {
|
|
|
- if(!callback) return this;
|
|
|
- if (typeof callback !== 'function') return this;
|
|
|
+ Array.prototype.firstWhere = function (callback) {
|
|
|
+ if (!callback) return this;
|
|
|
+ if (typeof callback !== 'function') return this;
|
|
|
for (let index = 0; index < this.length; index++) {
|
|
|
- if(callback(this[index])){
|
|
|
- return this[index]
|
|
|
- }
|
|
|
- }
|
|
|
- return null;
|
|
|
+ if (callback(this[index])) {
|
|
|
+ return this[index]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
};
|
|
|
},
|
|
|
},
|
|
@@ -6574,9 +6604,10 @@ export default {
|
|
|
}
|
|
|
</style>
|
|
|
<style>
|
|
|
-.cost-all{
|
|
|
+.cost-all {
|
|
|
font-size: 12px;
|
|
|
}
|
|
|
+
|
|
|
.cost-box {
|
|
|
background-color: #fff;
|
|
|
padding: 10px;
|