Commit 31f57bba authored by 罗超's avatar 罗超
parents 2eb05572 7cd60a48
......@@ -2466,13 +2466,13 @@
.CostPriceTable .el-input .el-input__inner {
height: 25px !important;
border: none;
border-bottom: 1px solid #dcdfe6;
border-bottom: 1px solid #606266;
}
.CP_comTable .el-input .el-input__inner {
height: 25px !important;
border: none;
border-bottom: 1px solid #dcdfe6;
border-bottom: 1px solid #606266;
}
.CP_comBack {
......
......@@ -7,7 +7,7 @@
.hotelmanagement .resourceList {
width: 215px;
height: 320px;
height: 350px;
background-color: #fff;
border: 1px dashed #ededed;
border-radius: 4px;
......@@ -330,10 +330,16 @@
</el-tooltip>
</div>
</div>
<div style="padding-left:15px">
<i style="top:2px" class="iconfont icon-renyuanguanli"></i>
<span v-if="item.UpdateName && item.UpdateName!=''">{{item.UpdateName}}/</span>
{{item.UpdateTimeStr}}
</div>
<div class="btnList">
<button @click="goSubInfo('HotelInfo',item.ID)" class="hotelBtnMan">{{$t('pub.updateMsg')}}</button>
<button @click="CopyHotel(item.ID)" class="hotelBtnMan">复制</button>
<button v-if="IsHotelPriceStock==1" style="width:80px;" @click="goUrl('HotelProductManage2',item)" class="hotelBtnMan">{{$t('ground.baojiayukucun')}}</button>
<button v-if="IsHotelPriceStock==1" style="width:80px;" @click="goUrl('HotelProductManage2',item)"
class="hotelBtnMan">{{$t('ground.baojiayukucun')}}</button>
</div>
</div>
</div>
......@@ -345,7 +351,7 @@
export default {
data() {
return {
IsHotelPriceStock:0,//1-有获取酒店库存与报价添加修改权限
IsHotelPriceStock: 0, //1-有获取酒店库存与报价添加修改权限
countryList: "",
provinceList: "",
cityList: "",
......@@ -384,10 +390,9 @@
};
},
methods: {
CopyHotel(Id)
{
var that = this;
that.Confirm('是否要复制此酒店?', function () {
CopyHotel(Id) {
var that = this;
that.Confirm('是否要复制此酒店?', function () {
var msg = {
Id: Id
};
......@@ -398,9 +403,8 @@
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.selectResource();
}
else {
that.Error(res.data.message);
} else {
that.Error(res.data.message);
}
},
null
......
......@@ -14,7 +14,7 @@
.restaurantList .resourceList {
width: 215px;
height: 288px;
height: 330px;
background-color: #fff;
border: 1px dashed #ededed;
border-radius: 4px;
......@@ -146,7 +146,6 @@
}
.restaurantList .btnList {
margin-top: 16px;
text-align: center;
}
......@@ -335,6 +334,12 @@
{{$t('hotel.hotel_day')}}
<div>{{$t('restaurant.res_advanceDays')}}</div>
</div>
</div>
<div style="padding:0 0 10px 15px;margin-top: -5px;">
<i class="iconfont icon-renyuanguanli"></i>
<span v-if="item.UpdateName && item.UpdateName!=''">{{item.UpdateName}}/</span>
{{item.UpdateTimeStr}}
</div>
<div class="btnList">
<button @click="goSubInfo('restaurantInfoManage',item.ID)" class="hotelBtn">{{$t('pub.updateMsg')}}</button>
......
......@@ -111,17 +111,28 @@
<el-form label-width="100px" ref="currentOfferFrom">
<div class="switchDiv clearfix" style="width:98%;">
<div class="DirectPriceCenter">
<div class="singlePrice clearfix">
<CostNewPrice ref="CostNewPrice" :postConfig="postConfig" :OtherPrice="otherPrice"
:dayCostPrice="dayCostPrice" :LineList="LineList" :CostCurrencyList="CostCurrencyList" :CostNumberList="CostNumberList" :CurrencyNumberListExt="CurrencyNumberListExt"></CostNewPrice>
<CostNewPrice ref="CostNewPrice" :postConfig="postConfig" :OtherPrice="otherPrice"
:dayCostPrice="dayCostPrice" :LineList="LineList" :CostCurrencyList="CostCurrencyList"
:CostNumberList="CostNumberList" :CurrencyNumberListExt="CurrencyNumberListExt"></CostNewPrice>
</div>
</div>
<div class="DirectRightPrice" style="margin-left:20px;">
<div class="dingjiaDiv">
<span class="TMTitle"><i></i>定价</span>
&nbsp;&nbsp;&nbsp;&nbsp;
<template v-if="!IsShow">
<span @click="IsShow=true" class="TMTitle" style="color:blue;cursor:pointer;text-decoration:underline;">
显示分项报价
</span>
</template>
<template v-else>
<span @click="IsShow=false" class="TMTitle" style="color:blue;cursor:pointer;text-decoration:underline;">
隐藏分项报价
</span>
</template>
</div>
<div>
<div v-show="IsShow">
<div class="Dleftname"></div>
<div class="DrightList">
<el-checkbox style="margin-left:25px;" v-model="teamPrice.IsSupportChildren"
......@@ -139,28 +150,28 @@
</el-form-item>
</div>
</div>
<div class="clearfix">
<div class="clearfix" v-show="IsShow">
<div class="Dleftname">标准</div>
<div class="DrightList">
<el-form-item>
<el-input placeholder="" v-model="teamPrice.B2BMemberPrice"
@keyup.native="checkPrice(teamPrice,'B2BMemberPrice')" class="w200 ComSeat">
<template slot="prepend">同行会员</template>
<template slot="prepend">成本价格</template>
</el-input>
</el-form-item>
<el-form-item>
<el-input placeholder="" v-model="teamPrice.B2BPrice" @keyup.native="checkPrice(teamPrice,'B2BPrice')"
class="w200 ComSeat">
<template slot="prepend">同行</template>
<template slot="prepend">销售价格</template>
</el-input>
</el-form-item>
<el-form-item>
<el-form-item style="display:none;">
<el-input placeholder="" v-model="teamPrice.B2CMemberPrice"
@keyup.native="checkPrice(teamPrice,'B2CMemberPrice')" class="w200 ComSeat">
<template slot="prepend">直客会员</template>
</el-input>
</el-form-item>
<el-form-item>
<el-form-item style="display:none;">
<el-input placeholder="" v-model="teamPrice.B2CPrice" @keyup.native="checkPrice(teamPrice,'B2CPrice')"
class="w200 ComSeat">
<template slot="prepend">直客</template>
......@@ -180,7 +191,7 @@
</el-form-item>
</div>
</div>
<div class="clearfix">
<div class="clearfix" v-show="IsShow">
<div class="Dleftname">增收</div>
<div class="DrightList">
<el-form-item>
......@@ -227,7 +238,7 @@
</el-form-item>
</div>
</div>
<div class="clearfix">
<div class="clearfix" v-show="IsShow">
<div class="Dleftname">减免</div>
<div class="DrightList">
<el-form-item>
......@@ -273,11 +284,14 @@
import CostNewPrice from "../TravelNewQuotation/CostNewPrice";
export default {
props: ["postConfig", "dayCostPrice", "otherPrice", "teamPrice","LineList","CostCurrencyList","CostNumberList","CurrencyNumberListExt"],
props: ["postConfig", "dayCostPrice", "otherPrice", "teamPrice", "LineList", "CostCurrencyList", "CostNumberList",
"CurrencyNumberListExt"
],
data() {
return {
CheckedVaule: 2,
UnCheckedVaule: 1,
IsShow: false,
};
},
methods: {
......
......@@ -51,6 +51,7 @@
NightNum: 0, //晚数
StartCityId: 0,
ReturnArriveCityId: 0, //返回抵达城市
CustomerName:"",//客户名称
},
dayCostPriceList: [], //报价列表
isSubmit: true,
......@@ -174,6 +175,7 @@
res => {
if (res.data.resultCode == 1) {
var tempData = res.data.data;
console.log("temp",tempData);
if (tempData.ID && tempData.ID > 0) {
this.postData.ID = tempData.ID;
}
......@@ -204,6 +206,7 @@
if (tempData.NightNum && tempData.NightNum > 0) {
this.postData.NightNum = tempData.NightNum;
}
this.postData.CustomerName=tempData.CustomerName;
this.LineList = tempData.LineList;
if (tempData.dayCostPriceList && tempData.dayCostPriceList != null && tempData.dayCostPriceList.length >
0) {
......
......@@ -9,7 +9,8 @@
<li>
<span>
<em>所属线路</em>
<el-select v-model="queryData.LineId" class='w200' filterable :placeholder="$t('pub.pleaseSel')" @change="getLineTeamList()">
<el-select v-model="queryData.LineId" class='w200' filterable :placeholder="$t('pub.pleaseSel')"
@change="getLineTeamList()">
<el-option :label="$t('pub.unlimitedSel')" :value='noLimit'></el-option>
<el-option v-for="item in LineList" :label='item.LineName' :value='item.LineID' :key='item.LineID'>
</el-option>
......@@ -26,7 +27,7 @@
</el-select>
</span>
</li>
<li>
<span>
<em>开团状态</em>
......@@ -46,24 +47,36 @@
<div class="commonContent" v-loading="loading">
<ul class="_content">
<li v-for="item in dataList" :key="item.subCode" :data-id="item.ID">
<div class="_left" style="padding:0;flex:0.3">
<div class="QT_CodeNum">
{{$t('hotel.hotel_SerialNumber')}}{{item.ID}}
</div>
</div>
<div class="_left">
<div class="QT_Style">
<span v-if="item.IsDirect==1">{{$t('op.Zhi')}}</span>
<span v-else>{{$t('op.Fei')}}</span>
<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>
</div>
<div class="_left" style="padding-left:10px">
<div>
<p class="quoListName" @click="getJourney(item.ID,item.Title)">
<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>
<p class="Quo_Content"><i v-if="item.ProductRecommend" class="iconfont icon-richeng"></i>
<span>{{item.ProductRecommend}}</span>
</p>
<span>客户名称:{{item.CustomerName}}</span>
</div>
</div>
<div class="_cent">
<div class="stayDays">{{item.DayNum}}{{$t('hotel.hotel_day')}}{{item.NightNum}}{{$t('Operation.Op_night')}}</div>
<div style="margin: 0 13px 0 10px;" class="stayDays">
{{item.DayNum}}{{$t('hotel.hotel_day')}}{{item.NightNum}}{{$t('Operation.Op_night')}}</div>
<div class="">
{{$t('op.SalesPrice')}}
<el-popover popper-class="salsSetPrice" trigger="click">
......@@ -72,11 +85,12 @@
<div>{{$t('salesModule.Adult')}}</div>
<div class="priceList">
<div>
<span class="pLeftPrice">{{$t('op.TYmember')}}:¥{{salesItem.B2BMemberPrice}}</span>
<span class="pRightPrice">{{$t('salesModule.Trade')}}:¥{{salesItem.B2BPrice}}</span>
<span class="pLeftPrice">成本价格:¥{{salesItem.B2BMemberPrice}}</span>
<span class="pRightPrice">销售价格:¥{{salesItem.B2BPrice}}</span>
</div>
<div class="priceDivCon">
<span class="pLeftPrice">{{$t('Operation.Op_directMember')}}:¥{{salesItem.B2CMemberPrice}}</span>
<span
class="pLeftPrice">{{$t('Operation.Op_directMember')}}:¥{{salesItem.B2CMemberPrice}}</span>
<span class="pRightPrice">{{$t('Operation.Op_direct')}}:¥{{salesItem.B2CPrice}}</span>
</div>
</div>
......@@ -101,7 +115,8 @@
<div class="priceList">
<div>
<span class="pLeftPrice">{{$t('active.cl_qianzheng')}}:¥{{salesItem.VisaPrice}}</span>
<span class="pRightPrice">{{$t('Operation.Op_singleRoomcha')}}:¥{{salesItem.SingleRoomPrice}}</span>
<span
class="pRightPrice">{{$t('Operation.Op_singleRoomcha')}}:¥{{salesItem.SingleRoomPrice}}</span>
</div>
<div class="priceDivCon">
<span class="pLeftPrice">{{$t('Operation.Op_zafei')}}:¥{{salesItem.OtherPrice}}</span>
......@@ -122,12 +137,11 @@
</div>
</div>
</div>
<span slot="reference" class="diPrice" @click="getSalsPrice(item.ID)">{{item.SalesPrice}}<span class="qi">{{$t('op.Qi')}}</span></span>
<span slot="reference" class="diPrice" @click="getSalsPrice(item.ID)">{{item.SalesPrice}}<span
class="qi">{{$t('op.Qi')}}</span></span>
</el-popover>
</div>
<div class="QT_CodeNum">
{{$t('hotel.hotel_SerialNumber')}}{{item.ID}}
</div>
</div>
<div class="_right">
<div class="AuditUserInfo clearfix aa">
......@@ -140,19 +154,29 @@
</div>
</div>
<div>
<span class="openGroup opbd" @click="goToOpenTravel('TravelManager2',item.ID,item.OpenState)">
{{$t('op.Kai')}}
<span class="openGroup opbd" @click="goToOpenTravel('TravelManager6',item.ID,item.OpenState)">
<el-tooltip class="item" effect="dark" content="开团" placement="top-start" popper-class="max-w250">
<i class="iconfont icon-nav-hangzheng"></i>
</el-tooltip>
</span>
<span class="bianji opbd" @click="goUrl('QuotationNewPrice',item.ID,false)" >
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start" popper-class="max-w250">
<span class="bianji opbd" @click="goUrl('QuotationNewPrice',item.ID,false)">
<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>
<span class="QT-delete opbd" @click="delQuotation(item.ID)" >
<el-tooltip class="item" effect="dark" :content="$t('system.table_delete')" placement="top-start" popper-class="max-w250">
<span class="QT-delete opbd" @click="delQuotation(item.ID)">
<el-tooltip class="item" effect="dark" :content="$t('system.table_delete')" placement="top-start"
popper-class="max-w250">
<i class="iconfont icon-shanchu"></i>
</el-tooltip>
</span>
<span style="background:#85ce61;display:none;" class="opbd" @click="DownLoadFile(item.ID)">
<el-tooltip class="item" effect="dark" content="下载" placement="top-start" popper-class="max-w250">
<i class="iconfont icon-bb-xiazai"></i>
</el-tooltip>
</span>
</div>
</div>
</li>
......@@ -161,8 +185,8 @@
{{$t('system.content_noData')}}
</div>
</div>
<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 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>
......@@ -408,8 +432,8 @@
this.$router.push({
path: path,
query: {
blank:'y',
tab:'报价单'
blank: 'y',
tab: '报价单'
}
});
},
......@@ -418,8 +442,8 @@
path: path,
query: {
configId: 0,
blank:'y',
tab:'报价单'
blank: 'y',
tab: '报价单'
}
});
},
......@@ -441,7 +465,7 @@
query: {
configId: configId,
openState: openState,
isOffer:1
isOffer: 1
}
});
} else {
......@@ -449,9 +473,19 @@
name: path
});
}
}
},
//报价单下载
DownLoadFile(configId) {
this.loading=true;
var newMsg = {
ID: configId
};
var fileName = "成本下载" + configId + ".xls";
this.GetLocalFile("quotation_get_DownLoadQuotation", newMsg, fileName, res => {
this.loading=false;
});
},
},
mounted() {
this.getLineList();
this.getList();
......
......@@ -157,7 +157,7 @@
@click="downloadTotalInside()" />
</div>
</el-dialog>
<a target="_blank" style="display:none" id="blankLink"></a>
</div>
</template>
......@@ -563,7 +563,11 @@
}
if (obj.shareFileType == 2) {
let reg = /^http(s)?:\/\/(.*?)\//
this.downloadFileRename(obj.fileUrl.replace(reg, ''), obj.fileName);
let dom = document.querySelector("#blankLink")
dom.href = obj.fileUrl
dom.click()
return
this.downloadFileRename(obj.fileUrl.replace(reg, ''), obj.FolderName);
}
},
downloadTotal() {
......@@ -620,7 +624,11 @@
}
if (obj.DataType == 2) {
let reg = /^http(s)?:\/\/(.*?)\//
this.downloadFileRename(obj.FilePath.replace(reg, ''), obj.FolderName);
let dom = document.querySelector("#blankLink")
dom.href = obj.fileUrl
dom.click()
return
this.downloadFileRename(obj.fileUrl.replace(reg, ''), obj.FolderName);
}
},
downloadTotalInside() {
......
......@@ -283,7 +283,7 @@
</div>
</el-dialog >
<a target="_blank" style="display:none" id="blankLink"></a>
</div>
</template>
......@@ -629,6 +629,7 @@
}
}
}
})
},
downloadOne(obj){
......@@ -640,7 +641,11 @@
this.fileList.push(obj.FileId)
}
if(obj.shareFileType==2){
let reg = /^http(s)?:\/\/(.*?)\//
let reg = /^http(s)?:\/\/(.*?)\//
let dom = document.querySelector("#blankLink")
dom.href = obj.FileUrl
dom.click()
return
this.downloadFileRename(obj.FileUrl.replace(reg,''),obj.fileName);
}
},
......
......@@ -84,7 +84,7 @@
</style>
<template>
<div class="my_carousel">
<div v-for="(item, index) in imgList" class="my_carousel_item" :class="{my_carousel_item_show: index === show}" @mouseenter="clearAutoPlay(1)" @mouseleave="clearAutoPlay(2)">
<div v-for="(item, index) in imgList" :key="index" class="my_carousel_item" :class="{my_carousel_item_show: index === show}" @mouseenter="clearAutoPlay(1)" @mouseleave="clearAutoPlay(2)">
<div class="img" :style="`background-image: url(${item.src})`"></div>
<div class="my_carousel_content">
<div @click="goProduct(item.url)" class="goProduct">
......@@ -96,7 +96,7 @@
</div>
<div class="my_carousel_content_bt_line_box">
<div class="my_carousel_content_bt_line">
<div v-for="(item, index) in imgList">
<div v-for="(item, index) in imgList" :key="index">
<span :class="{my_carousel_content_bt_line_show: index === show}" :style="{'transition': index === show ? 'all linear '+ speed/1000 +'s' : ''}"></span>
</div>
</div>
......
......@@ -150,7 +150,7 @@
}
.scenicSpotList .btnList {
margin-top: 20px;
margin-top: 10px;
text-align: center;
}
......@@ -313,6 +313,12 @@
<el-tooltip class="item" effect="dark" :content="item.Name" placement="top-start" popper-class="max-w250">
<div class="hotelTitle">{{item.Name}}</div>
</el-tooltip>
<div style="padding-left:15px">
<i style="top: 1px;position: relative;" class="iconfont icon-renyuanguanli"></i>
<span v-if="item.UpdateName && item.UpdateName!=''">{{item.UpdateName}}/</span>
{{item.UpdateTimeStr}}
</div>
<div class="btnList">
<button @click="goUrl('scenicSpotInfoManage',item.ID)" class="hotelBtn">{{$t('pub.updateMsg')}}</button>
<button @click="CopyScenic(item.ID)" class="hotelBtn">复制</button>
......@@ -377,10 +383,9 @@
};
},
methods: {
CopyScenic(Id)
{
var that = this;
that.Confirm('是否要复制此景点?', function () {
CopyScenic(Id) {
var that = this;
that.Confirm('是否要复制此景点?', function () {
var msg = {
ID: Id
};
......@@ -391,9 +396,8 @@
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.selectResource();
}
else {
that.Error(res.data.message);
} else {
that.Error(res.data.message);
}
},
null
......
......@@ -318,7 +318,7 @@ export default {
methods: {
openFile(file) {
if (file) {
window.open(file);
window.open(file, "_blank");
}
},
inited(viewer) {
......
......@@ -69,6 +69,7 @@
<em>计划日期</em>
<el-date-picker
v-model="msg.timeRange"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
......@@ -278,6 +279,9 @@ export default {
},
methods: {
exportFile(){
let msg = this.msg
msg.EmpId = this.userInfo.EmployeeId
msg.IsAll = 0
let fileName = "【" + moment(new Date()).format("YYYY-MM-DD HH:mm:ss") + "】工作计划.xls";
this.GetLocalFile("UserWork_GetUserWorkExportList", this.msg, fileName);
},
......@@ -288,6 +292,7 @@ export default {
getList() {
//获取数据
this.loading = true;
console.log(this.msg.timeRange)
if(this.msg.timeRange && this.msg.timeRange.length==2){
this.msg.bt=this.msg.timeRange[0];
this.msg.et=this.msg.timeRange[1];
......
This diff is collapsed.
......@@ -4296,6 +4296,14 @@ export default {
meta: {
title: '工作计划详情'
},
},
{
path: '/workManager2',
name: 'workManager2',
component: resolve => require(['@/components/work/workManager2'], resolve),
meta: {
title: '工作计划详情'
},
}
]
},
......
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