|
@@ -25,9 +25,9 @@
|
|
|
<el-button type="primary" @click="GetPriceCheckWord">生成收款账单</el-button>
|
|
|
<el-button type="primary" @click="GetClientWord">导出客户报表</el-button>
|
|
|
<el-button type="primary" @click="GetGroupCostExcel">导出成本</el-button>
|
|
|
- <el-button type="primary" @click="save">保存设置</el-button>
|
|
|
<el-button type="primary">一键复制</el-button>
|
|
|
<el-button type="primary" @click="GroupIsShare">成本通知</el-button>
|
|
|
+ <el-button type="primary" @click="save">保存设置</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="cost-input">
|
|
@@ -243,12 +243,12 @@
|
|
|
<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 :summary-method="getSummaries" show-summary show-overflow-tooltip :data="tableData" :border="true"
|
|
|
+ <el-table class="tables" style="font-size:10px" :summary-method="getSummaries" show-summary show-overflow-tooltip :data="tableData" :border="true"
|
|
|
size="small" row-class-name="row" cell-class-name="column" :highlight-current-row="true" :fit="true"
|
|
|
:height="centerheight">
|
|
|
<template v-for="( item, index ) in tableLabel ">
|
|
|
<el-table-column :key="index" :prop="item.prop"
|
|
|
- :width="item.width == 150 ? columnWidth : item.width" :label="item.label"
|
|
|
+ :width="item.width == 140 ? 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">
|
|
@@ -274,7 +274,7 @@
|
|
|
v-model="scope.row[item.prop]"
|
|
|
@change="dateChange(scope.row[item.prop], scope.$index)">
|
|
|
</el-input> -->
|
|
|
- <el-date-picker size="mini" v-model="scope.row[item.prop]" type="date"
|
|
|
+ <el-date-picker :clearable="false" size="mini" v-model="scope.row[item.prop]" type="date"
|
|
|
value-format="yyyy-MM-dd" placeholder="选择日期">
|
|
|
</el-date-picker>
|
|
|
</span>
|
|
@@ -296,8 +296,8 @@
|
|
|
点</el-button>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
- <div v-else-if="item.width == 200">
|
|
|
- <el-input type="textarea" :rows="5" placeholder="请输入内容" v-model="scope.row[item.prop]">
|
|
|
+ <div v-else-if="item.width == 100">
|
|
|
+ <el-input type="textarea" :rows="6" placeholder="请输入内容" v-model="scope.row[item.prop]">
|
|
|
</el-input>
|
|
|
</div>
|
|
|
<div v-else-if="item.prop == 'b' || item.prop == 'l' || item.prop == 'd'">
|
|
@@ -347,14 +347,14 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</template>
|
|
|
- <el-table-column class="czbtn" label="操作" :width="200">
|
|
|
+ <el-table-column class="czbtn" label="操作" :width="100">
|
|
|
<!-- eslint-disable-next-line -->
|
|
|
<template slot-scope="scope">
|
|
|
<el-button class="czbtn" size="mini" @click="insertRow(scope.$index, scope.row, 'UP')"
|
|
|
type="primary">插入行
|
|
|
↑</el-button>
|
|
|
<br />
|
|
|
- <el-button class="czbtn" style="margin: 10px;" size="mini"
|
|
|
+ <el-button class="czbtn" style="margin: 10px 0;" size="mini"
|
|
|
@click="handleDelete(scope.$index, scope.row, tableData)" type="danger">删除<i
|
|
|
class="el-icon-delete"></i></el-button>
|
|
|
<br />
|
|
@@ -726,42 +726,42 @@ export default {
|
|
|
],
|
|
|
tableLabel: [
|
|
|
{ label: 'DAY', width: '85', prop: 'day', describe: '天数(DAY)' },
|
|
|
- { label: 'DATE', width: '151', prop: 'date', describe: '时间(DATE)' },
|
|
|
- { label: 'ITIN', width: '200', prop: 'itin', describe: '行程描述(ITINERARY)' },
|
|
|
- { label: 'VA', width: '85', prop: 'sale', describe: '车服务区域(Vehicle Area)' }, // ??????????????
|
|
|
- { label: 'VT', width: '200', prop: 'carType', describe: '车型(VEHICLE TYPE)' },
|
|
|
- { label: 'VF', width: '150', prop: 'carCost', describe: '车费用(VEHICLE FEES)' },
|
|
|
- { label: 'VN', width: '150', prop: 'carNumber', describe: '车数量(VEHICLE Number)' },
|
|
|
- { label: 'VRD', width: '150', prop: 'carTiming', describe: '用车时间(VEHICLE RENTAL DURATION)' },
|
|
|
- { label: 'T/G S', width: '150', prop: 'tgs', describe: '导游工资(TOUR GUIDE SALARY)' },
|
|
|
- { label: 'T/G N', width: '150', prop: 'tgn', describe: '导游数量(TOUR GUIDE Number' },
|
|
|
- { label: 'T/G WH', width: '150', prop: 'tgwh', describe: '导游工作时间(导游工作时间)' },
|
|
|
- { label: 'T/G OF', width: '150', prop: 'tgof', describe: '导游超时费用(TOUR GUIDE OVERTIME FEES)' },
|
|
|
- { label: 'T/G M', width: '150', prop: 'tgm', describe: '导游餐补(TOUR GUIDE MEALS)' },
|
|
|
- { label: 'T/G A', width: '150', prop: 'tga', describe: '导游房补(TOUR GUIDE ACCOMMODATION)' },
|
|
|
- { label: 'T/G TF', width: '150', prop: 'tgtf', describe: '导游交通费(TOUR GUIDE TRANSPORATION FEES)' },
|
|
|
- { label: 'T/G EF', width: '150', prop: 'tgef', describe: '导游景点费(TOUR GUIDE ENTRANCE FEES)' },
|
|
|
- { label: 'C/F M', width: '150', prop: 'cfm', describe: '司机餐补(CHAUFFEUR MEALS)' },
|
|
|
- { label: 'C/F OF', width: '150', prop: 'cfof', describe: '司机超时费用(CHAUFFEUR OVERTIME FEES)' },
|
|
|
- { label: 'B', width: '150', prop: 'b', describe: '早餐(BREAKFAST) #个人成本' },
|
|
|
- { label: 'L', width: '150', prop: 'l', describe: '午餐(LUNCH) #个人成本' },
|
|
|
- { label: 'D', width: '150', prop: 'd', describe: '晚餐(DINNER) #个人成本' },
|
|
|
- { label: 'TBR', width: '150', prop: 'tbr', describe: '双人间(TWIN BED ROOM) #个人成本' },
|
|
|
- { label: 'SGR', width: '150', prop: 'sgr', describe: '单间(SINGLE ROOM) #个人成本' },
|
|
|
- { label: 'JS/ES', width: '150', prop: 'jS_ES', describe: '小套房/豪华套房(JUNIOR SUITE/EXECUTIVE SUITE) #个人成本' },
|
|
|
- { label: 'SUITE', width: '150', prop: 'suite', describe: '套房(SUITE) #个人成本' },
|
|
|
- { label: 'ACCO N', width: '200', prop: 'accon', describe: '住宿地名称(ACCOMMODATION NAME)' },
|
|
|
- { label: 'T/V', width: '150', prop: 'tv', describe: '公务活动费用(T/V)' },
|
|
|
- { label: '1/L', width: '150', prop: 'iL', describe: '邀请函相关费用(1/L)' },
|
|
|
- { label: 'I/F', width: '150', prop: 'if', describe: '公务翻译费用(INTERPRETER FEES)' },
|
|
|
- { label: 'EF', width: '150', prop: 'ef', describe: '景点门票(ENTRANCE FEE) #个人成本' },
|
|
|
- { label: 'B/R/F', width: '150', prop: 'b_R_F', describe: '饮料零食水果(BEVERAGE/RRESHMENT/FRUIT)' },
|
|
|
- { label: 'TE', width: '150', prop: 'te', describe: '出行物资(TRAVELLLING ESSENTIALS) #个人成本' },
|
|
|
- { label: 'T/G T', width: '150', prop: 'tgTips', describe: '导游小费(T/G TIPS) #个人成本' },
|
|
|
- { label: 'DRV T', width: '150', prop: 'drvTips', describe: '司机小费(DRIVER TIPS #个人成本)' },
|
|
|
- { label: 'P/C', width: '150', prop: 'pc', describe: '零用金(PETTY CASH) #个人成本' },
|
|
|
- { label: 'T/L F', width: '150', prop: 'tlf', describe: '领队费(TOUR LEADER FEES)' },
|
|
|
- { label: 'E/C T', width: '150', prop: 'ect', describe: '会务费(EXPO/CONFERENCE TICKET)' }
|
|
|
+ { label: 'DATE', width: '85', prop: 'date', describe: '时间(DATE)' },
|
|
|
+ { label: 'ITIN', width: '100', prop: 'itin', describe: '行程描述(ITINERARY)' },
|
|
|
+ { label: 'VA', width: '77', prop: 'sale', describe: '车服务区域(Vehicle Area)' }, // ??????????????
|
|
|
+ { label: 'VT', width: '100', prop: 'carType', describe: '车型(VEHICLE TYPE)' },
|
|
|
+ { label: 'VF', width: '140', prop: 'carCost', describe: '车费用(VEHICLE FEES)' },
|
|
|
+ { label: 'VN', width: '140', prop: 'carNumber', describe: '车数量(VEHICLE Number)' },
|
|
|
+ { label: 'VRD', width: '140', prop: 'carTiming', describe: '用车时间(VEHICLE RENTAL DURATION)' },
|
|
|
+ { label: 'T/G S', width: '140', prop: 'tgs', describe: '导游工资(TOUR GUIDE SALARY)' },
|
|
|
+ { label: 'T/G N', width: '140', prop: 'tgn', describe: '导游数量(TOUR GUIDE Number' },
|
|
|
+ { label: 'T/G WH', width: '140', prop: 'tgwh', describe: '导游工作时间(导游工作时间)' },
|
|
|
+ { label: 'T/G OF', width: '140', prop: 'tgof', describe: '导游超时费用(TOUR GUIDE OVERTIME FEES)' },
|
|
|
+ { label: 'T/G M', width: '140', prop: 'tgm', describe: '导游餐补(TOUR GUIDE MEALS)' },
|
|
|
+ { label: 'T/G A', width: '140', prop: 'tga', describe: '导游房补(TOUR GUIDE ACCOMMODATION)' },
|
|
|
+ { label: 'T/G TF', width: '140', prop: 'tgtf', describe: '导游交通费(TOUR GUIDE TRANSPORATION FEES)' },
|
|
|
+ { label: 'T/G EF', width: '140', prop: 'tgef', describe: '导游景点费(TOUR GUIDE ENTRANCE FEES)' },
|
|
|
+ { label: 'C/F M', width: '140', prop: 'cfm', describe: '司机餐补(CHAUFFEUR MEALS)' },
|
|
|
+ { label: 'C/F OF', width: '140', prop: 'cfof', describe: '司机超时费用(CHAUFFEUR OVERTIME FEES)' },
|
|
|
+ { label: 'B', width: '140', prop: 'b', describe: '早餐(BREAKFAST) #个人成本' },
|
|
|
+ { label: 'L', width: '140', prop: 'l', describe: '午餐(LUNCH) #个人成本' },
|
|
|
+ { label: 'D', width: '140', prop: 'd', describe: '晚餐(DINNER) #个人成本' },
|
|
|
+ { label: 'TBR', width: '140', prop: 'tbr', describe: '双人间(TWIN BED ROOM) #个人成本' },
|
|
|
+ { label: 'SGR', width: '140', prop: 'sgr', describe: '单间(SINGLE ROOM) #个人成本' },
|
|
|
+ { label: 'JS/ES', width: '140', prop: 'jS_ES', describe: '小套房/豪华套房(JUNIOR SUITE/EXECUTIVE SUITE) #个人成本' },
|
|
|
+ { label: 'SUITE', width: '140', prop: 'suite', describe: '套房(SUITE) #个人成本' },
|
|
|
+ { label: 'ACCO N', width: '100', prop: 'accon', describe: '住宿地名称(ACCOMMODATION NAME)' },
|
|
|
+ { label: 'T/V', width: '140', prop: 'tv', describe: '公务活动费用(T/V)' },
|
|
|
+ { label: '1/L', width: '140', prop: 'iL', describe: '邀请函相关费用(1/L)' },
|
|
|
+ { label: 'I/F', width: '140', prop: 'if', describe: '公务翻译费用(INTERPRETER FEES)' },
|
|
|
+ { label: 'EF', width: '140', prop: 'ef', describe: '景点门票(ENTRANCE FEE) #个人成本' },
|
|
|
+ { label: 'B/R/F', width: '140', prop: 'b_R_F', describe: '饮料零食水果(BEVERAGE/RRESHMENT/FRUIT)' },
|
|
|
+ { label: 'TE', width: '140', prop: 'te', describe: '出行物资(TRAVELLLING ESSENTIALS) #个人成本' },
|
|
|
+ { label: 'T/G T', width: '140', prop: 'tgTips', describe: '导游小费(T/G TIPS) #个人成本' },
|
|
|
+ { label: 'DRV T', width: '140', prop: 'drvTips', describe: '司机小费(DRIVER TIPS #个人成本)' },
|
|
|
+ { label: 'P/C', width: '140', prop: 'pc', describe: '零用金(PETTY CASH) #个人成本' },
|
|
|
+ { label: 'T/L F', width: '140', prop: 'tlf', describe: '领队费(TOUR LEADER FEES)' },
|
|
|
+ { label: 'E/C T', width: '140', prop: 'ect', describe: '会务费(EXPO/CONFERENCE TICKET)' }
|
|
|
],
|
|
|
statisticsArr: [
|
|
|
{ label: 'DAY', total: '', individual: '' },
|
|
@@ -4618,6 +4618,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
+
|
|
|
this.token = JSON.parse(localStorage.getItem('userinif')).token;
|
|
|
this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
|
|
|
this.loadData(-1);
|
|
@@ -4762,6 +4763,8 @@ export default {
|
|
|
|
|
|
.cost-box .el-table .cell {
|
|
|
text-align: center;
|
|
|
+ padding-left: 5px;
|
|
|
+ padding-right: 5px;
|
|
|
}
|
|
|
|
|
|
.figures-btn {
|
|
@@ -4771,7 +4774,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.figures-btn .el-button--mini {
|
|
|
- width: 70px;
|
|
|
+ width: 67px;
|
|
|
margin: 2px 0;
|
|
|
margin-left: 0;
|
|
|
}
|
|
@@ -4818,4 +4821,23 @@ export default {
|
|
|
.czbtn {
|
|
|
width: 70px;
|
|
|
}
|
|
|
+.tables .el-textarea{
|
|
|
+ font-size: 10px;
|
|
|
+}
|
|
|
+.tables .el-button--mini{
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+.tables .el-textarea__inner{
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+.tables .el-input--suffix .el-input__inner{
|
|
|
+ padding-right: 0px;
|
|
|
+ padding-left: 0px;
|
|
|
+}
|
|
|
+.tables .el-date-editor .el-icon-date {
|
|
|
+ display: none;
|
|
|
+}
|
|
|
+.form-ss .el-checkbox__label{
|
|
|
+ font-size: 10px;
|
|
|
+}
|
|
|
</style>
|