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>
......
......@@ -18,43 +18,93 @@
width: calc(100% - 100px);
}
.CostNewPrice .CP_ComTitle2 {
color: #106BAF;
font-weight: bold;
background-color: #D1EEEE;
}
.CostNewTable td {
padding: 5px;
height: 40px;
border: 1px solid #106BAF!important;
}
.CostPriceDiv {
float: left;
width: 19%;
margin-right: 23px;
}
.CP_ComTitle {
color: #106BAF;
}
.w79 {
width: 79px !important;
}
.CostcomCenter {
text-align: center;
}
.txtRightCost{
text-align: right;
padding-right: 10px;
}
</style>
<template>
<div>
<div class="CostNewPrice clearfix CP_Div">
<div class="CostNewPrice clearfix CP_Div" style="width:980px;">
<el-form>
<div class="QuotationFirstDiv1">
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="线路" label-width="100px">
<el-select v-model="postConfig.LineId" :placeholder="$t('pub.pleaseSel')"
<table>
<tr>
<td width="80" class="txtRightCost">线路</td>
<td>
<el-select style="width:100%" v-model="postConfig.LineId" :placeholder="$t('pub.pleaseSel')"
@change="getLineTeamList(postConfig.LineId,1)" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in LineList" :label='item.LineName' :value='item.LineID' :key='item.LineID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="系列" label-width="100px">
<el-select v-model="postConfig.LineteamId" :placeholder="$t('pub.pleaseSel')" filterable>
</td>
<td width="60" class="txtRightCost">系列</td>
<td>
<el-select class="w300" v-model="postConfig.LineteamId" :placeholder="$t('pub.pleaseSel')" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in LineTeamList" :label='item.LtName' :value='item.LtID' :key='item.LtID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="团队标题" label-width="100px">
<el-input v-model="postConfig.Title" type="textarea" style="width:94%"
:autosize="{minRows: 1, maxRows: 2 }" resize="none" placeholder="请填写团队标题" maxlength="200"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="seat-box">
</td>
<td width="80" class="txtRightCost">客户名称</td>
<td>
<el-input v-model="postConfig.CustomerName" type="text" placeholder="客户名称" maxlength="200">
</el-input>
</td>
</tr>
<tr>
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">团队标题</td>
<td colspan="3">
<el-input v-model="postConfig.Title" type="textarea" :autosize="{minRows: 1, maxRows: 2 }"
resize="none" placeholder="请填写团队标题" maxlength="200"></el-input>
</td>
<td width="80" class="txtRightCost">行程天数</td>
<td>
<el-input class="w240 LowNum" v-model="postConfig.DayNum"
@keyup.native="checkInteger(postConfig,'DayNum');createDayTripPrice()" maxlength="2">
<template slot="append"></template>
</el-input>
<el-input class="w120 LowNum" v-model="postConfig.NightNum" style="display:none;"
@keyup.native="checkInteger(postConfig,'NightNum')" maxlength="2">
<template slot="append"></template>
</el-input>
</td>
</tr>
</table>
<div class="seat-box" style="display:none;">
<div class="left" style="float:left;margin:6px 0 0 64px;">座位</div>
<div class="right">
<el-row :gutter="20">
......@@ -92,114 +142,102 @@
</el-row>
</div>
</div>
<div class="seat-box">
<div class="left" style="float:left;margin:6px 0 0 34px;">行程天数</div>
<div class="right">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item>
<el-input class="w120 LowNum" v-model="postConfig.DayNum"
@keyup.native="checkInteger(postConfig,'DayNum');createDayTripPrice()" maxlength="2">
<template slot="append"></template>
</el-input>
<el-input class="w120 LowNum" v-model="postConfig.NightNum"
@keyup.native="checkInteger(postConfig,'NightNum')" maxlength="2">
<template slot="append"></template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</div>
<table class="CP_comTable">
<tr>
<td class="CP_comBack" width="170">币种</td>
<td v-for='(item,index) in CostCurrencyList'>
{{item.CurrencyName}}
<span>
<i class="iconfont icon-quxiao" @click="DeleteCurrency(index)"></i>
</span>
</td>
<td>
<el-form-item class="w100">
<el-select v-model='currencyType' @change="getRate(currencyType),addCurrency()">
<el-option v-for="item in currencyTypeArr" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td class="CP_comBack">汇率</td>
<td v-for='item in CostCurrencyList'>
<el-input class="w80" v-model='item.ExchangeRate'
@keyup.native="checkRate(item,'ExchangeRate'),getchange()">
</el-input>
</td>
<td>
<el-input class="w100" v-model='queryMsg.RateInput'
@keyup.native="checkRate(queryMsg,'RateInput'),getchange()">
</el-input>
</td>
</tr>
</table>
<table class="CP_comTable">
<tr>
<td class="CP_comBack" width="170">人数</td>
<td v-for="(item,index) in CostNumberList" :key='item.subCode'>
<el-input class="w80" v-model='item.PeopleNumber' @keyup.native="checkInteger(item,'PeopleNumber')">
</el-input>
<span>
<i class="iconfont icon-quxiao" @click="DeletePNumber(index),getchange()"></i>
</span>
</td>
<td width="150">
<el-form-item>
<el-input class="w80" v-model='queryMsg.PeopleNumber'
@keyup.native="checkInteger(queryMsg,'PeopleNumber'),getchange()"></el-input>
</el-form-item>
<div class="AS_addPeoNumer">
<i class="iconfont icon-img_haha" @click="addPeoNunber"></i>
</div>
</td>
</tr>
<tr v-for="item in CostCurrencyList">
<td class="CP_comBack">地接报价({{item.CurrencyName}})</td>
<td v-if="checkExists(item.CurrencyId)" v-for="childItem in getCurrencyNumberList(item.CurrencyId)">
<el-form-item>
<el-input class="w80" v-model='childItem.Money'
@keyup.native="checkPrice(childItem,'Money',true),getchange()"></el-input>
</el-form-item>
</td>
<td>
</td>
</tr>
</table>
<br />
<table class="CostPriceTable">
<table class="CostPriceTable CostNewTable">
<thead>
<tr>
<td colspan="9" class="CP_ComTitle2 CostcomCenter">报价信息</td>
</tr>
<tr>
<td width="170" class="CP_ComTitle2 CostcomCenter">币种</td>
<td v-for='(item,index) in CostCurrencyList'>
{{item.CurrencyName}}
<span>
<i class="iconfont icon-quxiao" style="display:inline-block;" @click="DeleteCurrency(index)"></i>
</span>
</td>
<td :colspan="9-2-CostCurrencyList.length+1">
<el-form-item class="w100">
<el-select v-model='currencyType' @change="getRate(currencyType),addCurrency()">
<el-option v-for="item in currencyTypeArr" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter">汇率</td>
<td v-for='item in CostCurrencyList'>
<el-input class="w80" v-model='item.ExchangeRate'
@keyup.native="checkRate(item,'ExchangeRate'),getchange()">
</el-input>
</td>
<td :colspan="9-2-CostCurrencyList.length+1">
<el-input class="w100" v-model='queryMsg.RateInput'
@keyup.native="checkRate(queryMsg,'RateInput'),getchange()">
</el-input>
</td>
</tr>
<tr>
<td width="170" class="CP_ComTitle2 CostcomCenter">人数</td>
<td v-for="(item,index) in CostNumberList" :key='item.subCode'>
<el-input class="w79" v-model='item.PeopleNumber' @keyup.native="checkInteger(item,'PeopleNumber')">
</el-input>
<span>
<i class="iconfont icon-quxiao" @click="DeletePNumber(index),getchange()"></i>
</span>
</td>
<td width="150" :colspan="9-2-CostNumberList.length+1">
<el-form-item>
<el-input class="w79" v-model='queryMsg.PeopleNumber'
@keyup.native="checkInteger(queryMsg,'PeopleNumber'),getchange()"></el-input>
<i class="iconfont icon-img_haha" style="cursor:pointer;" @click="addPeoNunber"></i>
</el-form-item>
</td>
</tr>
<tr v-for="item in CostCurrencyList">
<td class="CP_ComTitle2 CostcomCenter">地接报价
<br />({{item.CurrencyName}})
</td>
<td v-if="checkExists(item.CurrencyId)" v-for="childItem in getCurrencyNumberList(item.CurrencyId)">
<el-form-item>
<el-input class="w80" v-model='childItem.Money'
@keyup.native="checkPrice(childItem,'Money',true),getchange()"></el-input>
</el-form-item>
</td>
<td :colspan="9-2-getCurrencyNumberList(item.CurrencyId).length+1">
</td>
</tr>
</thead>
<tr>
<td colspan="9"></td>
</tr>
<tr>
<th rowspan="2" width='80'>Day</th>
<th rowspan="2" width='200'>行程大点</th>
<th rowspan="2" width="200">币种</th>
<th rowspan="2" width='200'>酒店</th>
<th rowspan="2" width='200'></th>
<th rowspan="2" width='200'>门票</th>
<th colspan="3" width='200'></th>
<td rowspan="2" width='180' class="CP_ComTitle2 CostcomCenter">Day</td>
<td rowspan="2" width='200' class="CP_ComTitle2 CostcomCenter">行程大点</td>
<td rowspan="2" width="100" class="CP_ComTitle2 CostcomCenter">币种</td>
<td rowspan="2" width='60' class="CP_ComTitle2 CostcomCenter">酒店</td>
<td rowspan="2" width='100' class="CP_ComTitle2 CostcomCenter"></td>
<td rowspan="2" width='80' class="CP_ComTitle2 CostcomCenter">门票</td>
<td colspan="3" width='100' class="CP_ComTitle2 CostcomCenter"></td>
</tr>
<tr>
<th width="90"></th>
<th width="90"></th>
<th width="90"></th>
<td width="120" class="CP_ComTitle2 CostcomCenter"></td>
<td width="100" class="CP_ComTitle2 CostcomCenter"></td>
<td width="100" class="CP_ComTitle2 CostcomCenter"></td>
</tr>
<tr v-for="subItem in dayCostPrice" :key="subItem.subCode">
<td align="center">{{subItem.DayNum}}</td>
<td align="center">
<div style="width:100px;">{{subItem.DayNum}}</div>
</td>
<td>
<el-input type="textarea" resize="none" v-model="subItem.Title"></el-input>
</td>
<td>
<el-form-item>
<el-select v-model='subItem.CurrencyId'>
<el-select v-model='subItem.CurrencyId' class="w100">
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in CostCurrencyList" :label='items.CurrencyName' :value='items.CurrencyId'
:key='items.CurrencyId'>
......@@ -208,41 +246,45 @@
</el-form-item>
</td>
<td>
<el-input type='text' v-model="subItem.HotelCostPrice"
<el-input type='text' v-model="subItem.HotelCostPrice" class="w100"
@keyup.native="checkPrice(subItem,'HotelCostPrice')"></el-input>
</td>
<td>
<el-input type='text' v-model="subItem.BusCostPrice"
<el-input type='text' v-model="subItem.BusCostPrice" class="w100"
@keyup.native="checkPrice(subItem,'BusCostPrice'),getchange()">
</el-input>
</td>
<td>
<el-input type='text' v-model="subItem.ScenicCostPrice"
<el-input type='text' v-model="subItem.ScenicCostPrice" class="w100"
@keyup.native="checkPrice(subItem,'ScenicCostPrice'),getchange()"></el-input>
</td>
<td>
<el-input type="text" v-model='subItem.BreakfastCostPrice'
<el-input type="text" v-model='subItem.BreakfastCostPrice' class="w100"
@keyup.native="checkPrice(subItem,'BreakfastCostPrice'),getchange()">
</el-input>
</td>
<td>
<el-input type="text" v-model='subItem.LunchCostPrice'
<el-input type="text" v-model='subItem.LunchCostPrice' class="w80"
@keyup.native="checkPrice(subItem,'LunchCostPrice'),getchange()"></el-input>
</td>
<td>
<el-input type="text" v-model='subItem.DinnerCostPrice'
<el-input type="text" v-model='subItem.DinnerCostPrice' class="w80"
@keyup.native="checkPrice(subItem,'DinnerCostPrice'),getchange()"></el-input>
</td>
</tr>
</table>
<div class="CP_ComTitle">内陆段交通部分</div>
<table class="CostPriceTable">
<tr>
<td width='50'>1</td>
<td width='200'>内陆段机位(每人)</td>
<td width='200'>
<td colspan="9"></td>
</tr>
<tr>
<td class="CP_ComTitle2" colspan="4">内陆段交通部分</td>
<td class="CP_ComTitle2" colspan="5">杂支部分</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter">1</td>
<td class="CP_ComTitle2">内陆段机位(每人)</td>
<td>
<el-form-item>
<el-select v-model='OtherPrice.InlandAirTicketCurrency'>
<el-select v-model='OtherPrice.InlandAirTicketCurrency' class="w100">
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in CostCurrencyList" :label='items.CurrencyName' :value='items.CurrencyId'
:key='items.CurrencyId'>
......@@ -250,19 +292,27 @@
</el-select>
</el-form-item>
</td>
<td>
<td >
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.InlandAirTicketMoney"
<el-input type='text' class="w100" v-model="OtherPrice.InlandAirTicketMoney"
@keyup.native="checkPrice(OtherPrice,'InlandAirTicketMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td class="CP_ComTitle2 CostcomCenter">1</td>
<td colspan="2" class="CP_ComTitle2">签证费(每人)</td>
<td colspan="2">
<el-form-item>
<el-input type='text' class="w100" v-model="OtherPrice.VisaMoney"
@keyup.native="checkPrice(OtherPrice,'VisaMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>2</td>
<td>内陆段船票(每人</td>
<td class="CP_ComTitle2 CostcomCenter">2</td>
<td class="CP_ComTitle2">内陆段船票(每人)</td>
<td>
<el-form-item>
<el-select v-model='OtherPrice.InlandShipTicketCurrency'>
<el-select v-model='OtherPrice.InlandShipTicketCurrency' class="w100">
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in CostCurrencyList" :label='items.CurrencyName' :value='items.CurrencyId'
:key='items.CurrencyId'>
......@@ -270,19 +320,27 @@
</el-select>
</el-form-item>
</td>
<td>
<td >
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.InlandShipTicketMoney"
<el-input type='text' class="w100" v-model="OtherPrice.InlandShipTicketMoney"
@keyup.native="checkPrice(OtherPrice,'InlandShipTicketMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td class="CP_ComTitle2 CostcomCenter">2</td>
<td colspan="2" class="CP_ComTitle2">保险费(每人)</td>
<td colspan="2">
<el-form-item>
<el-input type='text' class="w100" v-model="OtherPrice.SafeMoney"
@keyup.native="checkPrice(OtherPrice,'SafeMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>3</td>
<td>内陆段火车票(每人)</td>
<td class="CP_ComTitle2 CostcomCenter">3</td>
<td class="CP_ComTitle2">内陆段火车票(每人)</td>
<td>
<el-form-item>
<el-select v-model='OtherPrice.InlandTrainTicketCurrency'>
<el-select v-model='OtherPrice.InlandTrainTicketCurrency' class="w100">
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in CostCurrencyList" :label='items.CurrencyName' :value='items.CurrencyId'
:key='items.CurrencyId'>
......@@ -290,128 +348,173 @@
</el-select>
</el-form-item>
</td>
<td>
<td >
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.InlandTrainTicketMoney"
<el-input type='text' class="w100" v-model="OtherPrice.InlandTrainTicketMoney"
@keyup.native="checkPrice(OtherPrice,'InlandTrainTicketMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td class="CP_ComTitle2 CostcomCenter">3</td>
<td colspan="2" class="CP_ComTitle2">领队小费</td>
<td colspan="2">
<el-form-item>
<el-input type='text' class="w100" v-model="OtherPrice.LeaderTripMoney"
@keyup.native="checkPrice(OtherPrice,'LeaderTripMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
</table>
<div class="CP_ComTitle">杂支部分</div>
<table class="CostPriceTable">
<tr>
<td width='50'>1</td>
<td width='200'>签证费(每人)</td>
<td colspan='3'>
<td colspan="4"></td>
<td class="CP_ComTitle2 CostcomCenter">4</td>
<td colspan="2" class="CP_ComTitle2">司机、导游小费</td>
<td colspan="2">
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.VisaMoney"
@keyup.native="checkPrice(OtherPrice,'VisaMoney'),getchange()"></el-input>
<el-input type='text' class="w100" v-model="OtherPrice.DriverGuideMoney"
@keyup.native="checkPrice(OtherPrice,'DriverGuideMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>2</td>
<td>保险费(每人)</td>
<td colspan="9"></td>
</tr>
<tr>
<td class="CP_ComTitle2" colspan="2">其他支出</td>
<td class="CP_ComTitle2" colspan="2">机票</td>
<td class="CP_ComTitle2" colspan="2">收入</td>
<td class="CP_ComTitle2" colspan="3">团负费</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter">摘要</td>
<td class="CP_ComTitle2 CostcomCenter">金额(人民币)</td>
<td class="CP_ComTitle2 CostcomCenter">摘要</td>
<td class="CP_ComTitle2 CostcomCenter">金额(人民币)</td>
<td class="CP_ComTitle2 CostcomCenter">摘要</td>
<td class="CP_ComTitle2 CostcomCenter">金额(人民币)</td>
<td class="CP_ComTitle2 CostcomCenter">摘要</td>
<td class="CP_ComTitle2 CostcomCenter" colspan="2">金额(人民币)</td>
</tr>
<tr>
<td style="white-space:nowrap; " class="CP_ComTitle2">销售提成1%</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.SafeMoney"
@keyup.native="checkPrice(OtherPrice,'SafeMoney'),getchange()"></el-input>
<el-input type='text' class="w120" v-model="OtherPrice.SalesCommissionMoney"
@keyup.native="checkPrice(OtherPrice,'SalesCommissionMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>3</td>
<td>领队小费</td>
<td class="CP_ComTitle2">机票</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.LeaderTripMoney"
@keyup.native="checkPrice(OtherPrice,'LeaderTripMoney'),getchange()"></el-input>
<el-input type='text' class="w100" v-model="OtherPrice.AirTicketMoeny"
@keyup.native="checkPrice(OtherPrice,'AirTicketMoeny'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>4</td>
<td>司机、导游小费</td>
<td class="CP_ComTitle2">客人小费收入</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.DriverGuideMoney"
@keyup.native="checkPrice(OtherPrice,'DriverGuideMoney'),getchange()"></el-input>
<el-input type='text' class="w100" v-model="OtherPrice.TripMoney"
@keyup.native="checkPrice(OtherPrice,'TripMoney',true),getchange()"></el-input>
</el-form-item>
</td>
</tr>
</table>
<div class="CP_ComTitle">其他支出</div>
<table class="CostPriceTable">
<tr>
<td width='50'>1</td>
<td width='200'>销售提成1%</td>
<td colspan='3'>
<td class="CP_ComTitle2">KB</td>
<td colspan="2">
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.SalesCommissionMoney"
@keyup.native="checkPrice(OtherPrice,'SalesCommissionMoney'),getchange()"></el-input>
<el-input type='text' class="w120" v-model="OtherPrice.KBMoney"
@keyup.native="checkPrice(OtherPrice,'KBMoney',true)"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>2</td>
<td>作业处提成</td>
<td style="white-space:nowrap; " class="CP_ComTitle2">作业处提成</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.OfficeCommissionMoney"
@keyup.native="checkPrice(OtherPrice,'OfficeCommissionMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
</table>
<div class="CP_ComTitle">机票</div>
<table class="CostPriceTable">
<tr>
<td width='50'>机票</td>
<td colspan="2"></td>
<td class="CP_ComTitle2">导游人头费</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.AirTicketMoeny"
@keyup.native="checkPrice(OtherPrice,'AirTicketMoeny'),getchange()"></el-input>
<el-input type='text' class="w100" v-model="OtherPrice.GuidePeopleMoney"
@keyup.native="checkPrice(OtherPrice,'GuidePeopleMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="9"></td>
</tr>
<tr>
<td colspan="9" class="CP_ComTitle2">领队分摊部分</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter">人数</td>
<td class="CP_ComTitle2 CostcomCenter">机票</td>
<td class="CP_ComTitle2 CostcomCenter">门票</td>
<td class="CP_ComTitle2 CostcomCenter">单房差</td>
<td class="CP_ComTitle2 CostcomCenter">内陆段交通</td>
<td class="CP_ComTitle2 CostcomCenter">杂费</td>
<td class="CP_ComTitle2 CostcomCenter" colspan="3">小计</td>
</tr>
</table>
<div class="CP_ComTitle">收入</div>
<table class="CostPriceTable">
<tr>
<td width='50'>1</td>
<td width='200'>客人小费收入</td>
<td colspan='3'>
<td></td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.TripMoney"
@keyup.native="checkPrice(OtherPrice,'TripMoney',true),getchange()"></el-input>
<el-input type='text' class="w120" v-model="OtherPrice.AirTicketShareMoney"
@keyup.native="checkPrice(OtherPrice,'AirTicketShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>2</td>
<td>导游人头费</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.GuidePeopleMoney"
@keyup.native="checkPrice(OtherPrice,'GuidePeopleMoney'),getchange()"></el-input>
<el-input type='text' class="w100" v-model="OtherPrice.TicketShareMoney"
@keyup.native="checkPrice(OtherPrice,'TicketShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
</table>
<div class="CP_ComTitle">团负费</div>
<table class="CostPriceTable">
<tr>
<td width='50'>KB</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.KBMoney"
@keyup.native="checkPrice(OtherPrice,'KBMoney',true)"></el-input>
<el-input type='text' class="w100" v-model="OtherPrice.SingleRoomShareMoney"
@keyup.native="checkPrice(OtherPrice,'SingleRoomShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td>
<el-form-item>
<el-input type='text' class="w100" v-model="OtherPrice.InlandTrafficShareMoney"
@keyup.native="checkPrice(OtherPrice,'InlandTrafficShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td>
<el-form-item>
<el-input type='text' class="w100" v-model="OtherPrice.OtherShareMoney"
@keyup.native="checkPrice(OtherPrice,'OtherShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td colspan="3"></td>
</tr>
<tr v-for="item in CostNumberList" :key="item.subCode">
<td>{{item.PeopleNumber}}+1</td>
<td>{{item.AirTicketMoney}}</td>
<td>{{item.TicketMoney}}</td>
<td>{{item.SingleRoomMoney}}</td>
<td>{{item.InlandTrafficMoney}}</td>
<td>{{item.OtherMoney}}</td>
<td colspan="3">{{item.SubtotalMoney}}</td>
</tr>
<tr>
<td colspan="9"></td>
</tr>
<tr>
<td colspan="9" class="CP_ComTitle2">成本统计</td>
</tr>
<tr>
<td class="CP_ComTitle2">人数统计</td>
<td colspan="8"></td>
</tr>
<tr v-for="item in CostNumberList" :key="item.subCode">
<td>{{item.PeopleNumber}}+1</td>
<td colspan="8">{{item.TotalMoney}}</td>
</tr>
</table>
<div class="CP_ComTitle">领队分摊部分</div>
<!-- <div class="CP_ComTitle">领队分摊部分</div>
<table class="CP_comTable">
<tr>
<td width='200'>人数</td>
......@@ -487,9 +590,9 @@
{{item.SubtotalMoney}}
</td>
</tr>
</table>
</table> -->
<div class="Cost_Line"></div>
<div class="CP_ComTitle Cost_Title">成本统计</div>
<!-- <div class="CP_ComTitle Cost_Title">成本统计</div>
<table class="CostPriceTable">
<tr>
<td width='250' rowspan="2" class="CP_comBack">
......@@ -504,7 +607,7 @@
{{item.TotalMoney}}
</td>
</tr>
</table>
</table> -->
</el-form>
</div>
</div>
......@@ -601,12 +704,11 @@
return totalMoney;
},
//获取系列列表
getLineTeamList(lineId,isClear) {
if(isClear&&isClear==1)
{
this.postConfig.LineteamId = 0;
getLineTeamList(lineId, isClear) {
if (isClear && isClear == 1) {
this.postConfig.LineteamId = 0;
}
let msg = {
lineID: lineId,
isTOOP: 1
......@@ -656,6 +758,7 @@
getCurrencyNumberList(CurrencyId) {
let currencyNumberList = [];
let flag = false;
console.log("this.CurrencyNumberListExt", this.CurrencyNumberListExt);
this.CurrencyNumberListExt.forEach(item => {
if (!flag && item.Key == CurrencyId) {
flag = true;
......
......@@ -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];
......
<template>
<div class="flexOne groupts">
<div class="enrollTotalSearch">
<ul>
<li>
<span>
<em>{{$t('system.table_company')}}</em>
<el-select
class="w200"
v-model="msg.BranchId"
filterable
:placeholder="$t('pub.pleaseSel')"
@change="linkageDepartment()"
>
<el-option :label="$t('pub.unlimitedSel')" value="-1"></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 class="fl" style="margin-top: 10px!important;">{{$t('fnc.bmxuanze')}}</em>
<treeselect
class="w200 fl"
:options="departmentList"
v-model="msg.RB_Department_Id"
:label="$t('pub.unlimitedSel')"
:normalizer="normalizer"
@select="linkageEmployeeMsg"
/>
</span>
</li>
<li>
<span>
<em>{{$t('fnc.ryxuanze')}}</em>
</span>
<el-select
class="w200"
v-model="msg.CreateBy"
filterable
:placeholder="$t('pub.pleaseSel')"
>
<el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option>
<el-option
v-for="item in employeeList"
:label="item.name"
:value="item.empId"
:key="item.empId"
></el-option>
</el-select>
</li>
<li>
<span>
<em>审批状态</em>
<el-select class="w200" v-model="msg.examineStatus">
<el-option label="不限" value="-1"></el-option>
<el-option label="待我审批" value="0"></el-option>
<el-option label="我已审批" value="1"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>计划日期</em>
<el-date-picker
v-model="msg.timeRange"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</span>
</li>
<li>
<span>
<em>任务状态</em>
<el-select class="w200" v-model="msg.status">
<el-option label="不限" value="-2"></el-option>
<el-option label="未开始" value="-1"></el-option>
<el-option label="进行中" value="0"></el-option>
<el-option label="超时进行中" value="1"></el-option>
<el-option label="超时完成" value="2"></el-option>
<el-option label="正常完成" value="3"></el-option>
</el-select>
</span>
</li>
<li>
<input
type="button"
class="hollowFixedBtn"
:value="$t('pub.searchBtn')"
@click="getList();resetPageIndex()"
/>
<button class="normalBtn" @click="exportFile()">导出</button>
</li>
</ul>
</div>
<div style="margin:10px 0;">
<span class="circle green"></span>
<span class="remark">进行中</span>
<span class="circle red"></span>
<span class="remark">超时</span>
<span class="circle black"></span>
<span class="remark">完成</span>
<span class="circle"></span>
<span class="remark">未开始</span>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>状态</th>
<th>标签</th>
<th>创建人</th>
<th>部门</th>
<th width="300">标题</th>
<th>内容概要</th>
<th>开始时间</th>
<th>截止时间</th>
<th>创建时间</th>
<th>立项审批信息</th>
<th>当前进度</th>
<th>完成审批信息</th>
<th>操作</th>
</tr>
<tr v-for="(item, index) in DataList" :key="index">
<td>
<span class="circle" v-if="item.ExamineStatus==0||item.ExamineStatus==-1"></span>
<span class="circle green" v-else-if="item.Status==0"></span>
<span class="circle red" v-else-if="item.Status==1||item.Status==2"></span>
<span class="circle black" v-else-if="item.Status==3"></span>
</td>
<td>
<el-tag v-if="item.Tags.length>0">{{item.Tags}}</el-tag>
</td>
<td>{{item.CreateName}}</td>
<td>{{item.DepartmentName}}</td>
<td>{{item.Title}}</td>
<td width="250">
<el-tooltip effect="dark" :content="item.Description" placement="top-start">
<span>{{item.Description.length>23?item.Description.substring(0,23)+"...":item.Description}}</span>
</el-tooltip>
</td>
<td>{{item.BeginTime}}</td>
<td>{{item.EndTime}}</td>
<td>{{item.CreateDate}}</td>
<td>
<span v-if="item.ExamineStatus==0" style="color:grey">审批中</span>
<span
v-else-if="item.ExamineStatus==1"
style="color:green;text-decoration: underline;"
>已通过</span>
<span v-else style="color:red;text-decoration: underline;">已驳回</span>
</td>
<td>
<el-progress
:text-inside="true"
:stroke-width="24"
:percentage="item.Progree"
status="success"
></el-progress>
</td>
<td>
<span v-if="item.Status==2||item.Status==3">
<span v-if="item.FinishExamineStatus==0" style="color:grey">审批中</span>
<span
v-else-if="item.FinishExamineStatus==1"
style="color:green;text-decoration: underline;"
>已通过</span>
<span v-else style="color:red;text-decoration: underline;">已驳回</span>
</span>
</td>
<td>
<el-tooltip class="item" effect="dark" content="详情" placement="top-start">
<el-button
style="padding:4px"
type="info"
icon="el-icon-search"
@click.stop="query(item.Id)"
circle
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<el-pagination
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 Treeselect from "@riophae/vue-treeselect";
import updateSalesMan from "../commonPage/updateSalesMan.vue";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import moment from 'moment'
export default {
components: {
Treeselect
},
data() {
return {
normalizer(node) {
var obj = {
id: node.DepartmentId,
label: node.DepartmentName
};
if (node.ChildList != null && node.ChildList.length > 0) {
obj.children = node.ChildList;
}
return obj;
},
msg: {
BranchId: "-1",
RB_Department_Id: null,
pageIndex: 0,
pageSize: 10,
CreateBy: "-1",
examineStatus: "-1",
timeRange: [],
status:"-2"
},
getCompanyMsg: {
RB_Group_Id: "0",
Status: "0"
},
getDepartmentMsg: {
RB_Group_Id: "0",
RB_Branch_Id: "-1",
Status: "0"
},
employeeMsg: {
RB_Group_id: "0",
RB_Branch_id: "-1",
departmentId: "0",
IsLeave: "-1"
},
departmentList: [],
companyList: [],
employeeList: [],
userInfo: {},
datas: [],
currentPage: 1,
total: 0,
DataList: [],
loading: true
};
},
mounted() {
this.userInfo = this.getLocalStorage();
this.userId = this.userInfo.EmployeeId;
this.getCompanyMsg.RB_Group_Id = this.getDepartmentMsg.RB_Group_Id = this.userInfo.RB_Group_id; //集团
this.getCompany();
//this.getEmployee();
},
methods: {
exportFile(){
let msg = this.msg
msg.EmpId = this.userInfo.EmployeeId
msg.IsAll = 1
let fileName = "【" + moment(new Date()).format("YYYY-MM-DD HH:mm:ss") + "】工作计划.xls";
this.GetLocalFile("UserWork_GetUserWorkExportList", this.msg, fileName);
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
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];
}else{
this.msg.bt="";
this.msg.et="";
}
this.apipost(
"user_post_GetAllPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.DataList = res.data.data.pageData;
this.total = res.data.data.count;
} else {
this.$message.error(res.data.message);
}
},
err => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
getCompany() {
this.apipost(
"admin_get_BranchGetList",
this.getCompanyMsg,
res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
this.getEmployee();
} else {
}
this.getList();
},
err => {}
);
},
linkageEmployeeMsg(node, instanceId) {
this.employeeMsg.departmentId = node.DepartmentId;
this.msg.CreateBy = "-1";
this.getEmployee();
},
linkageDepartment() {
//联动部门
this.msg.RB_Department_Id = null;
if (this.msg.BranchId != 0) {
this.getDepartmentMsg.RB_Branch_Id = this.msg.BranchId;
}
this.getDepartment();
},
getDepartment() {
this.apipost(
"admin_Get_GetDepartmentTreeForReceiveQuery",
this.getDepartmentMsg,
res => {
if (res.data.resultCode == 1) {
this.departmentList = res.data.data;
if(res.data.data && res.data.data.length>0){
this.findMyDepartment(res.data.data[0]);
}
console.log(this.departmentList);
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
findMyDepartment(data){
console.log(data)
if(data.DepartmentId==this.userInfo.RB_Department_Id){
console.log('yes',data)
this.changeDeparent(data)
}else{
if (data.ChildList && data.ChildList.length>0) {
data.ChildList.forEach(x => {
this.findMyDepartment(x)
});
}
}
},
changeDeparent(data){
let newDt=new Array();
newDt.push(data)
this.departmentList = newDt;
},
getEmployee() {
this.apipost(
"app_get_company_employee",
this.employeeMsg,
res => {
if (res.data.resultCode == 1) {
this.employeeList = res.data.data;
}
},
err => {}
);
},
query(id){
this.$router.push({
name: "workDetails",
query: {
"id": id,
blank: 'y'
}
})
},
query2(id){
this.$router.push({
name: "workDetails",
query: {
"id": id,
examine:"u",
blank: 'y'
}
})
}
}
};
</script>
<style scope>
.enrollTotalSearch {
width: 100%;
min-height: auto;
padding: 0 0 20px 0;
}
.enrollTotalSearch::after {
display: block;
clear: both;
content: "";
visibility: hidden;
height: 0;
}
.enrollTotalSearch li {
float: left;
font-size: 12px;
height: 40px;
color: #666;
margin: 20px 10px 10px 0;
}
.enrollTotalSearch li > span {
display: inline-block;
}
.enrollTotalSearch li span > em {
display: inline-block;
min-width: 60px;
text-align: right;
font-style: normal;
margin: 0 12px 0 0;
}
.enrollTotalSearch li:last-child {
float: right;
position: fixed;
top: 36px;
right: 20px;
text-align: right;
z-index: 50;
}
.circle {
width: 20px;
height: 20px;
display: inline-block;
text-align: center;
background: grey;
border-radius: 20px;
margin-right: 5px;
}
.circle.red {
background: #fe4433;
}
.circle.green {
background: green;
}
.circle.black {
background: black;
}
.remark {
margin-right: 20px;
font-size: 12px;
display: inline-block;
vertical-align: text-top;
}
.wd100 {
width: 100% !important;
}
.el-tag + .el-tag {
margin-left: 10px;
}
.button-new-tag {
margin-left: 10px;
height: 32px;
line-height: 30px;
padding-top: 0;
padding-bottom: 0;
}
.input-new-tag {
width: 90px;
margin-left: 10px;
vertical-align: bottom;
}
</style>
\ No newline at end of file
......@@ -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