Commit 0279beeb authored by 沈良进's avatar 沈良进

save

parent 93a7dc2e
<style> <style>
.hotelmanagement .hotelResource { .hotelmanagement .hotelResource {
width: 100%; width: 100%;
min-height: 500px; min-height: 500px;
margin-top: 20px; margin-top: 20px;
} }
.hotelmanagement .resourceListMan { .hotelmanagement .resourceListMan {
width: 215px; width: 215px;
height: 350px; height: 350px;
background-color: #fff; background-color: #fff;
border: 1px dashed #ededed; border: 1px dashed #ededed;
border-radius: 4px; border-radius: 4px;
margin: 0 20px 20px 0; margin: 0 20px 20px 0;
font-size: 12px; font-size: 12px;
color: #333333; color: #333333;
float: left; float: left;
} }
.hotelmanagement .resourceListMan:hover { .hotelmanagement .resourceListMan:hover {
box-shadow: 0px 0px 20px rgba(191, 191, 191, 1); box-shadow: 0px 0px 20px rgba(191, 191, 191, 1);
transition: all linear 0.5s; transition: all linear 0.5s;
} }
.hotelmanagement .reTopInfo { .hotelmanagement .reTopInfo {
width: 100%; width: 100%;
height: 123px; height: 123px;
position: relative; position: relative;
} }
.hotelmanagement .reTopInfo img { .hotelmanagement .reTopInfo img {
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 100%; height: 100%;
top: 0; top: 0;
border-top-left-radius: 4px; border-top-left-radius: 4px;
border-top-right-radius: 4px; border-top-right-radius: 4px;
} }
.hotelmanagement .resTypeList { .hotelmanagement .resTypeList {
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 10px; left: 10px;
} }
.hotelmanagement .resTypeList span { .hotelmanagement .resTypeList span {
display: inline-block; display: inline-block;
padding: 1px 5px; padding: 1px 5px;
border-radius: 10px; border-radius: 10px;
color: #fff; color: #fff;
margin-right: 10px; margin-right: 10px;
} }
.hotelmanagement .L1 { .hotelmanagement .L1 {
background-color: #e95252; background-color: #e95252;
} }
.hotelmanagement .L2 { .hotelmanagement .L2 {
background-color: #47bf8c; background-color: #47bf8c;
} }
.hotelmanagement .L3 { .hotelmanagement .L3 {
background-color: #2aaef2; background-color: #2aaef2;
} }
.hotelmanagement .L4 { .hotelmanagement .L4 {
background-color: #9cf; background-color: #9cf;
} }
.hotelmanagement .L5 { .hotelmanagement .L5 {
background-color: #00c6ff; background-color: #00c6ff;
margin-top: 5px; margin-top: 5px;
} }
.hotelmanagement .starSu { .hotelmanagement .starSu {
position: absolute; position: absolute;
bottom: 8px; bottom: 8px;
right: 10px; right: 10px;
} }
.hotelmanagement .sushe { .hotelmanagement .sushe {
background-color: #ffc800; background-color: #ffc800;
display: inline-block; display: inline-block;
padding: 1px 5px; padding: 1px 5px;
border-radius: 10px; border-radius: 10px;
color: #fff; color: #fff;
} }
.hotelmanagement .hotelTitle { .hotelmanagement .hotelTitle {
margin: 22px 16px 0 16px; margin: 22px 16px 0 16px;
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.hotelmanagement .brandList { .hotelmanagement .brandList {
margin: 10px 16px; margin: 10px 16px;
} }
.hotelmanagement .brandList i { .hotelmanagement .brandList i {
position: relative; position: relative;
top: 2px; top: 2px;
} }
.hotelmanagement .brand { .hotelmanagement .brand {
float: left; float: left;
width: 120px; width: 120px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.hotelmanagement .dayNum { .hotelmanagement .dayNum {
float: right; float: right;
} }
.hotelmanagement .Address { .hotelmanagement .Address {
margin: 0 16px; margin: 0 16px;
height: 17px; height: 17px;
overflow: hidden; overflow: hidden;
} }
.hotelmanagement .Address i { .hotelmanagement .Address i {
color: #bbbbbb; color: #bbbbbb;
} }
.hotelmanagement .iconfont { .hotelmanagement .iconfont {
margin-right: 5px; margin-right: 5px;
position: relative; position: relative;
top: -4px; top: -4px;
} }
.hotelmanagement .icon-star1 { .hotelmanagement .icon-star1 {
color: #ffc800; color: #ffc800;
} }
.hotelmanagement .star i { .hotelmanagement .star i {
margin-right: 3px; margin-right: 3px;
font-size: 12px; font-size: 12px;
} }
.hotelmanagement .honor { .hotelmanagement .honor {
color: #ff793e; color: #ff793e;
} }
.hotelmanagement .dieline { .hotelmanagement .dieline {
color: #2aaef2; color: #2aaef2;
font-size: 14px; font-size: 14px;
top: 1px !important; top: 1px !important;
} }
.hotelmanagement .AddressInner { .hotelmanagement .AddressInner {
float: right; float: right;
width: 160px; width: 160px;
height: 18px; height: 18px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.hotelmanagement .btnList { .hotelmanagement .btnList {
margin-top: 12px; margin-top: 12px;
text-align: center; text-align: center;
} }
.hotelmanagement .hotelBtnMan { .hotelmanagement .hotelBtnMan {
width: 50px; width: 50px;
height: 28px; height: 28px;
border-radius: 14px; border-radius: 14px;
color: #fff; color: #fff;
cursor: pointer; cursor: pointer;
background-color: #f76f6f; background-color: #f76f6f;
} }
.hotelmanagement .w150 .el-input { .hotelmanagement .w150 .el-input {
width: 150px; width: 150px;
} }
.hotelmanagement .RemainingInventory { .hotelmanagement .RemainingInventory {
position: absolute; position: absolute;
width: 60px; width: 60px;
height: 60px; height: 60px;
background-color: rgba(0, 0, 0, 0.35); background-color: rgba(0, 0, 0, 0.35);
border-radius: 50%; border-radius: 50%;
margin: auto; margin: auto;
top: 30px; top: 30px;
color: #fff; color: #fff;
font-size: 16px; font-size: 16px;
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
line-height: 60px; line-height: 60px;
left: 50%; left: 50%;
margin-left: -30px; margin-left: -30px;
} }
.hotelmanagement .delScien { .hotelmanagement .delScien {
position: absolute; position: absolute;
right: 10px; right: 10px;
top: 10px; top: 10px;
display: none; display: none;
} }
.hotelmanagement .delScien:hover { .hotelmanagement .delScien:hover {
color: #f76f6f; color: #f76f6f;
cursor: pointer; cursor: pointer;
} }
.hotelmanagement .resourceListMan:hover .delScien { .hotelmanagement .resourceListMan:hover .delScien {
display: block; display: block;
} }
.hotelmanagement .comCursorUrl { .hotelmanagement .comCursorUrl {
cursor: pointer; cursor: pointer;
} }
.editInfo { .editInfo {
padding: 2px !important; padding: 2px !important;
} }
...@@ -237,536 +237,808 @@ ...@@ -237,536 +237,808 @@
<ul> <ul>
<li> <li>
<span class="hotel_name"> <span class="hotel_name">
<em>{{$t('hotel.hotel_name')}}</em> <em>{{ $t("hotel.hotel_name") }}</em>
<el-input maxlength="50" @keyup.native.enter="resetPageIndex(),selectResource()" v-model="msg.Name"> <el-input
maxlength="50"
@keyup.native.enter="resetPageIndex(), selectResource()"
v-model="msg.Name"
>
</el-input> </el-input>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>{{$t('system.quety_area')}}</em> <em>{{ $t("system.quety_area") }}</em>
<el-select v-model="msg.QCountry" clearable class="w150" filterable <el-select
@change="getProvinceList(msg.QCountry,1)" :placeholder="$t('hotel.hotel_country')"> v-model="msg.QCountry"
<el-option v-for="item in countryList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> clearable
class="w150"
filterable
@change="getProvinceList(msg.QCountry, 1)"
:placeholder="$t('hotel.hotel_country')"
>
<el-option
v-for="item in countryList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
></el-option>
</el-select> </el-select>
<el-select v-model="msg.QProvince" class="w150" filterable @change="getProvinceList(msg.QProvince,2)" <el-select
:placeholder="$t('hotel.hotel_province')"> v-model="msg.QProvince"
<el-option v-for="item in provinceList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> class="w150"
filterable
@change="getProvinceList(msg.QProvince, 2)"
:placeholder="$t('hotel.hotel_province')"
>
<el-option
v-for="item in provinceList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
></el-option>
</el-select> </el-select>
<el-select v-model="msg.QCity" class="w150" filterable @change="getProvinceList(msg.QCity,3)" <el-select
:placeholder="$t('hotel.hotel_city')"> v-model="msg.QCity"
<el-option v-for="item in cityList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> class="w150"
filterable
@change="getProvinceList(msg.QCity, 3)"
:placeholder="$t('hotel.hotel_city')"
>
<el-option
v-for="item in cityList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
></el-option>
</el-select> </el-select>
<el-select v-model="msg.QDistrict" class="w150" filterable :placeholder="$t('hotel.hotel_area')"> <el-select
<el-option v-for="item in district" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> v-model="msg.QDistrict"
class="w150"
filterable
:placeholder="$t('hotel.hotel_area')"
>
<el-option
v-for="item in district"
:key="item.ID"
:label="item.Name"
:value="item.ID"
></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>{{$t('hotel.hotel_status')}}</em> <em>{{ $t("hotel.hotel_status") }}</em>
<el-select v-model="msg.Status" class="w210" :placeholder="$t('pub.unlimitedSel')"> <el-select
v-model="msg.Status"
class="w210"
:placeholder="$t('pub.unlimitedSel')"
>
<el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option>
<el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option
v-for="item in status"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>{{$t('ground.jiudianleixing')}}</em> <em>{{ $t("ground.jiudianleixing") }}</em>
<el-select v-model="msg.HotelType" class="w210" :placeholder="$t('pub.unlimitedSel')"> <el-select
v-model="msg.HotelType"
class="w210"
:placeholder="$t('pub.unlimitedSel')"
>
<el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option>
<el-option v-for="item in HotelTypeList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> <el-option
v-for="item in HotelTypeList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>{{$t('Operation.Op_price')}}</em> <em>{{ $t("Operation.Op_price") }}</em>
<el-select v-model="msg.HotelPirceType" class="w210" :placeholder="$t('pub.unlimitedSel')"> <el-select
v-model="msg.HotelPirceType"
class="w210"
:placeholder="$t('pub.unlimitedSel')"
>
<el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option> <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option>
<el-option v-for="item in HotelPirceTypeList" :key="item.ID" :label="item.Name" :value="item.ID"> <el-option
v-for="item in HotelPirceTypeList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option> </el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span><em>{{$t('visa.v_czuser')}}</em></span> <span
<el-select class="w150" v-model="msg.UpdateBy" filterable :placeholder="$t('pub.pleaseSel')"> ><em>{{ $t("visa.v_czuser") }}</em></span
<el-option :label="$t('pub.unlimitedSel')" :value="0"> >
</el-option> <el-select
<el-option v-for="item in EmployeeList" :label="item.EmName" :value="item.EmployeeId" class="w150"
:key="item.EmployeeId"></el-option> v-model="msg.UpdateBy"
filterable
:placeholder="$t('pub.pleaseSel')"
>
<el-option :label="$t('pub.unlimitedSel')" :value="0"> </el-option>
<el-option
v-for="item in EmployeeList"
:label="item.EmName"
:value="item.EmployeeId"
:key="item.EmployeeId"
></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<button class="hollowFixedBtn" type="button" <button
@click="resetPageIndex(),selectResource()">{{$t('pub.searchBtn')}}</button> class="hollowFixedBtn"
<button class="normalBtn" type="button" @click="goSubInfo('HotelInfo')">{{$t('pub.addBtn')}}</button> type="button"
@click="resetPageIndex(), selectResource()"
>
{{ $t("pub.searchBtn") }}
</button>
<button
class="normalBtn"
type="button"
@click="goSubInfo('HotelInfo')"
>
{{ $t("pub.addBtn") }}
</button>
</li> </li>
</ul> </ul>
</div> </div>
<div class="hotelResource clearfix" v-loading="loading"> <div class="hotelResource clearfix" v-loading="loading">
<div class="resourceListMan" v-for="(item,index) in tableData" :key="index"> <div
<div class="reTopInfo" :class="{'comCursorUrl':item.URL}" @click="OpenNewUrl(item.URL)"> class="resourceListMan"
<img v-if="!item.PicPath" src="../../assets/img/bg_c3@3x.png"> v-for="(item, index) in tableData"
<img v-else :src='compressImg(item.PicPath, "filt", 213, "")' :onerror="defaultImg"> :key="index"
>
<div
class="reTopInfo"
:class="{ comCursorUrl: item.URL }"
@click="OpenNewUrl(item.URL)"
>
<img v-if="!item.PicPath" src="../../assets/img/bg_c3@3x.png" />
<img
v-else
:src="compressImg(item.PicPath, 'filt', 213, '')"
:onerror="defaultImg"
/>
<div class="resTypeList"> <div class="resTypeList">
<span v-for="(items,index) in item.OpenPlatformList" :key="index" <span
:class="{'L1':items.ID==1,'L2':items.ID==2,'L3':items.ID==3,'L4':items.ID==4,'L5':items.ID==5}">{{items.Name}}</span> v-for="(items, index) in item.OpenPlatformList"
:key="index"
:class="{
L1: items.ID == 1,
L2: items.ID == 2,
L3: items.ID == 3,
L4: items.ID == 4,
L5: items.ID == 5,
}"
>{{ items.Name }}</span
>
</div> </div>
<div class="delScien" @click.stop="isdelete(item.ID)"> <div class="delScien" @click.stop="isdelete(item.ID)">
<i class="iconfont icon-xingzhuang"></i> <i class="iconfont icon-xingzhuang"></i>
</div> </div>
<div class="starSu"> <div class="starSu">
<div class="star" v-if="item.Star<8"> <div class="star" v-if="item.Star < 8">
<i v-for="(items,index) in item.starArr" class="iconfont icon-star1" :key="index"></i> <i
v-for="(items, index) in item.starArr"
class="iconfont icon-star1"
:key="index"
></i>
</div> </div>
<span v-if="item.Star==8" class="sushe">{{$t('restaurant.res_homeFacility')}}</span> <span v-if="item.Star == 8" class="sushe">{{
<span v-if="item.Star==9" class="sushe">{{$t('restaurant.res_SpringHotel')}}</span> $t("restaurant.res_homeFacility")
}}</span>
<span v-if="item.Star == 9" class="sushe">{{
$t("restaurant.res_SpringHotel")
}}</span>
</div> </div>
</div> </div>
<el-tooltip class="item" effect="dark" :content="item.Name" placement="top-start" popper-class="max-w250"> <el-tooltip
<div class="hotelTitle">{{item.Name}}</div> class="item"
effect="dark"
:content="item.Name"
placement="top-start"
popper-class="max-w250"
>
<div class="hotelTitle">{{ item.Name }}</div>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" :content="item.HotelRealName" placement="top-start" <el-tooltip
popper-class="max-w250"> class="item"
<div class="hotelTitle fz12">{{$t('ground.zhenshimingcheng')}}: {{item.HotelRealName}}</div> effect="dark"
:content="item.HotelRealName"
placement="top-start"
popper-class="max-w250"
>
<div class="hotelTitle fz12">
{{ $t("ground.zhenshimingcheng") }}: {{ item.HotelRealName }}
</div>
</el-tooltip> </el-tooltip>
<div class="brandList clearfix" style="display:none;"> <div class="brandList clearfix" style="display: none">
<div class="brand"> <div class="brand">
<i class="iconfont honor icon-img_biaozhi"></i> <i class="iconfont honor icon-img_biaozhi"></i>
{{item.ChainBrand}} {{ item.ChainBrand }}
</div> </div>
<div class="dayNum"> <div class="dayNum">
<i class="iconfont dieline icon-img_shijian"></i> <i class="iconfont dieline icon-img_shijian"></i>
{{item.DieLine}}{{$t('hotel.hotel_day')}} {{ item.DieLine }}{{ $t("hotel.hotel_day") }}
</div> </div>
</div> </div>
<div class="Address"> <div class="Address">
<div v-show="item.Address"> <div v-show="item.Address">
<i class="iconfont icon-img_dz"></i> <i class="iconfont icon-img_dz"></i>
<el-tooltip class="item" effect="dark" :content="item.Address" placement="top-start"> <el-tooltip
<div class="AddressInner">{{item.Address}}</div> class="item"
effect="dark"
:content="item.Address"
placement="top-start"
>
<div class="AddressInner">{{ item.Address }}</div>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
<el-tooltip class="item" effect="dark" :content="item.UpdateName+''+item.UpdateTimeStr" placement="top-start"> <el-tooltip
<div style="padding-left:15px;padding-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"> class="item"
<i style="top:2px" class="iconfont icon-renyuanguanli"></i> effect="dark"
<span v-if="item.UpdateName && item.UpdateName!=''">{{item.UpdateName}}</span> :content="item.UpdateName + '' + item.UpdateTimeStr"
{{item.UpdateTimeStr}} placement="top-start"
>
<div
style="
padding-left: 15px;
padding-top: 5px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
"
>
<i style="top: 2px" class="iconfont icon-renyuanguanli"></i>
<span v-if="item.UpdateName && item.UpdateName != ''">{{
item.UpdateName
}}</span>
{{ item.UpdateTimeStr }}
</div> </div>
</el-tooltip> </el-tooltip>
<div class="btnList"> <div class="btnList">
<button @click="goSubInfo('HotelInfo',item.ID)" class="hotelBtnMan">{{$t('pub.updateMsg')}}</button> <button @click="goSubInfo('HotelInfo', item.ID)" class="hotelBtnMan">
<button @click="CopyHotel(item.ID)" class="hotelBtnMan" v-if="userInfo.RB_Group_id==QjGroupId()">复制</button> {{ $t("pub.updateMsg") }}
<button @click="goproduct('HotelProductManage',item)" class="hotelBtnMan" v-if="userInfo.RB_Group_id!=QjGroupId()">房型</button> </button>
<br/> <button
@click="CopyHotel(item.ID)"
class="hotelBtnMan"
v-if="userInfo.RB_Group_id == QjGroupId()"
>
复制
</button>
<button
@click="goproduct('HotelProductManage', item)"
class="hotelBtnMan"
v-if="userInfo.RB_Group_id != QjGroupId()"
>
房型
</button>
<br />
<!--v-if="IsHotelPriceStock==1" HK 10-21注释--> <!--v-if="IsHotelPriceStock==1" HK 10-21注释-->
<button style="width:80px;margin-top:10px;" @click="goUrl('HotelProductManage2',item)" <button
class="hotelBtnMan">{{$t('ground.baojiayukucun')}}</button> style="width: 80px; margin-top: 10px"
<button style="width:80px;margin-top:10px;" @click="downloadFile(item)" @click="goUrl('HotelProductManage2', item)"
class="hotelBtnMan">查看报价</button> class="hotelBtnMan"
>
{{ $t("ground.baojiayukucun") }}
</button>
<button
style="width: 80px; margin-top: 10px"
@click="downloadFile(item)"
class="hotelBtnMan"
>
查看报价
</button>
</div> </div>
</div> </div>
</div> </div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage" <el-pagination
:page-size="this.msg.pageSize" layout="total,prev, pager, next, jumper" :total="msg.total"></el-pagination> background
<el-dialog title="上传报价单" :visible.sync="showUpload"> @current-change="handleCurrentChange"
<div> :current-page.sync="msg.currentPage"
<el-input style="margin-bottom: 20px" v-model="uploadTitle" placeholder="请填写报价单标题"></el-input> :page-size="this.msg.pageSize"
<el-upload layout="total,prev, pager, next, jumper"
class="upload-demo" :total="msg.total"
:file-list="DownloadMaterialsFileList" ></el-pagination>
:http-request="uploadTest" <el-dialog title="上传报价单" :visible.sync="showUpload">
:on-remove="handleRemove" <div>
:multiple="true" <el-input
:limit="10" style="margin-bottom: 20px"
action=""> v-model="uploadTitle"
<el-button size="small" type="primary">点击上传</el-button> placeholder="请填写报价单标题"
</el-upload> ></el-input>
<div class="submit-box"> <el-upload
<el-button type="primary" style="margin: 20px auto;" @click="submitFile">提交</el-button></div> class="upload-demo"
</div> :file-list="DownloadMaterialsFileList"
</el-dialog> :http-request="uploadTest"
<el-dialog title="查看报价" :visible.sync="showFilelist"> :on-remove="handleRemove"
<button style="width:80px;margin-top:10px;" @click="uploadFile()" :limit="1"
class="hotelBtnMan">上传报价</button> action=""
<div class="list-item" v-for="(item, index) in DmcFileStoreList" :key="item.Id"> >
<span class="file-title">{{item.Title}}</span> <el-button
<el-button class="editInfo" type="danger" @click="deleteFile(item, index)">删除</el-button> :disabled="DownloadMaterialsFileList.length ? true : false"
<el-button class="editInfo" type="primary" @click="editFile(item)">编辑</el-button> size="small"
<div style="margin: 10px 0" v-for="(ele, index) in item.FileInfoList" :key="index"> type="primary"
<span>{{ele.Name}}</span> >点击上传</el-button
<a :href="ele.Url" type="download"> >
<el-button class="editInfo" type="primary">下载</el-button></a> </el-upload>
<div class="submit-box">
<el-button
type="primary"
style="margin: 20px auto"
@click="submitFile"
>提交</el-button
>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="查看报价" :visible.sync="showFilelist">
<button
style="width: 80px; margin-top: 10px"
@click="uploadFile()"
class="hotelBtnMan"
>
上传报价
</button>
<el-table
:data="DmcFileStoreList"
stripe
style="width: 100%"
>
<el-table-column fixed prop="Title" label="标题">
</el-table-column>
<el-table-column
prop="CreateByName"
label="创建人"
width="150"
>
</el-table-column>
<el-table-column
prop="CreateTime"
label="创建日期"
>
</el-table-column>
<el-table-column
prop="DateStr"
label="操作"
width="120"
>
<template slot-scope="scope">
<el-button
class="editInfo"
type="danger"
@click="deleteFile(scope.row, scope.$index)"
>删除</el-button
>
<a :href="scope.row.Url" type="download">
<el-button class="editInfo" type="primary">下载</el-button></a
>
</template>
</el-table-column>
</el-table>
<el-pagination
background
@current-change="handlePageChange"
:current-page.sync="page.currentPage"
layout="total,prev, pager, next, jumper"
:page-size="page.pageSize"
:total="page.total"
>
</el-pagination>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { import page from '../../utils/page';
data() { export default {
return { data() {
editInfo: {}, return {
uploadTitle: '', page: { currentPage: 1, pageSize: 10, total: 0 },
DownloadMaterialsFileList: [], editInfo: {},
showFilelist: false, uploadTitle: "",
showUpload: false, DownloadMaterialsFileList: [],
DmcFileStoreList: [], showFilelist: false,
userInfo:{},//登录用户信息 showUpload: false,
IsHotelPriceStock: 0, //1-有获取酒店库存与报价添加修改权限 DmcFileStoreList: [],
countryList: "", userInfo: {}, //登录用户信息
provinceList: "", IsHotelPriceStock: 0, //1-有获取酒店库存与报价添加修改权限
cityList: "", countryList: "",
district: "", provinceList: "",
tableData: [], cityList: "",
EmployeeList: [], //员工列表 district: "",
//酒店类型 tableData: [],
HotelTypeList: [], EmployeeList: [], //员工列表
//酒店价格 //酒店类型
HotelPirceTypeList: [], HotelTypeList: [],
status: [{ //酒店价格
value: "0", HotelPirceTypeList: [],
label: this.$t('pub.normalSel') status: [
}, {
{ value: "0",
value: "1", label: this.$t("pub.normalSel"),
label: this.$t('system.table_delete') },
} {
], value: "1",
defaultImg: 'this.src="' + require("../../assets/img/bg_z1@2x.png") + '"', label: this.$t("system.table_delete"),
loading: true,
msg: {
pageIndex: 1,
pageSize: 14,
Name: "",
QCountry: "",
QProvince: "",
QCity: "",
Status: "0",
HotelPirceType: "-1",
HotelType: "-1",
QDistrict: "",
total: 0,
currentPage: 1,
ID: 0,
UpdateBy: 0, //操作人
ProductType:1,//国际酒店
}
};
},
methods: {
uploadFile() {
this.showUpload = true
this.uploadTitle =''
},
downloadFile(hotel) {
this.hotel = hotel
this.getFilelist()
this.showFilelist = true
}, },
handleRemove(file, fileList) { ],
this.DownloadMaterialsFileList=fileList; defaultImg: 'this.src="' + require("../../assets/img/bg_z1@2x.png") + '"',
loading: true,
msg: {
pageIndex: 1,
pageSize: 14,
Name: "",
QCountry: "",
QProvince: "",
QCity: "",
Status: "0",
HotelPirceType: "-1",
HotelType: "-1",
QDistrict: "",
total: 0,
currentPage: 1,
ID: 0,
UpdateBy: 0, //操作人
ProductType: 1, //国际酒店
}, },
};
},
methods: {
handlePageChange(val) {
this.page.pageIndex = val;
this.getFilelist();
},
uploadFile() {
this.showUpload = true;
this.uploadTitle = "";
},
downloadFile(hotel) {
this.hotel = hotel;
console.log('downloadFile', hotel)
this.getFilelist();
this.showFilelist = true;
},
handleRemove(file, fileList) {
this.DownloadMaterialsFileList = fileList;
},
uploadTest(file) { uploadTest(file) {
let newArr = []; let newArr = [];
newArr.push(file.file); newArr.push(file.file);
let path = "/Upload/DMC/Icon/"; let path = "/Upload/DMC/Icon/";
this.UploadSelfFileT(path, newArr, x => { this.UploadSelfFileT(path, newArr, (x) => {
let url = this.domainManager().ViittoFileUrl + x.data.FilePath; let url = this.domainManager().ViittoFileUrl + x.data.FilePath;
let Name=x.data.SourceFileName; let Name = x.data.SourceFileName;
this.DownloadMaterialsFileList.push({Url:url,Name:Name,name:Name}) this.DownloadMaterialsFileList.push({
Url: url,
Name: Name,
name: Name,
});
}); });
}, },
submitFile() { submitFile() {
this.apipost( if (!this.uploadTitle) {
"hotel_get_SetDMCFileStore", this.$message.error("请填写标题");
{ return;
Id:this.editInfo.Id || 0,Title:this.uploadTitle, }
ProcudtType:1, if (!this.DownloadMaterialsFileList) {
ProductId:this.hotel.ID, this.$message.error("请上传文件");
FileInfoList: this.DownloadMaterialsFileList return;
}, }
res => { this.apipost(
this.showUpload = false "hotel_get_SetDMCFileStore",
this.getFilelist() {
}, Id: this.editInfo.Id || 0,
err => {} Title: this.uploadTitle,
); ProcudtType: 1,
ProductId: this.hotel.ID,
FileInfoList: this.DownloadMaterialsFileList,
},
(res) => {
this.showUpload = false;
this.getFilelist();
},
(err) => {}
);
}, },
deleteFile(file, index) { deleteFile(file) {
this.apipost( this.apipost(
"hotel_get_RemoveDMCFileStore", "hotel_get_RemoveDMCFileStore",
{ {
Id:file.Id, Id: file.Id,
}, },
res => { (res) => {
this.DmcFileStoreList.splice(index, 1) // this.DmcFileStoreList.splice(index, 1);
}, this.getFilelist();
err => {} },
); (err) => {}
);
}, },
editFile(file) { editFile(file) {
this.editInfo = file this.editInfo = file;
this.showUpload = true this.showUpload = true;
this.uploadTitle = file.Title this.uploadTitle = file.Title;
file.FileInfoList.forEach(item => item.name = item.Name) file.FileInfoList.forEach((item) => (item.name = item.Name));
this.DownloadMaterialsFileList = file.FileInfoList this.DownloadMaterialsFileList = file.FileInfoList;
}, },
getFilelist() { getFilelist() {
this.apipost( this.apipost(
"hotel_get_GetDMCFileStoreList", "hotel_get_GetDMCFileStoreList",
{ {
HotelId:this.hotel.Id, HotelId: this.hotel.ID,
}, pageIndex: this.page.currentPage,
res => { pageSize: this.page.pageSize
if(res.data.resultCode) { },
this.DmcFileStoreList = res.data.data (res) => {
} if (res.data.resultCode) {
}, const {pageData,count} = res.data.data;
err => {} pageData.forEach(item => item.Url = item.FileInfoList[0] ? item.FileInfoList[0].Url : '')
); this.DmcFileStoreList = pageData;
this.page.total = count
}
},
(err) => {}
);
}, },
CopyHotel(Id) { CopyHotel(Id) {
var that = this; var that = this;
that.Confirm('是否要复制此酒店?', function () { that.Confirm("是否要复制此酒店?", function () {
var msg = { var msg = {
Id: Id Id: Id,
};
that.apipost(
"hotel_post_CopyHotelService",
msg,
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.selectResource();
} else {
that.Error(res.data.message);
}
},
null
);
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.selectResource();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.msg.currentPage = 1;
},
isdelete(ID) {
var that = this;
that.Confirm(this.$t("tips.shifoushanchu"), function () {
var msg = {
hotelID: ID
};
that.apipost(
"hotel_post_Remove",
msg,
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.selectResource();
}
},
null
);
});
},
getProvinceList(ID, type) {
//根据省份获取城市
let msg = {
Id: ID
}; };
if (type == 1) { that.apipost(
this.msg.QProvince = ""; "hotel_post_CopyHotelService",
this.msg.QCity = ""; msg,
this.msg.QDistrict = ""; (res) => {
} else if (type == 2) {
this.msg.QCity = "";
this.msg.QDistrict = "";
} else if (type == 3) {
this.msg.QDistrict = "";
}
if (this.msg.Country !== "") {
this.apipost(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList = res.data.data;
} else if (type == 2) {
this.cityList = res.data.data;
} else if (type == 3) {
this.district = res.data.data;
}
},
err => {}
);
}
},
//获取国家
getCountryList() {
this.apipost(
"dict_post_Destination_GetCountry", {},
res => {
this.countryList = res.data.data;
},
err => {}
);
},
selectResource() {
this.loading = true;
if (this.msg.Status == "") {
this.msg.Status = "-1";
}
this.apipost(
"hotel_post_GetPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.tableData = res.data.data.pageData; that.Success(res.data.message);
this.msg.total = res.data.data.count; that.selectResource();
let starArr; } else {
this.tableData.forEach(x => { that.Error(res.data.message);
x.starArr = new Array(x.Star);
});
} }
}, },
null null
); );
}, });
//调整到产品列表 },
goUrl(path, item) { handleCurrentChange(val) {
this.$router.push({ this.msg.pageIndex = val;
path: path, this.selectResource();
query: { },
id: item.ID, resetPageIndex() {
Country: item.Country, this.msg.pageIndex = 1;
IsSelfBook: item.IsSelfBook, this.msg.currentPage = 1;
blank: 'y', },
tab: '报价详情' isdelete(ID) {
} var that = this;
}); that.Confirm(this.$t("tips.shifoushanchu"), function () {
}, var msg = {
//调整到房型列表 hotelID: ID,
goproduct(path, item) { };
this.$router.push({ that.apipost(
path: path, "hotel_post_Remove",
query: { msg,
id: item.ID, (res) => {
Country:item.Country,
IsSelfBook:item.IsSelfBook,
blank: 'y',
tab: '房型列表'
}
});
},
goSubInfo(path, id) {
this.$store.commit("pageConditionUpdate", this.msg);
this.$router.push({
path: path,
query: {
id: id,
blank: 'y'
}
});
},
//获取酒店类型列表
GetHotelTypeList() {
this.apipost(
"dmc_post_Get_GetHotelType", {},
res => {
if (res.data.resultCode == 1) {
this.HotelTypeList = res.data.data;
}
},
err => {}
);
},
GetHotelPirceTypeList() {
this.apipost(
"dmc_post_Get_GetHotelPriceType", {},
res => {
if (res.data.resultCode == 1) {
this.HotelPirceTypeList = res.data.data;
}
},
err => {}
);
},
//获取酒店修改与报价添加修改权限
GetHotelPirceStockAuth() {
this.apipost(
"hotel_post_GetHotelPriceStockAuthService", {},
res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.IsHotelPriceStock = res.data.data; that.Success(res.data.message);
that.selectResource();
} }
}, },
err => {} null
); );
}, });
//根据当前员工所在部门获取该部门及子部门员工信息 },
getEmployeeList() { getProvinceList(ID, type) {
let msg = { //根据省份获取城市
GroupId: this.userInfo.RB_Group_id, let msg = {
BranchId: "-1", Id: ID,
DepartmentId: "-1", };
PostId: "-1", if (type == 1) {
IsLeave: "0" this.msg.QProvince = "";
}; this.msg.QCity = "";
this.msg.QDistrict = "";
} else if (type == 2) {
this.msg.QCity = "";
this.msg.QDistrict = "";
} else if (type == 3) {
this.msg.QDistrict = "";
}
if (this.msg.Country !== "") {
this.apipost( this.apipost(
"admin_get_EmployeeGetList", {}, "dict_post_Destination_GetChildList",
res => { msg,
if (res.data.resultCode == 1) { (res) => {
this.EmployeeList = res.data.data; if (type == 1) {
this.provinceList = res.data.data;
} else if (type == 2) {
this.cityList = res.data.data;
} else if (type == 3) {
this.district = res.data.data;
} }
}, },
err => {} (err) => {}
); );
}, }
}, },
mounted() { //获取国家
this.userInfo=this.getLocalStorage(); getCountryList() {
this.getEmployeeList(); this.apipost(
this.GetHotelPirceStockAuth(); "dict_post_Destination_GetCountry",
this.getCountryList(); {},
this.GetHotelTypeList(); (res) => {
this.GetHotelPirceTypeList(); this.countryList = res.data.data;
},
(err) => {}
);
}, },
created() { selectResource() {
if (this.$route.query.hasOwnProperty("cache")) { this.loading = true;
if (this.$store.state.pageCondition != null) { if (this.msg.Status == "") {
this.msg = this.$store.state.pageCondition; this.msg.Status = "-1";
}
}
if(this.$route.query.StatisticsSTime){
this.msg.StatisticsSTime=this.$route.query.StatisticsSTime
} }
if(this.$route.query.StatisticsETime){ this.apipost(
this.msg.StatisticsETime=this.$route.query.StatisticsETime "hotel_post_GetPageList",
this.msg,
(res) => {
this.loading = false;
if (res.data.resultCode == 1) {
this.tableData = res.data.data.pageData;
this.msg.total = res.data.data.count;
let starArr;
this.tableData.forEach((x) => {
x.starArr = new Array(x.Star);
});
}
},
null
);
},
//调整到产品列表
goUrl(path, item) {
this.$router.push({
path: path,
query: {
id: item.ID,
Country: item.Country,
IsSelfBook: item.IsSelfBook,
blank: "y",
tab: "报价详情",
},
});
},
//调整到房型列表
goproduct(path, item) {
this.$router.push({
path: path,
query: {
id: item.ID,
Country: item.Country,
IsSelfBook: item.IsSelfBook,
blank: "y",
tab: "房型列表",
},
});
},
goSubInfo(path, id) {
this.$store.commit("pageConditionUpdate", this.msg);
this.$router.push({
path: path,
query: {
id: id,
blank: "y",
},
});
},
//获取酒店类型列表
GetHotelTypeList() {
this.apipost(
"dmc_post_Get_GetHotelType",
{},
(res) => {
if (res.data.resultCode == 1) {
this.HotelTypeList = res.data.data;
}
},
(err) => {}
);
},
GetHotelPirceTypeList() {
this.apipost(
"dmc_post_Get_GetHotelPriceType",
{},
(res) => {
if (res.data.resultCode == 1) {
this.HotelPirceTypeList = res.data.data;
}
},
(err) => {}
);
},
//获取酒店修改与报价添加修改权限
GetHotelPirceStockAuth() {
this.apipost(
"hotel_post_GetHotelPriceStockAuthService",
{},
(res) => {
if (res.data.resultCode == 1) {
this.IsHotelPriceStock = res.data.data;
}
},
(err) => {}
);
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
let msg = {
GroupId: this.userInfo.RB_Group_id,
BranchId: "-1",
DepartmentId: "-1",
PostId: "-1",
IsLeave: "0",
};
this.apipost(
"admin_get_EmployeeGetList",
{},
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
},
(err) => {}
);
},
},
mounted() {
this.userInfo = this.getLocalStorage();
this.getEmployeeList();
this.GetHotelPirceStockAuth();
this.getCountryList();
this.GetHotelTypeList();
this.GetHotelPirceTypeList();
},
created() {
if (this.$route.query.hasOwnProperty("cache")) {
if (this.$store.state.pageCondition != null) {
this.msg = this.$store.state.pageCondition;
} }
if(this.$route.query.type){ }
if(this.$route.query.type==1){ if (this.$route.query.StatisticsSTime) {
this.msg.CreateBy =this.$route.query.EmployeeId; this.msg.StatisticsSTime = this.$route.query.StatisticsSTime;
} }
if(this.$route.query.type==2){ if (this.$route.query.StatisticsETime) {
this.msg.UpdateBy =this.$route.query.EmployeeId; this.msg.StatisticsETime = this.$route.query.StatisticsETime;
} }
if (this.$route.query.type) {
if (this.$route.query.type == 1) {
this.msg.CreateBy = this.$route.query.EmployeeId;
} }
var id = this.$route.query.ID; if (this.$route.query.type == 2) {
if (id) { this.msg.UpdateBy = this.$route.query.EmployeeId;
this.msg.ID = id;
} }
this.selectResource();
} }
}; var id = this.$route.query.ID;
if (id) {
this.msg.ID = id;
}
this.selectResource();
},
};
</script> </script>
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