Commit 87218662 authored by 沈良进's avatar 沈良进

save

parents 130c193b 4af9e597
......@@ -229,6 +229,7 @@
showRightMenu(e) {
if (e.button == 2) {
let id = ''
if (e.path) {
e.path.forEach(x => {
if (x.className && x.className.indexOf('el-tabs__item') != -1) {
id = x.id.split('-')[1]
......@@ -242,6 +243,20 @@
this.currentRightIndex = i
}
})
} else if (id == '' && e.target && e.target.id) {
var tempArray = e.target.id.split('-');
if (tempArray && tempArray.length > 1) {
id = tempArray[1];
}
this.tabs.forEach((x, i) => {
var newName = x.name + "_" + i;
if (newName == id) {
this.mouseX = e.clientX
this.mouserY = e.offsetY
this.currentRightIndex = i
}
})
}
}
},
goback(t) {
......
......@@ -174,7 +174,7 @@
<td>{{item.IsEurope==1?'是':''}}</td>
<td>{{item.TCProfit?item.TCProfit:'-'}}</td>
<td>{{item.PeopleNum?item.PeopleNum:'-'}}</td>
<td>{{item.TCGuestNum?item.TCGuestNum:'-'}}</td>
<td>{{item.TCProfit?item.TCProfit:'-'}}</td><!-- TCGuestNum -->
<td>{{item.Way==1?'销售额':'利润比'}}</td>
<td>{{item.Rate?item.Rate+'%':'-'}}</td>
<td>{{item.OrderProfit}}</td>
......@@ -563,4 +563,3 @@
}
</script>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -286,7 +286,10 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('InvoiceApply_get_BatchUpdateInvoiceApply', {OrderId: OrderId}, res=>{
this.apipost('InvoiceApply_get_BatchUpdateInvoiceApply', {
OrderId: OrderId,
InvoiceApplyType: this.msg.InvoiceApplyType
}, res=>{
if (res.data.resultCode == 1) {
this.getPageList()
}
......
<style>
@import "../../../assets/css/newTravelManager.css";
.people-item {
@import "../../../assets/css/newTravelManager.css";
.people-item {
margin-top: 5px;
font-size: 14px;
}
.people-item-title {
}
.people-item-title {
font-size: 12px;
color: #666;
margin-right: 4px;
}
.productQueryList {
}
.productQueryList {
width: 100%;
min-width: 1366px;
padding-left: 10px;
}
}
.productQueryList li {
.productQueryList li {
width: 100%;
border: 1px solid #e5e5e5;
background: #fff;
margin-bottom: 10px;
color: #333;
font-size: 14px;
}
}
.productQueryList li::after {
.productQueryList li::after {
content: "";
display: block;
clear: both;
}
}
.productQueryList li i.iconfont {
.productQueryList li i.iconfont {
color: #bbb;
margin-right: 8px;
}
}
.productQueryList li > div:first-child {
.productQueryList li>div:first-child {
display: table;
width: 100%;
}
}
.productQueryList li > div > div {
.productQueryList li>div>div {
display: table-cell;
border-right: 1px dashed #dcdfe6;
}
}
.productQueryList li > div > div:last-child {
.productQueryList li>div>div:last-child {
border-right: none;
}
}
.productQueryList li .d11 {
.productQueryList li .d11 {
float: left;
width: 160px;
height: 120px;
margin: 14px 14px 0 14px;
}
}
.productQueryList li .d11 > li {
.productQueryList li .d11>li {
width: 160px;
height: 120px;
border: none;
}
}
.productQueryList li .d11 > li > img {
.productQueryList li .d11>li>img {
width: 160px;
height: 120px;
}
}
.productQueryList li .d12 {
.productQueryList li .d12 {
float: left;
padding-top: 18px;
width: 200px;
}
}
.productQueryList li .d12 .d12p {
.productQueryList li .d12 .d12p {
margin-top: 3px;
font-size: 12px;
color: #999;
......@@ -85,32 +88,32 @@
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
.productQueryList li .d12 .d12p:hover {
.productQueryList li .d12 .d12p:hover {
text-decoration: underline;
color: #333;
}
}
.productQueryList li .d12 .d12TC {
.productQueryList li .d12 .d12TC {
margin: 5px 0;
color: #666666;
font-size: 12px;
}
}
.productQueryList li .d1 {
.productQueryList li .d1 {
width: 18%;
position: relative;
padding: 0 20px;
}
}
.productQueryList li .d2 {
.productQueryList li .d2 {
width: 14%;
text-align: center;
padding-top: 20px;
}
}
.productQueryList li .d2 p.flightNo {
.productQueryList li .d2 p.flightNo {
background: #ccc;
width: 136px;
margin: 5px 0;
......@@ -119,210 +122,210 @@
line-height: 22px;
display: inline-block;
font-size: 14px;
}
}
.productQueryList li .d2 p.flightNo em {
.productQueryList li .d2 p.flightNo em {
font-style: normal;
color: #333;
font-size: 12px;
font-weight: bold;
}
}
.productQueryList li .d2 p.flightNo .flem {
.productQueryList li .d2 p.flightNo .flem {
height: 22px;
width: 50px;
display: inline-block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.productQueryList li .d2 p > span {
.productQueryList li .d2 p>span {
color: #fff;
font-size: 12px;
border-radius: 10px;
background: #2aaef2;
padding: 2px 5px;
cursor: pointer;
}
}
.productQueryList li .d2 > div > div {
.productQueryList li .d2>div>div {
display: inline-block;
line-height: 24px;
font-size: 12px;
}
}
.productQueryList li .d3 {
.productQueryList li .d3 {
width: 17%;
padding-left: 40px;
padding-top: 20px;
}
}
.productQueryList li .d3 p {
.productQueryList li .d3 p {
line-height: 24px;
}
}
.productQueryList li .d3 p > span {
.productQueryList li .d3 p>span {
color: #666;
font-size: 12px;
margin-right: 10px;
}
}
.productQueryList li .d3 p > em {
.productQueryList li .d3 p>em {
background: #ff9c00;
font-style: normal;
margin-left: 8px;
color: #fff;
border-radius: 4px;
padding: 2px 5px;
}
}
.productQueryList li .d4 {
.productQueryList li .d4 {
width: 10%;
padding-left: 20px;
padding-top: 20px;
}
}
.productQueryList li .d4 p span.price {
.productQueryList li .d4 p span.price {
color: #333;
text-decoration: underline;
font-size: 12px;
}
}
.productQueryList li .d4 p span.price:hover {
.productQueryList li .d4 p span.price:hover {
color: #e95252;
font-weight: bold;
cursor: pointer;
}
}
.productQueryList li .d5 {
.productQueryList li .d5 {
width: 15%;
padding-left: 40px;
padding-top: 20px;
}
}
.productQueryList li .d5 p {
.productQueryList li .d5 p {
line-height: 26px;
}
}
.productQueryList li .d5 p > span {
.productQueryList li .d5 p>span {
color: #666;
font-size: 12px;
margin-right: 10px;
}
}
.productQueryList li .d5 p > i {
.productQueryList li .d5 p>i {
font-weight: bold;
font-style: normal;
}
}
.productQueryList li .d8 {
.productQueryList li .d8 {
width: 15%;
padding-left: 40px;
padding-top: 20px;
}
}
.productQueryList li .d8 p {
.productQueryList li .d8 p {
line-height: 26px;
}
}
.productQueryList li .d8 p > span {
.productQueryList li .d8 p>span {
color: #666;
font-size: 12px;
margin-right: 10px;
}
}
.productQueryList li .d8 p > i {
.productQueryList li .d8 p>i {
font-style: normal;
}
}
.productQueryList li .d6 {
.productQueryList li .d6 {
padding: 20px 40px;
width: 100%;
height: inherit;
border-top: 1px solid #e5e5e5;
}
}
.productQueryList li .d6 p {
.productQueryList li .d6 p {
display: table-cell;
color: #e95252;
}
}
.productQueryList li .d6 p:nth-child(1) {
.productQueryList li .d6 p:nth-child(1) {
width: 60px;
font-size: 12px;
}
}
.productQueryList li .d7 {
.productQueryList li .d7 {
width: 10%;
min-width: 160px;
text-align: center;
padding: 40px 20px;
border-right: none;
}
}
.productQueryList li .d7 button {
.productQueryList li .d7 button {
width: 30px;
height: 30px;
border-radius: 4px;
}
}
.productQueryList li .d7 .el-button--primary {
.productQueryList li .d7 .el-button--primary {
padding: 5px;
margin: 0;
font-size: 14px !important;
color: #fff;
}
}
.productQueryList li .d7 i.iconfont {
.productQueryList li .d7 i.iconfont {
color: #fff;
margin: 0;
}
}
.pro_tripDetails {
.pro_tripDetails {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
}
.pro_tripDetails .popper__arrow::after {
.pro_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
}
.pro_tripDetails table {
.pro_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
}
.pro_tripDetails table th {
.pro_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
}
.pro_tripDetails table td {
.pro_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
}
.pro_tripDetails table td._d_name {
.pro_tripDetails table td._d_name {
background-color: #ededed;
}
}
.pro_tripDetails table ._color_666 {
.pro_tripDetails table ._color_666 {
color: #666666;
}
}
.pro_tripDetails table tr._color_666 th {
.pro_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
}
.productQuerybottomLayer {
.productQuerybottomLayer {
overflow: auto;
position: fixed;
/* max-height: 300px; */
......@@ -333,13 +336,13 @@
background-color: #ffffff;
padding: 10px 10px 0;
width: 100%;
}
}
.productQuerybottomLayer .el-form-item__label {
.productQuerybottomLayer .el-form-item__label {
font-size: 12px !important;
}
}
.productQuerybottomLayer > p {
.productQuerybottomLayer>p {
border-left: 3px solid #e95252;
text-indent: 15px;
height: 16px;
......@@ -348,18 +351,18 @@
margin-bottom: 20px;
line-height: 14px;
color: #000;
}
}
.productQuerybottomLayer .el-input {
.productQuerybottomLayer .el-input {
width: auto !important;
}
}
.productQueryList .disabledBtn {
.productQueryList .disabledBtn {
background: #999 !important;
border-color: #999 !important;
}
}
.product_union {
.product_union {
position: absolute;
top: 0px;
left: 0px;
......@@ -369,9 +372,9 @@
border-bottom: 15px solid transparent;
border-left: 15px solid red;
border-right: 15px solid transparent;
}
}
.product_union::after {
.product_union::after {
content: "联";
position: absolute;
top: -14px;
......@@ -379,9 +382,9 @@
white-space: nowrap;
color: #ffffff;
font-size: 12px;
}
}
.product_union1 {
.product_union1 {
position: absolute;
top: 0px;
left: 0px;
......@@ -391,9 +394,9 @@
border-bottom: 15px solid transparent;
border-left: 15px solid red;
border-right: 15px solid transparent;
}
}
.product_union1::after {
.product_union1::after {
content: "内";
position: absolute;
top: -14px;
......@@ -401,9 +404,9 @@
white-space: nowrap;
color: #ffffff;
font-size: 12px;
}
}
.product_warning {
.product_warning {
position: absolute;
top: 0px;
right: 0px;
......@@ -413,9 +416,9 @@
border-bottom: 10px solid transparent;
border-left: 10px solid transparent;
border-right: 10px solid red;
}
}
.product_warning::after {
.product_warning::after {
content: "!";
position: absolute;
top: -12px;
......@@ -423,102 +426,83 @@
white-space: nowrap;
color: #ffffff;
font-size: 12px;
}
}
.PQ_detail {
.PQ_detail {
width: 100%;
border-collapse: collapse;
}
}
.PQ_detail tr th,
.v-table-title-cell {
.PQ_detail tr th,
.v-table-title-cell {
background: #e6e6e6;
height: 40px;
font-size: 14px;
border-right: 1px solid #e6e6e6;
color: #333;
}
}
.PQ_detail tr {
.PQ_detail tr {
background: #fff;
text-align: center;
height: 40px;
}
}
.PQ_detail tr td {
.PQ_detail tr td {
font-size: 12px;
border: 1px solid #e5e5e5;
}
}
.PQ_HotelPop {
.PQ_HotelPop {
overflow: auto;
max-height: 350px;
}
}
.PQ_HotelPop table td {
.PQ_HotelPop table td {
padding: 5px 0;
text-align: center;
}
}
.PQ_HotelPop table th {
.PQ_HotelPop table th {
text-align: center;
}
}
.productQuerybottomLayer .el-upload-list {
.productQuerybottomLayer .el-upload-list {
width: 200px;
}
.flex-center {
}
.flex-center {
display: flex;
justify-content: center;
}
}
</style>
<template>
<template>
<div class="productQueryList" v-loading="loading">
<div style="margin-bottom: 10px">
<el-checkbox v-model="allCheck" @change="changeSelect">全选</el-checkbox>
<el-button
style="margin-left: 10px"
type="primary"
size="small"
@click="eidtItems"
>批量操作</el-button
>
<el-button style="margin-left: 10px" type="primary" size="small" @click="eidtItems">批量操作</el-button>
</div>
<ul v-if="list.length != 0">
<li v-for="(item, index) in list" :key="index">
<div class="dline">
<div>
<div class="flex-center">
<el-checkbox
v-model="item.check"
@change="changeSelectItem()"
></el-checkbox>
<el-checkbox v-model="item.check" @change="changeSelectItem()"></el-checkbox>
</div>
</div>
<div class="d1">
<div v-if="item.IsB2B === 0" class="product_union1"></div>
<div v-if="item.IsUnionTravel === 1" class="product_union"></div>
<div v-if="item.IsWarning === 1" class="product_warning"></div>
<div
class="d12"
style="float: none; margin: auto"
:style="{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }"
>
<div class="d12" style="float: none; margin: auto"
:style="{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }">
<p><i class="iconfont icon-biaoti1"></i> {{ item.LineName }}</p>
<p class="d12TC">{{ item.TCNUM }}{{ item.TCID }}</p>
<p>{{ item.LtName }}</p>
<el-tooltip
class="item"
effect="dark"
:content="item.Title"
placement="top-start"
popper-class="max-w250"
>
<p
class="d12p"
@click="getTitledetail(item)"
:title="item.Title"
>
<el-tooltip class="item" effect="dark" :content="item.Title" placement="top-start"
popper-class="max-w250">
<p class="d12p" @click="getTitledetail(item)" :title="item.Title">
{{ item.Title }}
</p>
</el-tooltip>
......@@ -527,8 +511,7 @@
<div class="d3" v-if="pagesTitle == '跟团游产品'">
<div> <span class="people-item-title">出团公司: </span>{{ item.OutBranchName }}</div>
<p class="people-item">
<span>{{ $t("Airticket.Air_StartTime") }}:</span
>{{ item.StartDate }}
<span>{{ $t("Airticket.Air_StartTime") }}:</span>{{ item.StartDate }}
</p>
<div class="people-item">
<span class="people-item-title">创建人:</span>
......@@ -537,11 +520,8 @@
</div>
<div class="d5">
<p>
<span>{{ $t("visa.v_yibaoru") }}</span
><i
>{{ item.Seat == "" ? "0" : item.Seat
}}{{ $t("salesModule.PeoPle") }}</i
>({{ $t("Operation.Op_takeSeat") }}{{ item.Occupied
<span>{{ $t("visa.v_yibaoru") }}</span><i>{{ item.Seat == "" ? "0" : item.Seat
}}{{ $t("salesModule.PeoPle") }}</i>({{ $t("Operation.Op_takeSeat") }}{{ item.Occupied
}}{{ $t("salesModule.PeoPle") }})
</p>
<span style="font-size: 12px"><span class="people-item-title">联运人数: </span>{{ item.IntermodalCount }}</span>
......@@ -570,9 +550,7 @@
</div>
<div>
<div class="flex-center">
<el-button type="primary" size="small" @click="editItem(item)"
>编辑</el-button
>
<el-button type="primary" size="small" @click="editItem(item)">编辑</el-button>
</div>
</div>
</div>
......@@ -581,101 +559,49 @@
<div class="noData" v-else>
{{ $t("system.content_noData") }}
</div>
<el-dialog
title="编辑"
:visible.sync="showDialog"
width="600px"
height="40%"
>
<el-dialog title="编辑" :visible.sync="showDialog" width="600px" height="40%">
<div v-if="!isVisa">
<span style="width: 15%; display: inline-block">团OP</span>
<el-select
style="width: 80%"
v-model="queryData.OPId"
filterable
:placeholder="$t('pub.pleaseSel')"
>
<el-option
v-for="item in EmployeeList"
:label="item.EmName"
:value="item.EmployeeId"
:key="item.EmployeeId"
>
<el-select style="width: 80%" v-model="queryData.OPId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in EmployeeList" :label="item.EmName" :value="item.EmployeeId" :key="item.EmployeeId">
</el-option>
</el-select>
</div>
<div v-if="!isVisa" style="margin-top: 10px">
<span style="width: 15%; display: inline-block">助手</span>
<el-select
style="width: 80%"
v-model="queryData.AssistantId"
multiple
filterable
:placeholder="$t('pub.pleaseSel')"
>
<el-option
v-for="item in EmployeeList"
:label="item.EmName"
:value="item.EmployeeId"
:key="item.EmployeeId"
>
<el-select style="width: 80%" v-model="queryData.AssistantId" multiple filterable
:placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in EmployeeList" :label="item.EmName" :value="item.EmployeeId" :key="item.EmployeeId">
</el-option>
</el-select>
</div>
<div style="margin-top: 10px">
<span style="width: 15%; display: inline-block">签证OP</span>
<el-select
filterable
style="width: 80%"
v-model="queryData.VisaOPId"
:placeholder="$t('pub.pleaseSel')"
>
<el-option
v-for="item in EmployeeList"
:label="item.EmName"
:value="item.EmployeeId"
:key="item.EmployeeId"
>
<el-select filterable style="width: 80%" v-model="queryData.VisaOPId" :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in EmployeeList" :label="item.EmName" :value="item.EmployeeId" :key="item.EmployeeId">
</el-option>
</el-select>
</div>
<div style="margin-top: 10px">
<span style="width: 15%; display: inline-block">签证助手</span>
<el-select
style="width: 80%"
v-model="queryData.VisaAssistantId"
multiple
filterable
:placeholder="$t('pub.pleaseSel')"
>
<el-option
v-for="item in EmployeeList"
:label="item.EmName"
:value="item.EmployeeId"
:key="item.EmployeeId"
>
<el-select style="width: 80%" v-model="queryData.VisaAssistantId" multiple filterable
:placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in EmployeeList" :label="item.EmName" :value="item.EmployeeId" :key="item.EmployeeId">
</el-option>
</el-select>
</div>
<div style="margin-top: 10px" v-if="editNum">
<span style="width: 15%; display: inline-block">签证人数</span
><el-input
type="number"
style="width: 80%; margin-left: 4px"
v-model="queryData.VisaNum"
/>
<span style="width: 15%; display: inline-block">签证人数</span>
<el-input type="number" style="width: 80%; margin-left: 4px" v-model="queryData.VisaNum" />
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="showDialog = false">取 消</el-button>
<el-button style="margin-right: 24px" type="primary" @click="submitOP"
>确 定</el-button
>
<el-button style="margin-right: 24px" type="primary" @click="submitOP">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
<script>
export default {
props: ["loading", "list", "pagesTitle", "isVisa"],
data() {
......@@ -807,18 +733,17 @@ export default {
editItem(item) {
this.TCIDs = item.TCID;
this.editObj = item;
console.log("editItem", item);
this.queryData = {
OPId: item.OPId || "",
AssistantId:
!item.AssistantId || item.AssistantId == "0"
? []
: item.AssistantId.split(",").map((item) => Number(item)),
!item.AssistantId || item.AssistantId == "0" ?
[] :
item.AssistantId.split(",").map((item) => Number(item)),
VisaOPId: item.VisaOPId || "",
VisaAssistantId:
!item.VisaAssistantId || item.VisaAssistantId == "0"
? []
: item.VisaAssistantId.split(",").map((item) => Number(item)),
!item.VisaAssistantId || item.VisaAssistantId == "0" ?
[] :
item.VisaAssistantId.split(",").map((item) => Number(item)),
VisaNum: item.VisaNum == -1 ? item.NeedVisaNum : item.VisaNum,
};
this.editNum = true;
......@@ -826,7 +751,6 @@ export default {
},
eidtItems() {
this.TCIDs = this.getSelcetedIds();
console.log("eidtItems eidtItems", this.TCIDs);
if (!this.TCIDs) {
this.$message.error("请选择要编辑的内容");
return;
......@@ -844,8 +768,7 @@ export default {
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
this.apipost(
"admin_get_EmployeeGetList",
{},
"admin_get_EmployeeGetList", {},
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
......@@ -884,8 +807,7 @@ export default {
if (this.list[key].wxImage === "") {
this.wxLoading = true;
this.apipost(
"TaskManagemnet_get_GetWeiXinShare",
{
"TaskManagemnet_get_GetWeiXinShare", {
ConfigId: this.list[key].ConfigID,
TCID: this.list[key].TCID,
},
......@@ -984,8 +906,7 @@ export default {
"b2b_post_SetHotelClickService",
msg,
(res) => {
if (res.data.resultCode == 1) {
}
if (res.data.resultCode == 1) {}
},
(err) => {}
);
......@@ -1007,6 +928,6 @@ export default {
this.TCIDList = this.$route.query.TCIDList;
}
},
};
</script>
};
</script>
......@@ -524,7 +524,6 @@
},
},
mounted() {
console.log('this.router', this.$route, this.$router)
if(this.$route.path === '/productOrderList') {
this.isVisa = false
} else {
......
......@@ -414,7 +414,7 @@
<tr>
<td>
<el-form-item label="名称">
<el-input type="text" v-model="CtObj.TravelAgency_Name" :disabled="true" class="w300"
<el-input type="text" v-model="CtObj.TravelAgency_Name" class="w300"
maxlength="70"></el-input>
</el-form-item>
</td>
......@@ -1258,11 +1258,11 @@
Tourists_Fax: "",
Tourists_EmergencyLinkMan: "",
Tourists_EmergencyLinkTel: "",
TravelAgency_Name: "四川和平国际旅行社有限公司", //旅行社名称
TravelAgency_Name: "(株)ピースインターナショナル", //旅行社名称
TravelAgency_LicenseNum: "L-SC-CJ00015",
TravelAgency_DealMan: "",
TravelAgency_IDNum: "",
TravelAgency_Address: "成都市锦江区一环路东五段87号2幢23层2310.2311.2312号",
TravelAgency_Address: "東京都北区滝野川5-41-3 TKビル9階",
TravelAgency_Tel: "",
TravelAgency_Fax: "",
TravelAgency_PostNum: "",
......
......@@ -79,23 +79,25 @@
</el-tabs>
<div class="commonContent" v-loading="loading">
<ul class="_content">
<li v-for="item in dataList" :key="item.subCode" :data-id='item.ID' style="padding:0 15px;">
<div class="Audit_left" style="width:80px">
<li v-for="item in dataList" :key="item.ID" style="padding:0 15px;">
<div class="Audit_left" style="width:140px">
<div>
<el-tooltip popper-class="max-w250" effect="dark" :content="item.ID" placement="top-start">
<span>编号:{{item.ID}}</span>
</el-tooltip>
</div>
<el-tooltip popper-class="max-w250" effect="dark" :content="item.TeamTypeName" placement="top-start">
<div style="margin-top: 10px">类型:{{item.TeamTypeName}}</div>
</el-tooltip>
<div style="margin-top:1px">类型:
<template v-if="item.TeamType==1">
<i style="color:red;font-weight:bold;">{{item.TeamTypeName}}</i>
</template>
<template v-else>
{{item.TeamTypeName}}
</template>
</div>
<div style="margin-top:3px">出发日期:{{item.OutDateTime}}</div>
</div>
<div class="Audit_left" style="width:20%;">
<div>
<p class="quoListName" style="padding-right:20px;width:100%;">
<el-tooltip popper-class="max-w250" effect="dark" :content="item.LineName" placement="top-start">
<span>{{item.LineName}}</span>
</el-tooltip>
</p>
<p class="Quo_Content" style="padding-right:20px;width:100%;"><i v-if="item.LtName"
class="iconfont icon-richeng"></i>
......@@ -251,32 +253,11 @@
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="queryData.pageSize" :total="total">
</el-pagination>
<el-dialog custom-class='ComTeamPlan_info_box' :title="tripTitle" :visible.sync="outerVisible" center>
<commonTeamInfo ref="comDialog"></commonTeamInfo>
</el-dialog>
<div class="shenheBtm" v-if="isShowDan">
<el-form label-width="100px" :model="AuditInfo" :rules="rules" ref="AuditInfo">
<el-col :span="3">
<div style="margin:58px 0 0 50px;">
<el-radio v-model="AuditInfo.TravelState" label="3">通过</el-radio>
<el-radio v-model="AuditInfo.TravelState" label="4">驳回</el-radio>
</div>
</el-col>
<el-col :span="10" style="margin-top:30px;">
<el-form-item label="审批说明">
<el-input type="textarea" class="w600" v-model="AuditInfo.AuditContent"></el-input>
</el-form-item>
</el-col>
<el-col :span="3" style="margin-top:60px;">
<button class="hollowFixedBtn" @click="isShowDan=false">取消</button>
<button class="normalBtn" @click="submitForm('AuditInfo')">保存</button>
</el-col>
</el-form>
</div>
</div>
</template>
<script>
import commonTeamInfo from "../../commonPage/commonTeamInfo.vue";
export default {
data() {
return {
......@@ -287,18 +268,6 @@
PageSize: "5",
TravelState: 2
},
AuditInfo: {
ID: "",
TravelState: "",
AuditContent: ""
},
rules: {
AuditContent: [{
required: true,
message: "请填写审核说明",
trigger: "blur"
}]
},
loading: true,
//默认选中
activeName: "2",
......@@ -306,8 +275,7 @@
EmployeeList: [],
//日志
AuditLogList: "",
//显示隐藏审核
isShowDan: false,
//线路列表
LineList: "",
noLimit: 0,
......@@ -318,14 +286,10 @@
dataList: "",
total: 0,
currentPage: 1,
SalesPriceList: [],
CostList: [],
outerVisible: false,
tripTitle: ""
};
},
components: {
commonTeamInfo: commonTeamInfo
},
methods: {
handleCurrentChange(val) {
......@@ -415,57 +379,6 @@
}
);
},
//点击销售定价获取数据
getSalsPrice(ID) {
let msg = {
ID: ID
};
this.SalesPriceList = [];
this.apipost("travel_get_GetTravelQuotationPrice", msg, res => {
if (res.data.resultCode == 1) {
this.SalesPriceList.push(res.data.data[0]);
}
});
},
//点击地接成本获取数据
getCostPrice(ID) {
let msg = {
ID: ID
};
this.CostList = [];
this.apipost("travel_get_GetTravelOfferPrice", msg, res => {
if (res.data.resultCode == 1) {
if (res.data.data[0] != undefined || res.data.data[0] != null) {
let cost = res.data.data[0];
let dayNum = 0;
cost.LocalOfferPriceList.forEach(x => {
if (x.DayNum > dayNum) {
dayNum = x.DayNum;
}
});
let offerPriceList = [];
for (let i = 1; i <= dayNum; i++) {
let dayOfferPriceList = [];
let totalPrice = 0;
cost.LocalOfferPriceList.forEach(x => {
if (x.DayNum == i) {
dayOfferPriceList.push(x);
totalPrice += x.OfferPrice;
}
});
let offerPrice = {
day: i,
dayOfferPriceList,
totalPrice
};
offerPriceList.push(offerPrice);
}
cost["offerPriceList"] = offerPriceList;
this.CostList.push(cost);
}
}
});
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
this.apipost(
......@@ -474,26 +387,15 @@
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
},
err => {}
}
);
},
getJourney(id, title) {
//根据ID 获取行程内容
var that = this;
this.tripTitle = title;
this.$nextTick(() => {
that.$refs.comDialog.GetTrip(id);
});
that.outerVisible = true;
},
goUrl(path, configId, qType) {
if (configId > 0) {
this.$router.push({
name: path,
query: {
configId: configId,
Qtype: qType,
blank: 'y',
tab: '报价单审核'
......@@ -505,44 +407,6 @@
});
}
},
submitForm() {
//提交创建、修改表单
this.$refs["AuditInfo"].validate(valid => {
if (valid) {
this.saveAudit();
} else {
return false;
}
});
},
auditDanList(ID) {
this.isShowDan = true;
this.AuditInfo.ID = ID;
},
//提交审核
saveAudit() {
this.apipost(
"travel_get_AuditTravelConfig",
this.AuditInfo,
res => {
if (res.data.resultCode == 1) {
this.Success("审核成功");
this.isShowDan = false;
this.getList();
}
},
err => {}
);
},
//格式化日期去掉年
formatStartDate(value) {
if (value == null || value == undefined) {
return "";
} else {
let dataArr = value.split("-");
return dataArr[1] + "-" + dataArr[2];
}
}
},
mounted() {
this.getLineList();
......
<style>
@import "../../../assets/css/newTravelManager.css";
.TB_comtitle {
color: #333333;
padding-left: 10px;
......@@ -22,9 +23,11 @@
padding: 20px;
height: 200px;
}
.tipTable tr td{
height: 30px!important;
.tipTable tr td {
height: 30px !important;
}
.TeamBalancePayment .singeRowTable tr th {
height: 30px;
}
......@@ -144,10 +147,11 @@
.span_all {
margin-left: 15px;
}
.TeamExpectList{
max-height:105px;
overflow:auto;
margin-bottom:0!important;
.TeamExpectList {
max-height: 105px;
overflow: auto;
margin-bottom: 0 !important;
}
</style>
......@@ -167,7 +171,8 @@
<div class="Team_DList">
<div class="Team_firstTitle">收客情况</div>
<div>团队编号:{{TCID}}
<span class="TC_neibu" style="float: inherit;margin-left: 5px;margin-right: 5px;" v-if="DataList.TeamBalance.StandardCurrencyName"
<span class="TC_neibu" style="float: inherit;margin-left: 5px;margin-right: 5px;"
v-if="DataList.TeamBalance.StandardCurrencyName"
:class="{'TCneibu':DataList.TeamBalance.StandardCurrencyName=='人民币','TCb2b':DataList.TeamBalance.StandardCurrencyName=='日元',
'TCb2c':DataList.TeamBalance.StandardCurrencyName=='新台币','AppPlat':DataList.TeamBalance.StandardCurrencyName=='',
'otherPlat':DataList.TeamBalance.StandardCurrencyName=='',}">{{DataList.TeamBalance.StandardCurrencyName}}结算</span>
......@@ -205,7 +210,8 @@
<div class="Team_Incontent">
<div>应收:<span>{{moneyFormat(moneyAll.otheryTotalyf)}}</span></div>
<div>实收:<span class="Team_Coins">{{moneyFormat(moneyAll.otheryTotalsf)}}</span></div>
<div>待收:<span class="Team_Coins">{{moneyFormat(moneyAll.otheryTotalyf-moneyAll.otheryTotalsf)}}</span></div>
<div>待收:<span
class="Team_Coins">{{moneyFormat(moneyAll.otheryTotalyf-moneyAll.otheryTotalsf)}}</span></div>
<div>
注:此处不进入'利润'计算,单纯只统计除团费外的其他总收入
</div>
......@@ -256,8 +262,10 @@
<div class="Team_Incontent" style="margin-bottom:0;">
<div class="TeamExpectList">
<template v-for="(subItem,index) in DataList.ExpectedCutList">
<div style="margin-bottom:5px;">{{subItem.BranchName}} <template></template>{{subItem.expectedCut}}
<span style="margin-left: 5px;font-size: 10px;" v-if="subItem.CurrencyName">{{subItem.CurrencyName}}</span>
<div style="margin-bottom:5px;">{{subItem.BranchName}}
<template></template>{{subItem.expectedCut}}
<span style="margin-left: 5px;font-size: 10px;"
v-if="subItem.CurrencyName">{{subItem.CurrencyName}}</span>
<span style="font-size: 10px;color: #ff9c00;margin-left: 5px;" v-if="subItem.StandardMoney">
结算{{subItem.StandardMoney}}{{DataList.TeamBalance.StandardCurrencyName}}
</span>
......@@ -314,15 +322,13 @@
</div>
</div>
</el-col>
</el-row>
</div>
</div>
<div class="Team_collection" v-loading="loading">
<div class="clearfix TB_PrintDiv" v-if="auditCoun>0">
<div style="font-size: 15px;margin-top: 10px;">当前有<span style="color: red;margin: 0 2px;">{{auditCoun}}</span>条数据不计入利润</div>
<div style="font-size: 15px;margin-top: 10px;">当前有<span
style="color: red;margin: 0 2px;">{{auditCoun}}</span>条数据不计入利润</div>
<div class="TB_comtitle TB-Title">驳回:
</div>
</div>
......@@ -370,10 +376,13 @@
</template>
</table>
<div class="clearfix TB_PrintDiv">
<div class="TB_comtitle TB-Title">收入</div>
<div class="TB_comtitle TB-Title">收入
<template v-if="DataList&&DataList.TeamBalance&&DataList.TeamBalance.TCNUM">
{{DataList.TeamBalance.TCNUM}} ({{TCID}})
</template>
</div>
<div v-if="IsHaveAuth" style="padding: 5px 0 0 0;">
<input type="button" value="团队小费" class="hollowFixedBtn TeamAddBtn" v-show="ishowBtn"
@click="AddTipDiv" />
<input type="button" value="团队小费" class="hollowFixedBtn TeamAddBtn" v-show="ishowBtn" @click="AddTipDiv" />
<input type="button" value="新增" class="hollowFixedBtn TeamAddBtn" v-show="ishowBtn"
@click="AddIncomeDetail" />
</div>
......@@ -802,7 +811,8 @@
<span class="span_all">应付:¥{{moneyFormat(moneyAll.ticketyf)}}</span>
<span class="span_all">实付:¥{{moneyFormat(moneyAll.ticketsf)}}</span>
</span>
<input v-if="DataList.TeamBalance.ShouldReceive==0&&EditBtn" type="button" class="hollowFixedBtn" value="设为机票损失" @click="Setloss('','all')" style="height:24px;padding:0 10px"/>
<input v-if="DataList.TeamBalance.ShouldReceive==0&&EditBtn" type="button" class="hollowFixedBtn"
value="设为机票损失" @click="Setloss('','all')" style="height:24px;padding:0 10px" />
</div>
</div>
......@@ -819,8 +829,7 @@
</tr>
<template v-for="item in DataList.FinicePayList">
<!-- <tr v-if='item.OrderSource===4 || isExists(item.CostTypeList,'国际段机票')'> -->
<tr
v-if="(isExists(item.CostTypeList,'国际段机票')
<tr v-if="(isExists(item.CostTypeList,'国际段机票')
|| item.OrderSource===4
|| isExists(item.CostTypeList,'机票退税')
|| isExists(item.CostTypeList,'机票罚金')
......@@ -829,7 +838,9 @@
<td>
<el-checkbox v-model="item.checked"></el-checkbox>
<span class="Team_income" @click="goUrl('FinancialDocumentsDetail',item.FrID)">{{item.FrID}}</span>
<input v-if="(DataList.TeamBalance.ShouldReceive==0 && isContain(item.CostTypeList))&&EditBtn" type="button" class="hollowFixedBtn" value="设为损失" @click="Setloss(item.FrID,'sigal')" style="height:24px;padding:0 10px"/>
<input v-if="(DataList.TeamBalance.ShouldReceive==0 && isContain(item.CostTypeList))&&EditBtn"
type="button" class="hollowFixedBtn" value="设为损失" @click="Setloss(item.FrID,'sigal')"
style="height:24px;padding:0 10px" />
</td>
<td><span v-for="subItem in item.CostTypeList" :key="subItem.subCode">{{subItem}}<br /></span></td>
<td>
......@@ -1090,7 +1101,8 @@
<th width="200">当前审核人</th>
</tr>
<template v-for="item in DataList.FinicePayList">
<tr v-if="isExists(item.CostTypeList,'保险费') || isExists(item.CostTypeList,'旅游责任险') || isExists(item.CostTypeList,'团队保险')">
<tr
v-if="isExists(item.CostTypeList,'保险费') || isExists(item.CostTypeList,'旅游责任险') || isExists(item.CostTypeList,'团队保险')">
<td>
<el-checkbox v-model="item.checked"></el-checkbox>
<span class="Team_income" @click="goUrl('FinancialDocumentsDetail',item.FrID)">{{item.FrID}}</span>
......@@ -1196,8 +1208,7 @@
<th width="200">当前审核人</th>
</tr>
<template v-for="item in DataList.newFinicePayList2">
<tr
v-if="NotExists(item.CostTypeList,'领队奖励金')
<tr v-if="NotExists(item.CostTypeList,'领队奖励金')
&&NotExists(item.CostTypeList,'机票折让费')
&&NotExists(item.CostTypeList,'签证费')
&&NotExists(item.CostTypeList,'签证佣金')
......@@ -1524,7 +1535,7 @@
<th>操作人/时间</th>
<th>操作</th>
</tr>
<template v-for="(item,i) in dataDocList" >
<template v-for="(item,i) in dataDocList">
<tr :key="i">
<td>{{item.Id}}</td>
<td>{{item.TCNUM}}{{item.TCID}}</td>
......@@ -1582,22 +1593,25 @@
<!-- 团队小费 -->
<el-dialog custom-class="tipdialog" width="500px" title="团队小费" :visible.sync="tipdialog" center>
<table class="singeRowTable tipTable" border="0" cellspacing="0" cellpadding="0" style=" border-spacing:0 10px;" v-loading="tiploading">
<table class="singeRowTable tipTable" border="0" cellspacing="0" cellpadding="0" style=" border-spacing:0 10px;"
v-loading="tiploading">
<tr>
<th class="text_left"> <input type="checkbox" @change="checkAll" v-model="checkd" ></th>
<th class="text_left"> <input type="checkbox" @change="checkAll" v-model="checkd"></th>
<th>订单号</th>
<th>旅客名称</th>
<th>平均小费</th>
<th>财务单据</th>
</tr>
<tr v-for="(item,index) in tipPeopleList" :key="index">
<td class="text_left"> <input type="checkbox" :disabled="item.FinanceId!=0" v-model="checkList" :value="item.GuestId" @change="checkThis"></td>
<td class="text_left"> <input type="checkbox" :disabled="item.FinanceId!=0" v-model="checkList"
:value="item.GuestId" @change="checkThis"></td>
<td>{{item.OrderId}}</td>
<td>{{item.GuestName}}</td>
<td>{{item.Money}}</td>
<td>
<span v-if="item.FinanceId==0">未录入</span>
<span style="text-decoration:underline;cursor:pointer" @click="gourlTip('FinancialDocumentsDetail',id)" v-else>{{item.FinanceId}}</span>
<span style="text-decoration:underline;cursor:pointer" @click="gourlTip('FinancialDocumentsDetail',id)"
v-else>{{item.FinanceId}}</span>
</td>
</tr>
<tr v-if="tipPeopleList.length==0">
......@@ -1616,17 +1630,17 @@
export default {
data() {
return {
isIncomeExpenditure: false,//查看团队收支明细权限
isIncomeExpenditure: false, //查看团队收支明细权限
auditList: [],
auditCoun:0,
ticketList:[],
tipdialog:false,
auditCoun: 0,
ticketList: [],
tipdialog: false,
gridData: [],
TCID: 0,
//数据列表
DataList: {
TeamBalance:{
ShouldReceive:0
TeamBalance: {
ShouldReceive: 0
}
},
OutBranchId: 0,
......@@ -1705,85 +1719,85 @@
otheryTotalsf: 0,
},
HangingList: [],
tipPeopleList:[],
checkList:[],
checkd:false,
tiploading:false,
checkListAll:[],
dateList:[],
dataInfo:{},
datainfoobj:{
pageIndex:1,
pageSize:10,
TCNUM:'',
FinanceId:0,
AccountId:-1,
Type:3,
StartTime:'',
EndTime:'',
tipPeopleList: [],
checkList: [],
checkd: false,
tiploading: false,
checkListAll: [],
dateList: [],
dataInfo: {},
datainfoobj: {
pageIndex: 1,
pageSize: 10,
TCNUM: '',
FinanceId: 0,
AccountId: -1,
Type: 3,
StartTime: '',
EndTime: '',
},
dataDocList:[],
EditBtn:false
dataDocList: [],
EditBtn: false
};
},
methods: {
//查询驳回数据
GetALLPageList(){
GetALLPageList() {
let msg = {
pageIndex:1,
pageSize:5,
FrID:0,
sDate:'',
eDate:'',
Status:'3',
TemplateId:0,
RB_Branch_Id:-1,
RB_Depart_Id:0,
sTradeDate:'',
eTradeDate:'',
ClientType:0,
RemitterName:'',
ClientID:0,
sMoney:'',
eMoney:'',
CurrencyId:0,
CostTypeID:0,
Conditon:0,
TCNUM:this.TCID,
pageIndex: 1,
pageSize: 5,
FrID: 0,
sDate: '',
eDate: '',
Status: '3',
TemplateId: 0,
RB_Branch_Id: -1,
RB_Depart_Id: 0,
sTradeDate: '',
eTradeDate: '',
ClientType: 0,
RemitterName: '',
ClientID: 0,
sMoney: '',
eMoney: '',
CurrencyId: 0,
CostTypeID: 0,
Conditon: 0,
TCNUM: this.TCID,
TCID: 0,
TradeWay:0,
Type:'-1',
AccountType:0,
QEndDate:'',
QStartDate:'',
UpdateBy:0,
IsFormRecPayQuery:'1',
KJCostTypeId:0,
IsSelectKJSetCostType:0,
Remark:'', //备注查询
Sort:'2',
EmployeeId:'',
OrderID:0,
}
this.apipost('Financial_post_GetALLPageList',msg,res=>{
if(res.data.resultCode == 1) {
TradeWay: 0,
Type: '-1',
AccountType: 0,
QEndDate: '',
QStartDate: '',
UpdateBy: 0,
IsFormRecPayQuery: '1',
KJCostTypeId: 0,
IsSelectKJSetCostType: 0,
Remark: '', //备注查询
Sort: '2',
EmployeeId: '',
OrderID: 0,
}
this.apipost('Financial_post_GetALLPageList', msg, res => {
if (res.data.resultCode == 1) {
let data = res.data.data.pageData.list;
this.auditList = data
this.auditCoun = this.auditList.length>0?this.auditList.length:0;
this.auditCoun = this.auditList.length > 0 ? this.auditList.length : 0;
}else{
this.loading= false;
} else {
this.loading = false;
this.$message.error(res.data.message);
}
},err=>{})
}, err => {})
},
goZhidan(item){
let Handmsg={
OtherType:10,
ReFinanceId:item.Id,
TCNUM:'',
goZhidan(item) {
let Handmsg = {
OtherType: 10,
ReFinanceId: item.Id,
TCNUM: '',
};
let arr=[];
let arr = [];
var TCArr = [this.TCID];
let orderObj = {
OrderID: 0,
......@@ -1791,54 +1805,57 @@
Obj: {},
TCIDList: TCArr
}
var msg=JSON.stringify(Handmsg);
var msg = JSON.stringify(Handmsg);
let routeData = this.$router.resolve({
name: 'ChoiceAddFinancialDocuments',
query: {czmsg:msg,'orderObj': JSON.stringify(orderObj)}
query: {
czmsg: msg,
'orderObj': JSON.stringify(orderObj)
}
})
window.open(routeData.href, '_blank')
},
getDocList(){
let obj={
pageIndex:1,
pageSize:999,
TCNUM:this.TCID,
FinanceId:0,
AccountId:-1,
Type:3,
StartTime:'',
EndTime:'',
getDocList() {
let obj = {
pageIndex: 1,
pageSize: 999,
TCNUM: this.TCID,
FinanceId: 0,
AccountId: -1,
Type: 3,
StartTime: '',
EndTime: '',
};
this.apipost('Financial_get_GetFinanceReceiptPageList',obj,res=>{
if(res.data.resultCode==1){
this.apipost('Financial_get_GetFinanceReceiptPageList', obj, res => {
if (res.data.resultCode == 1) {
this.dataDocList = res.data.data.pageData;
}else{
} else {
this.$message.error(res.data.message);
}
},err=>{})
}, err => {})
},
getdataInfo(){
if(this.dateList && this.dateList.length>0){
this.datainfoobj.StartTime=this.dateList[0];
this.datainfoobj.EndTime=this.dateList[1];
}else{
this.datainfoobj.StartTime='';
this.datainfoobj.EndTime='';
getdataInfo() {
if (this.dateList && this.dateList.length > 0) {
this.datainfoobj.StartTime = this.dateList[0];
this.datainfoobj.EndTime = this.dateList[1];
} else {
this.datainfoobj.StartTime = '';
this.datainfoobj.EndTime = '';
}
this.apipost('Financial_get_GetFinanceReceiptStatistics',this.datainfoobj,res=>{
this.apipost('Financial_get_GetFinanceReceiptStatistics', this.datainfoobj, res => {
if(res.data.resultCode==1){
if (res.data.resultCode == 1) {
this.dataInfo = res.data.data;
}else{
} else {
this.$message.error(res.data.message);
}
},err=>{})
}, err => {})
},
isContain(list){
isContain(list) {
if(list && list.length==1 && list[0]=="机票罚金"){
if (list && list.length == 1 && list[0] == "机票罚金") {
return false;
}else{
} else {
return true;
}
},
......@@ -1851,19 +1868,19 @@
});
},
Setloss(ID,type) {
Setloss(ID, type) {
var that = this;
let msg={
FrIDList:[]
let msg = {
FrIDList: []
};
let FrIDList=[];
let FrIDList = [];
if(type=='all'){
FrIDList=this.ticketList;
}else{
if (type == 'all') {
FrIDList = this.ticketList;
} else {
FrIDList.push(ID)
}
msg.FrIDList=FrIDList;
msg.FrIDList = FrIDList;
that.Confirm('是否设为损失,一旦设置,将无法修改!', function () {
......@@ -1882,7 +1899,7 @@
)
})
},
gourlTip(path,id){
gourlTip(path, id) {
this.$router.push({
name: path,
query: {
......@@ -1891,31 +1908,31 @@
}
});
},
SaveTip(){
if(this.checkList.length==0){
SaveTip() {
if (this.checkList.length == 0) {
this.Error("至少选择一个旅客!");
return;
}
let arr=[];
this.tipPeopleList.forEach(x=>{
this.checkList.forEach(y=>{
if(x.GuestId==y){
let obj={
OrderId:x.OrderId,
GuestId:x.GuestId,
GuestName:x.GuestName,
TCID:this.TCID,
let arr = [];
this.tipPeopleList.forEach(x => {
this.checkList.forEach(y => {
if (x.GuestId == y) {
let obj = {
OrderId: x.OrderId,
GuestId: x.GuestId,
GuestName: x.GuestName,
TCID: this.TCID,
};
arr.push(obj);
}
})
})
sessionStorage.setItem("TipGuestList",JSON.stringify(arr))
sessionStorage.setItem("TipGuestList", JSON.stringify(arr))
var TCArr = [this.TCID];
let orderObj = {
OrderID: 0,
OrderSource: 8,
tipObj:1,
tipObj: 1,
Obj: {},
TCIDList: TCArr
}
......@@ -1928,34 +1945,36 @@
'orderObj': JSON.stringify(orderObj)
}
});
this.tipdialog=false;
this.tipdialog = false;
},
checkThis(){ // 单选
if(this.checkList.length==this.checkListAll.length){
checkThis() { // 单选
if (this.checkList.length == this.checkListAll.length) {
this.checkd = true
return
}
this.checkd = false
},
checkAll(){ //全选
if(this.checkList.length==this.checkListAll.length){
this.checkList=[]
checkAll() { //全选
if (this.checkList.length == this.checkListAll.length) {
this.checkList = []
return
}
this.checkList = this.checkListAll;
},
AddTipDiv(){
this.checkList=[];
this.tiploading=true;
this.apipost('sellorder_post_GetNoEntryTipMoneyGuestList', {TCID:this.TCID}, res => {
this.tiploading=false;
AddTipDiv() {
this.checkList = [];
this.tiploading = true;
this.apipost('sellorder_post_GetNoEntryTipMoneyGuestList', {
TCID: this.TCID
}, res => {
this.tiploading = false;
if (res.data.resultCode == 1) {
this.tipPeopleList=res.data.data;
this.tipPeopleList.forEach(x=>{
if(x.FinanceId==0){
this.tipPeopleList = res.data.data;
this.tipPeopleList.forEach(x => {
if (x.FinanceId == 0) {
this.checkListAll.push(x.GuestId)
}
})
......@@ -1963,7 +1982,7 @@
this.$message.error(res.data.message);
}
}, null)
this.tipdialog=true;
this.tipdialog = true;
},
//判断数组包含字符串
isExists(array, str) {
......@@ -1986,11 +2005,11 @@
return flag;
},
//跳转至阿米巴结算详情
goAmoebaDetail(TCNUM,TCID){
goAmoebaDetail(TCNUM, TCID) {
this.$router.push({
name: "AmoebaDetail",
query: {
TCNUM:TCNUM,
TCNUM: TCNUM,
TCID: TCID,
blank: "y",
tab: "阿米巴结算详情"
......@@ -2102,7 +2121,7 @@
let that = this
if (res.data.resultCode == 1) {
let data = res.data.data;
let objData = function(obj){
let objData = function (obj) {
obj.newFinicePayList1 = []
obj.newFinicePayList2 = []
obj.newFinicePayList = []
......@@ -2114,40 +2133,40 @@
this.DataList = data;
data.FinicePayList.forEach(item => {
if((that.isExists(item.CostTypeList,'国际段机票')
|| item.OrderSource===4
|| that.isExists(item.CostTypeList,'机票退税')
|| that.isExists(item.CostTypeList,'机票罚金')
|| that.isExists(item.CostTypeList,'机票税金'))
|| that.isExists(item.CostTypeList,'国内联运段机票')){
if ((that.isExists(item.CostTypeList, '国际段机票') ||
item.OrderSource === 4 ||
that.isExists(item.CostTypeList, '机票退税') ||
that.isExists(item.CostTypeList, '机票罚金') ||
that.isExists(item.CostTypeList, '机票税金')) ||
that.isExists(item.CostTypeList, '国内联运段机票')) {
this.DataList.newFinicePayList1.push(JSON.parse(JSON.stringify(item)))
}else if(that.NotExists(item.CostTypeList,'领队奖励金')
&&that.NotExists(item.CostTypeList,'机票折让费')
&&that.NotExists(item.CostTypeList,'签证费')
&&that.NotExists(item.CostTypeList,'签证佣金')
&& that.NotExists(item.CostTypeList,'地接费(领取)')
&& that.NotExists(item.CostTypeList,'地接费(结算)')
&& that.NotExists(item.CostTypeList,'提成')
&& that.NotExists(item.CostTypeList,'国内联运')
&& that.NotExists(item.CostTypeList,'车资')
&& that.NotExists(item.CostTypeList,'邀请函费用')
&& that.NotExists(item.CostTypeList,'名单表费')
&& that.NotExists(item.CostTypeList,'领队佣金')
&& that.NotExists(item.CostTypeList,'导游佣金')
&&item.OrderSource!==4
&& that.NotExists(item.CostTypeList,'国际段机票')
&& that.NotExists(item.CostTypeList,'机票退税')
&& that.NotExists(item.CostTypeList,'机票罚金')
&& that.NotExists(item.CostTypeList,'机票税金')
&& item.OrderSource!==11
&& that.NotExists(item.CostTypeList,'赔偿')
&& that.NotExists(item.CostTypeList,'保险费')
&& that.NotExists(item.CostTypeList,'旅游责任险')
&& that.NotExists(item.CostTypeList,'团队保险')){
} else if (that.NotExists(item.CostTypeList, '领队奖励金') &&
that.NotExists(item.CostTypeList, '机票折让费') &&
that.NotExists(item.CostTypeList, '签证费') &&
that.NotExists(item.CostTypeList, '签证佣金') &&
that.NotExists(item.CostTypeList, '地接费(领取)') &&
that.NotExists(item.CostTypeList, '地接费(结算)') &&
that.NotExists(item.CostTypeList, '提成') &&
that.NotExists(item.CostTypeList, '国内联运') &&
that.NotExists(item.CostTypeList, '车资') &&
that.NotExists(item.CostTypeList, '邀请函费用') &&
that.NotExists(item.CostTypeList, '名单表费') &&
that.NotExists(item.CostTypeList, '领队佣金') &&
that.NotExists(item.CostTypeList, '导游佣金') &&
item.OrderSource !== 4 &&
that.NotExists(item.CostTypeList, '国际段机票') &&
that.NotExists(item.CostTypeList, '机票退税') &&
that.NotExists(item.CostTypeList, '机票罚金') &&
that.NotExists(item.CostTypeList, '机票税金') &&
item.OrderSource !== 11 &&
that.NotExists(item.CostTypeList, '赔偿') &&
that.NotExists(item.CostTypeList, '保险费') &&
that.NotExists(item.CostTypeList, '旅游责任险') &&
that.NotExists(item.CostTypeList, '团队保险')) {
this.DataList.newFinicePayList2.push(JSON.parse(JSON.stringify(item)))
}
})
this.GetALLPageList()//查询驳回数据
this.GetALLPageList() //查询驳回数据
this.DataList.FiniceReciveList.forEach(item => {
if (that.isExists(item.CostTypeList, '团费') || that.isExists(item.CostTypeList, '团款')) {
// 收入 团费
......@@ -2182,12 +2201,12 @@
.OrderSource !== 7) {
this.moneyAll.otherys += item.Money;
this.moneyAll.otherss += item.PayMoney;
this.moneyAll.otheryTotalyf+= item.Money;
this.moneyAll.otheryTotalsf+=item.PayMoney;
this.moneyAll.otheryTotalyf += item.Money;
this.moneyAll.otheryTotalsf += item.PayMoney;
}
})
this.ticketList=[];
this.ticketList = [];
this.DataList.FinicePayList.forEach(item => {
// 邀请函:
if (that.isExists(item.CostTypeList, '邀请函费用') || that.isExists(item.CostTypeList, '名单表费')) {
......@@ -2273,20 +2292,20 @@
}
})
// if(this.moneyAll.dijieys>0 || this.moneyAll.dijiess>0){
// }
// if(this.moneyAll.zifeiys>0 || this.moneyAll.zifeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.zifeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.zifeiss;
// }
// if(this.moneyAll.xiaofeiys>0 || this.moneyAll.xiaofeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.xiaofeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.xiaofeiss;
// } if(this.moneyAll.yongjinys>0 || this.moneyAll.yongjinss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.yongjinys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.yongjinss;
// }
// if(this.moneyAll.dijieys>0 || this.moneyAll.dijiess>0){
// }
// if(this.moneyAll.zifeiys>0 || this.moneyAll.zifeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.zifeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.zifeiss;
// }
// if(this.moneyAll.xiaofeiys>0 || this.moneyAll.xiaofeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.xiaofeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.xiaofeiss;
// } if(this.moneyAll.yongjinys>0 || this.moneyAll.yongjinss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.yongjinys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.yongjinss;
// }
}
});
},
......@@ -2402,7 +2421,7 @@
// )
},
//判断数组是否存在 值
isExists(arr,item){
isExists(arr, item) {
var flag = false;
for (var i = 0; i < arr.length; i++) {
if (arr[i] == item) {
......@@ -2426,7 +2445,7 @@
},
mounted() {
this.TCID = this.$route.query.id;
this.datainfoobj.TCNUM=this.$route.query.id;
this.datainfoobj.TCNUM = this.$route.query.id;
this.OutBranchId = this.$route.query.OutBranchId;
this.CloseIncomeBtn = this.$route.query.CloseIncomeBtn;
if (this.$route.query.IsHaveAuth) {
......@@ -2437,7 +2456,7 @@
let userInfo = this.getLocalStorage();
let ActionMenuCode = userInfo.ActionMenuCode;
// 查看团队收支明细权限
if (ActionMenuCode.indexOf('isIncomeExpenditure') != -1){
if (ActionMenuCode.indexOf('isIncomeExpenditure') != -1) {
this.isIncomeExpenditure = true
}
this.checkHasAuth();
......
......@@ -95,7 +95,12 @@
</td>
<td width="80" class="txtRightCost">团队类型</td>
<td width="300">
<template v-if="postConfig.TeamType==1">
<span style="color:red;font-weight:bold;">{{postConfig.TeamTypeName}}</span>
</template>
<template v-else>
{{postConfig.TeamTypeName}}
</template>
</td>
<td width="80" class="txtRightCost">行程天数</td>
<td>
......@@ -175,7 +180,7 @@
<td width="100" class="CP_ComTitle2 CostcomCenter"></td>
<td width="100" class="CP_ComTitle2 CostcomCenter"></td>
</tr>
<template v-if="CostNumberList&&CostNumberList.length>1" >
<template v-if="CostNumberList&&CostNumberList.length>1">
<template v-for="(subItem,subIndex) in dayCostPrice">
<template v-for="(childItem,childIndex) in CostNumberList">
<tr>
......@@ -222,7 +227,6 @@
</tr>
</template>
</template>
<template v-for="(childItem,childIndex) in CostNumberList">
<tr>
<td colspan="3" class="CP_ComTitle2 CostcomCenter" v-if="childIndex==0"
......@@ -259,7 +263,7 @@
</tr>
</template>
<template v-for="(childItem,childIndex) in CostNumberList">
<tr>
<tr :key="childIndex+1000">
<td colspan="3" class="CP_ComTitle2 CostcomCenter" v-if="childIndex==0"
:rowspan="CostNumberList.length">
人民币小计
......@@ -775,12 +779,6 @@
{{teamPrice.SingleRoomPrice}}
</td>
</tr>
<!-- <tr>
<td class="CP_ComTitle2">备注</td>
<td colspan="13">
{{OtherPrice.OtherRemark}}
</td>
</tr> -->
<tr>
<td class="CP_ComTitle2">附件</td>
<td colspan="13">
......@@ -794,9 +792,25 @@
</tr>
<tr>
<td class="CP_ComTitle2">审核备注</td>
<td colspan="13">
<td colspan="7">
<el-input type="textarea" v-model="postConfig.AuditContent"></el-input>
</td>
<td colspan="2">
当前团队类型: <template v-if="postConfig.TeamTypeName=='小包团'">
<span style="color:red;font-weight:bold;">{{postConfig.TeamTypeName}}</span>
</template>
<template v-else>
{{postConfig.TeamTypeName}}
</template>
</td>
<td colspan="4">
<el-form-item label="更改团队类型">
<el-select class="multiple_input" v-model="postConfig.TeamType">
<el-option v-for='item in teamList' :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr v-if="IsEdit==2">
<td colspan="14" style="text-align:center;">
......@@ -825,10 +839,23 @@
dayCostPrice: [],
CostCurrencyList: [],
CostNumberList: [],
teamPrice: {}
teamPrice: {},
teamList: [], //团队类型
}
},
methods: {
getTeamList() {
//出团公司
this.apipost(
"travel_GetTeamTypeEnumList", {},
res => {
if (res.data.resultCode == 1) {
this.teamList = res.data.data;
}
},
err => {}
);
},
selectTag(index) {
this.tabsActive = index
this.changeTabs()
......@@ -1091,14 +1118,15 @@
},
getchange() {
this.getLeaderShare();
}
},
mounted() {
this.orderList = this.OfferArray
this.changeTabs()
},
created() {},
created() {
this.getTeamList();
},
watch: {
},
......
......@@ -78,6 +78,17 @@
<el-form>
<div class="QuotationFirstDiv1">
<table>
<tr>
<th>
开团提示
</th>
<th colspan="5" style="text-align:left;line-height:40px;">
<p style="color:red;font-weight:bold;"> 1.“常规团”对应 “散拼”;&nbsp;&nbsp; 2.“小包团”(10人以下 或者
超过10人纯玩不进店);&nbsp;&nbsp;
3.“当地游”(不需要机票);
</p>
</th>
</tr>
<tr>
<td width="80" class="txtRightCost">出团类型</td>
<td>
......
......@@ -12,15 +12,15 @@
<template>
<div class="DirectQuotation clearfix" v-loading="loading">
<div class="singlePrice clearfix">
<CostNewPriceAudit v-if="haveData" ref="CostNewPrice" :postConfig="postData" :OtherPrice="otherPrice" :OfferArray="OfferArray"
:dayCostPrice="dayCostPriceList" :CostCurrencyList="CostCurrencyList" :CostNumberList="CostNumberList"
:CurrencyNumberListExt="CurrencyNumberListExt" :teamPrice="teamPrice" :IsEdit="IsEdit"></CostNewPriceAudit>
<CostNewPriceAudit v-if="haveData" ref="CostNewPrice" :postConfig="postData" :OtherPrice="otherPrice"
:OfferArray="OfferArray" :dayCostPrice="dayCostPriceList" :CostCurrencyList="CostCurrencyList"
:CostNumberList="CostNumberList" :CurrencyNumberListExt="CurrencyNumberListExt" :teamPrice="teamPrice"
:IsEdit="IsEdit"></CostNewPriceAudit>
</div>
</div>
</template>
<script>
import CostNewPriceAudit from "../TravelNewQuotation/CostNewPriceAudit";
export default {
data() {
return {
......@@ -64,7 +64,7 @@
OutBranchName: "", //出团公司名称
OutDateTime: "", //出发时间
OfferPayType: 0, //报价单付款方式()
SaleOfferPayType:0,//售价付款方式
SaleOfferPayType: 0, //售价付款方式
},
dayCostPriceList: [], //报价列表
isSubmit: true,
......@@ -145,7 +145,6 @@
};
},
methods: {
//保存数据
SaveData(Type) {
var nObj = {
......@@ -153,6 +152,7 @@
AuditContent: this.postData.AuditContent,
TravelState: Type,
OfferPayType: this.postData.OfferPayType,
TeamType:this.postData.TeamType,
};
this.loading = true;
this.apipost(
......@@ -186,8 +186,9 @@
let msg = {
ID: configId,
offerId: offerId
};this.apipost(
"travel_get_GetMyTravelInfo_V3", // travel_get_GetMyTravelInfo_V2
};
this.apipost(
"travel_get_GetMyTravelInfo_V3",
msg,
res => {
if (res.data.resultCode == 1) {
......@@ -226,53 +227,19 @@
this.postData.OutBranchId = tempData.OutBranchId;
this.postData.OutDateTime = tempData.OutDateTime;
this.postData.OfferPayType = tempData.OfferPayType;
this.postData.SaleOfferPayType=tempData.SaleOfferPayType;
this.postData.SaleOfferPayType = tempData.SaleOfferPayType;
this.LineList = tempData.LineList;
this.postData.LineName = tempData.LineName
this.postData.LtName = tempData.LtName
this.postData.LtName = tempData.LtName
this.postData.OutBranchName = tempData.OutBranchName
this.postData.TeamTypeName = tempData.TeamTypeName
if(tempData.OfferArray) {
this.postData.LineName = tempData.LineName;
this.postData.LtName = tempData.LtName;
this.postData.LtName = tempData.LtName;
this.postData.OutBranchName = tempData.OutBranchName;
this.postData.TeamTypeName = tempData.TeamTypeName;
this.postData.TeamType = tempData.TeamType;
if (tempData.OfferArray) {
tempData.OfferArray.forEach(item => {
this.OfferArray.push(item)
})
// this.OfferArray = tempData.OfferArray
}
// if (tempData.dayCostPriceList && tempData.dayCostPriceList != null && tempData.dayCostPriceList.length >
// 0) {
// this.dayCostPriceList = tempData.dayCostPriceList;
// }
// if (tempData.otherPrice) {
// this.otherPrice = tempData.otherPrice;
// }
// if (tempData.teamPrice) {
// this.teamPrice = tempData.teamPrice;
// }
// if (tempData.CostNumberList && tempData.CostNumberList != null && tempData.CostNumberList.length > 0) {
// this.CostNumberList = tempData.CostNumberList;
// }
// if (tempData.CostCurrencyList && tempData.CostCurrencyList != null && tempData.CostCurrencyList.length >
// 0) {
// this.CostCurrencyList = tempData.CostCurrencyList;
// }
// if (tempData.CurrencyNumberListExt && tempData.CurrencyNumberListExt != null && tempData
// .CurrencyNumberListExt.length > 0) {
// this.CurrencyNumberListExt = tempData.CurrencyNumberListExt;
// }
// if (this.CostCurrencyList && this.CostCurrencyList.length > 0 &&
// this.CurrencyNumberListExt) {
// this.CostCurrencyList.forEach(item => {
// let currencyNumberItem = {
// Key: item.CurrencyId,
// currencyNumberList: []
// };
// if (this.CurrencyNumberListExt.length == 0) {
// this.CurrencyNumberListExt.push(currencyNumberItem);
// }
// });
// }
this.haveData = true;
} else {
this.Error(res.data.message);
......
......@@ -159,7 +159,6 @@
return currencyNumList
}
this.postData.TravelState = type;
// console.log('this.postData', this.postData, this.postData.LineId)
// 线路必填
if(!this.postData.LineId) {
this.$message.error('请选择线路')
......
......@@ -51,12 +51,14 @@
cursor: pointer;
text-align: center;
}
.line1 {
.line1 {
width: 240px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
</style>
<template>
<div class="flexOne quoTation">
......@@ -83,7 +85,6 @@
</el-select>
</span>
</li>
<li>
<span>
<em>开团状态</em>
......@@ -97,7 +98,8 @@
<li>
<span>
<span>{{$t('visa.v_czuser')}}</span>
<el-select class="w150" v-model="queryData.CreateBy" filterable :placeholder="$t('pub.pleaseSel')">
<el-select class="w150" v-model="queryData.CreateBy" filterable :placeholder="$t('pub.pleaseSel')"
clearable>
<el-option :label="$t('pub.unlimitedSel')" :value="0">
</el-option>
<el-option v-for="(item,index) in EmployeeList" :label="item.EmName" :value="item.EmployeeId"
......@@ -116,30 +118,29 @@
<li v-for="item in dataList" :key="item.subCode" :data-id="item.ID" style="padding:0 10px;">
<div class="_left" style="padding:0;display:flex;">
<div class="QT_CodeNum">
<el-popover
placement="top-start"
title=""
width="200"
trigger="hover"
:content="item.TCNUMS">
<el-popover placement="top-start" title="" width="200" trigger="hover" :content="item.TCNUMS">
<div slot="reference" v-if="item.TCNUMS" class="line1">
团号:{{item.TCNUMS}}
</div>
</el-popover>
{{$t('hotel.hotel_SerialNumber')}}{{item.ID}}
<div>
类型:{{item.TeamTypeName}}
类型: <template v-if="item.TeamType==1">
<i style="color:red;font-weight:bold;">{{item.TeamTypeName}}</i>
</template>
<template v-else>
{{item.TeamTypeName}}
</template>
</div>
</div>
</div>
<div class="_left" style="display:flex;">
<div style="padding-left:10px">
<p style="font-size:14px">
<el-tooltip popper-class="max-w250" effect="dark" :content="item.Title" placement="top-start">
<span>线路名称:{{item.LineName}}</span>
</el-tooltip>
</p>
<span>系列名称:{{item.LtName}}</span>
<div> 出发日期:{{item.OutDateTime}}</div>
</div>
</div>
<div class="_left" style="padding-left:10px">
......@@ -147,7 +148,6 @@
<p style="font-size:14px">
<el-tooltip popper-class="max-w250" effect="dark" :content="item.Title" placement="top-start">
<span>{{item.Title}}</span>
</el-tooltip>
</p>
<span>客户名称:{{item.CustomerName}}</span>
......@@ -245,23 +245,12 @@
</div>
</div>
<div style="width:134px;">
<!--&& [2,5].includes(item.LineId)-->
<span class="openGroup opbd" @click="goToOpenTravel(item)"
v-if="item.TravelState==3&& item.OpenState==2">
<span class="openGroup opbd" @click="goToOpenTravel(item)" v-if="item.TravelState==3&& item.OpenState==2">
<el-tooltip class="item" effect="dark" content="开团" placement="top-start" popper-class="max-w250">
</el-tooltip>
</span>
<!-- <span v-if="EditBtn" class="bianji newAopbdd"
@click="goMakeQuo('QuotationNewPrice',item.ID, item.TeamType)">
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start"
popper-class="max-w250">
<i class="iconfont icon-bianji-smal"></i>
</el-tooltip>
</span> -->
<!-- v-if="item.TravelState!=3" -->
<span class="bianji newAopbdd" @click="goMakeQuo('QuotationNewPrice',item.ID, item.TeamType)"
>
<span class="bianji newAopbdd" @click="goMakeQuo('QuotationNewPrice',item.ID, item.TeamType)">
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start"
popper-class="max-w250">
<i class="iconfont icon-bianji-smal"></i>
......@@ -295,10 +284,6 @@
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryData.currentPage"
layout="total,prev, pager, next, jumper" :page-size="queryData.pageSize" :total="queryData.total">
</el-pagination>
<el-dialog custom-class='ComTeamPlan_info_box' :title="tripTitle" :visible.sync="outerVisible" center>
<commonTeamInfo ref="comDialog"></commonTeamInfo>
</el-dialog>
<!-- 下载弹窗 -->
<el-dialog custom-class='w450' title="报价单下载" :visible.sync="downloadBill" center>
<div class="BilldownLoadCommon">
......@@ -352,13 +337,10 @@
</div>
</template>
<script>
import commonTeamInfo from "../../commonPage/commonTeamInfo.vue";
export default {
data() {
return {
EmployeeList: [],
EditBtn: false, //报价单修改权限
userInfo: {},
queryData: {
CreateBy: '',
......@@ -373,28 +355,6 @@
TeamType: 0, //0常规,1-小包团,2-一日游,3-地接团
},
loading: true,
//报价单状态
TravelStateList: [{
Id: 1,
label: "草稿"
},
{
Id: 2,
label: "待审核"
},
{
Id: 3,
label: "审核通过"
},
{
Id: 4,
label: "审核拒绝"
},
{
Id: 5,
label: "已撤销"
}
],
//开团状态
OpenStateList: [{
Id: 1,
......@@ -413,10 +373,6 @@
//是否有数据
noData: false,
dataList: "",
SalesPriceList: [],
CostList: [],
outerVisible: false,
tripTitle: "",
downloadBill: false,
//下载参数
downLoadMsg: {
......@@ -435,9 +391,6 @@
},
};
},
components: {
commonTeamInfo: commonTeamInfo
},
methods: {
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
......@@ -457,7 +410,6 @@
this.EmployeeList = res.data.data;
}
},
err => {}
);
},
goUrl(path, configId, qType) {
......@@ -518,87 +470,6 @@
}
});
},
//点击销售定价获取数据
getSalsPrice(ID) {
this.SalesPriceList = [];
this.apipost(
"travel_get_GetTravelQuotationPrice", {
ID: ID
},
res => {
if (res.data.resultCode == 1) {
this.SalesPriceList = res.data.data;
}
}
);
},
//点击地接成本获取数据
getCostPrice(ID) {
this.CostList = [];
this.apipost(
"travel_get_GetTravelOfferPrice", {
ID: ID
},
res => {
if (res.data.resultCode == 1) {
if (res.data.data[0] != undefined || res.data.data[0] != null) {
let cost = res.data.data[0];
let dayNum = 0;
cost.LocalOfferPriceList.forEach(x => {
if (x.DayNum > dayNum) {
dayNum = x.DayNum;
}
});
let offerPriceList = [];
for (let i = 1; i <= dayNum; i++) {
let dayOfferPriceList = [];
let totalPrice = 0;
cost.LocalOfferPriceList.forEach(x => {
if (x.DayNum == i) {
dayOfferPriceList.push(x);
totalPrice += x.OfferPrice;
}
});
let offerPrice = {
day: i,
dayOfferPriceList,
totalPrice
};
offerPriceList.push(offerPrice);
}
cost["offerPriceList"] = offerPriceList;
this.CostList.push(cost);
}
}
}
);
},
//撤回
revokeInfo(ID) {
let msg = {
ID: ID,
TravelState: 5
};
this.apipost("travel_post_UpdateTravelState", msg, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
}
});
},
//修改状态
changeState(ID) {
let msg = {
ID: ID,
TravelState: 2
};
this.apipost("travel_post_UpdateTravelState", msg, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
}
});
},
//删除报价单
delQuotation(ID) {
var that = this;
......@@ -621,15 +492,6 @@
);
});
},
getJourney(id, title) {
//根据ID 获取行程内容
var that = this;
this.tripTitle = title;
this.$nextTick(() => {
that.$refs.comDialog.GetTrip(id);
});
that.outerVisible = true;
},
//报价单跳转
goMakeQuo(path, configId, TeamType) {
if (configId) {
......@@ -705,40 +567,14 @@
this.loading = false;
});
},
GetAuth() {
var actionCode = this.$AuthCode.EditQuotation;
this.CheckUserAuth(actionCode, res => {
if (res.data.resultCode == 1 && res.data.data == 1) {
this.EditBtn = true;
}
});
},
},
mounted() {
this.getEmployeeList();
this.GetAuth();
var routeName = this.$route.name;
// if (routeName == 'newQuotation') {
// this.queryData.TeamType = 3;
// }
// if (routeName == 'newQuotation2') {
// this.queryData.TeamType = 1;
// }
this.getLineList();
this.getList();
let isNoOffer = this.$route.params.isNoOffer;
if (isNoOffer) {
this.Warning("行程中含有未完善的报价信息,请在需求中心查看!");
}
},
created() {
this.userInfo = this.getLocalStorage();
if (this.$route.query.hasOwnProperty("cache")) {
if (this.$store.state.pageCondition != null) {
this.queryData = this.$store.state.pageCondition;
}
}
this.getList();
this.getEmployeeList();
this.getLineList();
}
};
......
......@@ -223,7 +223,7 @@
<tr>
<td colspan="4">
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')"
@click="GetList();showWarningSearch=false" style="width: 310px!important;" />
@click="msg.pageIndex=1,currentPage=1,GetList();showWarningSearch=false" style="width: 310px!important;" />
</td>
</tr>
</table>
......@@ -626,4 +626,3 @@
};
</script>
\ No newline at end of file
<style scoped>
.groupTourOrder_count_item > p > span {
.groupTourOrder_count_item>p>span {
margin: 0;
}
.color_red_order {
}
.color_red_order {
color: red;
}
.HT_total {
}
.HT_total {
display: flex;
flex-direction: column;
margin: 5px 0;
}
.HT_total p {
}
.HT_total p {
width: 100%;
display: block;
}
.HT_total p > span {
}
.HT_total p>span {
float: left;
display: inline-block;
width: 25%;
}
.TC_leftSearch > div {
}
.TC_leftSearch>div {
padding: 5px 0;
}
.groupTourOrderByTuan_ico {
}
.groupTourOrderByTuan_ico {
margin-left: 5px;
}
.groupTourOrderByTuan_ico > i {
}
.groupTourOrderByTuan_ico>i {
display: inline-block;
margin: 0 5px 0 0;
width: 8px;
height: 8px;
border-radius: 2px;
vertical-align: middle;
}
.HotelWorkList .has-gutter tr th,
.el-table th.is-leaf {
}
.HotelWorkList .has-gutter tr th,
.el-table th.is-leaf {
background-color: #eaeaea !important;
}
}
.HotelWorkList .HW_hotelDialog {
.HotelWorkList .HW_hotelDialog {
width: 900px;
}
}
.HotelWorkList .Hw_tableOne {
.HotelWorkList .Hw_tableOne {
width: 100%;
height: 40px;
background-color: #eaeaea;
}
}
.HotelWorkList .Hw_tableOne th {
.HotelWorkList .Hw_tableOne th {
text-align: center;
}
}
.HotelWorkList .HotelWorkInput .el-input {
.HotelWorkList .HotelWorkInput .el-input {
width: 223px;
}
}
.HotelWorkList .HworkInput .el-input {
.HotelWorkList .HworkInput .el-input {
width: 210px;
}
/deep/.query-box li span > em {
}
/deep/.query-box li span>em {
min-width: 60px;
}
}
</style>
<template>
<template>
<div class="HotelWorkList">
<div class="query-box HotelWorkInput" style="border-bottom: none">
<ul>
<li>
<span>
<em>公司</em>
<el-select
filterable
v-model="queryMsg.RB_Branch_Id"
@change="getDepartment"
>
<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 filterable v-model="queryMsg.RB_Branch_Id" @change="getDepartment">
<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
filterable
v-model="queryMsg.RB_Department_Id"
@change="getEmployee"
>
<el-select filterable v-model="queryMsg.RB_Department_Id" @change="getEmployee">
<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-option v-for="item in DepartmentList" :label="item.DepartmentName" :value="item.DepartmentID"
:key="item.DepartmentID"></el-option>
</el-select>
</span>
</li>
......@@ -112,49 +102,30 @@
<em>人员</em>
<el-select filterable v-model="queryMsg.EnterID" class>
<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-option v-for="item in EmployeeList" :label="item.EmName" :value="item.EmployeeId"
:key="item.EmployeeId"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>出团日期</em>
<el-date-picker
v-model="queryMsg.tStartDates"
type="daterange"
range-separator="-"
:start-placeholder="$t('hotel.hotel_StartDate')"
:end-placeholder="$t('hotel.hotel_EndDate')"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions"
></el-date-picker>
<el-date-picker v-model="queryMsg.tStartDates" type="daterange" range-separator="-"
:start-placeholder="$t('hotel.hotel_StartDate')" :end-placeholder="$t('hotel.hotel_EndDate')"
value-format="yyyy-MM-dd" :picker-options="pickerOptions"></el-date-picker>
</span>
</li>
<li>
<span>
<em>报名日期</em>
<el-date-picker
v-model="queryMsg.qStartDates"
type="daterange"
range-separator="-"
:start-placeholder="$t('hotel.hotel_StartDate')"
:end-placeholder="$t('hotel.hotel_EndDate')"
value-format="yyyy-MM-dd"
></el-date-picker>
<el-date-picker v-model="queryMsg.qStartDates" type="daterange" range-separator="-"
:start-placeholder="$t('hotel.hotel_StartDate')" :end-placeholder="$t('hotel.hotel_EndDate')"
value-format="yyyy-MM-dd"></el-date-picker>
</span>
</li>
<li>
<input
type="button"
class="normalBtn"
:value="$t('pub.searchBtn')"
@click.stop="(msg.pageIndex = 1), (currentPage = 1), GetList()"
/>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')"
@click.stop="(msg.pageIndex = 1), (currentPage = 1), GetList()" />
</li>
</ul>
</div>
......@@ -168,24 +139,20 @@
<span>{{ item.CurrencyName }}</span>
</div>
<p>
<span
>销售额:
<span>销售额:
{{ (item.SumPreferPrice|| 0).toFixed(2) }}
</span>
<span
>收款金额:
<span>收款金额:
{{ (item.Income|| 0).toFixed(2) }}
</span>
<!-- <span
>手续费:
{{ item.PlatformTax.toFixed(2) }}
</span> -->
<span
>未收金额:
<span>未收金额:
{{ (item.notInCome|| 0).toFixed(2) }}
</span>
<span
>正常收客数:
<span>正常收客数:
{{ item.TotalGuestNum }}
</span>
<!-- <span
......@@ -198,36 +165,24 @@
</template>
</el-row>
</div>
<OrderList
:pagesTitle="Title"
:OrderList="OrderList"
v-loading="loading"
@success="(msg.pageIndex = 1), GetList()"
>
<OrderList :pagesTitle="Title" :OrderList="OrderList" v-loading="loading" @success="(msg.pageIndex = 1), GetList()">
</OrderList>
<div
v-if="OrderList && OrderList.length == 0"
style="text-align: center; padding: 100px"
>
<div v-if="OrderList && OrderList.length == 0" style="text-align: center; padding: 100px">
暂无数据
</div>
<el-pagination
v-if="OrderList && OrderList.length > 0"
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size="msg.pageSize"
:total="total"
>
<el-pagination v-if="OrderList && OrderList.length > 0" background @current-change="handleCurrentChange"
:current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size="msg.pageSize"
:total="total">
</el-pagination>
</div>
</template>
<script>
import OrderList from "./OrderList.vue";
export default {
<script>
import OrderList from "./OrderList.vue";
export default {
props: ["pagesTitle", "dataObj"],
components: { OrderList },
components: {
OrderList
},
data() {
return {
pickerOptions: {
......@@ -327,14 +282,27 @@ export default {
total: 0,
currentPage: 1,
OrderTypeList: [],
OrderStateType: [
{ Name: "接机", ID: "1" },
{ Name: "送机", ID: "2" },
{ Name: "包车", ID: "3" },
OrderStateType: [{
Name: "接机",
ID: "1"
},
{
Name: "送机",
ID: "2"
},
{
Name: "包车",
ID: "3"
},
],
orderType: [
{ Name: this.$t("OrderList.orderType.tour"), ID: "1" },
{ Name: this.$t("OrderList.orderType.guest"), ID: "2" },
orderType: [{
Name: this.$t("OrderList.orderType.tour"),
ID: "1"
},
{
Name: this.$t("OrderList.orderType.guest"),
ID: "2"
},
],
Datelist: "",
DatelistUse: "",
......@@ -372,11 +340,9 @@ export default {
"admin_get_BranchGetList",
this.getCompanyMsg,
(res) => {
console.log("getCompanyList", res);
if (res.data.resultCode == 1) {
this.CompanyList = res.data.data;
} else {
}
} else {}
},
(err) => {}
);
......@@ -500,29 +466,23 @@ export default {
let param = {
pageIndex: this.msg.pageIndex,
pageSize: 15,
RB_Branch_Id:
this.queryMsg.RB_Branch_Id == -1 ? null : this.queryMsg.RB_Branch_Id,
RB_Department_Id:
this.queryMsg.RB_Department_Id == 0
? null
: this.queryMsg.RB_Department_Id,
RB_Branch_Id: this.queryMsg.RB_Branch_Id == -1 ? null : this.queryMsg.RB_Branch_Id,
RB_Department_Id: this.queryMsg.RB_Department_Id == 0 ?
null :
this.queryMsg.RB_Department_Id,
EnterID: this.queryMsg.EnterID == 0 ? null : this.queryMsg.EnterID,
QStartDate:
this.queryMsg.tStartDates && this.queryMsg.tStartDates.length == 2
? this.queryMsg.tStartDates[0]
: null,
QEndDate:
this.queryMsg.tStartDates && this.queryMsg.tStartDates.length == 2
? this.queryMsg.tStartDates[1]
: null,
CStartDate:
this.queryMsg.qStartDates && this.queryMsg.qStartDates.length == 2
? this.queryMsg.qStartDates[0]
: null,
CEndDate:
this.queryMsg.qStartDates && this.queryMsg.qStartDates.length == 2
? this.queryMsg.qStartDates[1]
: null,
QStartDate: this.queryMsg.tStartDates && this.queryMsg.tStartDates.length == 2 ?
this.queryMsg.tStartDates[0] :
null,
QEndDate: this.queryMsg.tStartDates && this.queryMsg.tStartDates.length == 2 ?
this.queryMsg.tStartDates[1] :
null,
CStartDate: this.queryMsg.qStartDates && this.queryMsg.qStartDates.length == 2 ?
this.queryMsg.qStartDates[0] :
null,
CEndDate: this.queryMsg.qStartDates && this.queryMsg.qStartDates.length == 2 ?
this.queryMsg.qStartDates[1] :
null,
GroupBy: this.queryMsg.GroupBy,
QueryType: this.queryMsg.QueryType,
};
......@@ -557,7 +517,7 @@ export default {
);
},
getSummaryData() {
if(this.msg.pageIndex != 1) {
if (this.msg.pageIndex != 1) {
return
}
let param = this.getParams();
......@@ -597,14 +557,14 @@ export default {
}
let userInfo = this.getLocalStorage();
this.employeeMsg.GroupId = userInfo.RB_Group_id; //集团ID
// this.msg.EnterID = userInfo.EmployeeId;
},
mounted() {
this.getCompanyMsg.RB_Group_Id = this.getLocalStorage().RB_Group_id;
this.getDepartmentMsg.RB_Group_Id = this.getLocalStorage().RB_Group_id;
this.employeeMsg.employeeMsg = this.getLocalStorage().RB_Group_id;
const { BranchId = 0, EnterID = 0, RB_Department_Id = 0, tStartDates = [],qStartDates=[] } = this.$route.query;
console.log("this.$route.query.", this.$route);
const {
BranchId = 0, EnterID = 0, RB_Department_Id = 0, tStartDates = [], qStartDates = []
} = this.$route.query;
this.queryMsg.RB_Branch_Id = Number(BranchId);
this.queryMsg.EnterID = Number(EnterID);
this.queryMsg.RB_Department_Id = Number(RB_Department_Id);
......@@ -634,6 +594,6 @@ export default {
this.com_onresize();
};
},
};
</script>
};
</script>
......@@ -532,7 +532,6 @@ export default {
let date = moment().format('yyyy-MM-DD')
let start = moment().subtract(1, 'months').format('yyyy-MM-DD')
this.msg.tStartDates = [start, date]
console.log('settStartDates',date,start)
},
handleClick(tab, event) {
this.msg.EnterID = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment