Commit 5209fd6f authored by 黄奎's avatar 黄奎

页面修改

parent 0599d826
...@@ -433,28 +433,42 @@ ...@@ -433,28 +433,42 @@
</div> </div>
</el-tooltip> </el-tooltip>
<div class="btnList"> <div class="btnList">
<button @click="goSubInfo('HotelInfo', item.ID)" class="hotelBtnMan"> <template v-if="userInfo.RB_Group_id==2">
{{ $t("pub.updateMsg") }} <button @click="goSubInfo('HotelInfo', item.ID)" class="hotelBtnMan">
</button> {{ $t("pub.updateMsg") }}
<button @click="CopyHotel(item.ID)" class="hotelBtnMan" v-if="userInfo.RB_Group_id == QjGroupId()"> </button>
复制 <button @click="CopyHotel(item.ID)" class="hotelBtnMan" v-if="userInfo.RB_Group_id == QjGroupId()">
</button> 复制
<button @click="goproduct('HotelProductManage', item)" class="hotelBtnMan" </button>
v-if="userInfo.RB_Group_id != QjGroupId()"> <button @click="goproduct('HotelProductManage', item)" class="hotelBtnMan"
房型 v-if="userInfo.RB_Group_id != QjGroupId()">
</button> 房型
<br /> </button>
<br />
<button v-if="IsHotelPriceStock==1" style="width: 80px; margin-top: 10px"
@click="goUrl('HotelProductManage2', item)" class="hotelBtnMan"> <button v-if="IsHotelPriceStock==1||userInfo.RB_Group_id!=2" style="width: 80px; margin-top: 10px"
{{ $t("ground.baojiayukucun") }} @click="goUrl('HotelProductManage2', item)" class="hotelBtnMan">
</button> {{ $t("ground.baojiayukucun") }}
<button v-if="IsHotelPriceStock==1" style="width: 80px; margin-top: 10px" @click="downloadFile(item)" </button>
class="hotelBtnMan"> <button v-if="IsHotelPriceStock==1" style="width: 80px; margin-top: 10px" @click="downloadFile(item)"
上传报价 class="hotelBtnMan">
</button> 上传报价
<template v-if="item.MaxFileDate&&item.MaxFileDate!=''"> </button>
<span style="color:red">最近一次上传时间:{{item.MaxFileDate}}</span> <template v-if="item.MaxFileDate&&item.MaxFileDate!=''">
<span style="color:red">最近一次上传时间:{{item.MaxFileDate}}</span>
</template>
</template>
<template v-else>
<button @click="goSubInfo('HotelInfo', item.ID)" class="hotelBtnMan">
{{ $t("pub.updateMsg") }}
</button>
<button @click="CopyHotel(item.ID)" class="hotelBtnMan" v-if="userInfo.RB_Group_id == QjGroupId()">
复制
</button>
<button style="width: 80px; margin-top: 10px" @click="goUrl('HotelProductManage2', item)"
class="hotelBtnMan">
{{ $t("ground.baojiayukucun") }}
</button>
</template> </template>
</div> </div>
</div> </div>
......
<style> <style>
.addMsgSW{ .addMsgSW {
width: 105px; width: 105px;
} }
.updateMsgSw{
.updateMsgSw {
width: 169px; width: 169px;
} }
._info_img ul { ._info_img ul {
/* padding: 10px 0 */ /* padding: 10px 0 */
} }
...@@ -59,17 +61,23 @@ ...@@ -59,17 +61,23 @@
text-align: center; text-align: center;
overflow: auto; overflow: auto;
} }
.page_MyCustomer .icon-guanbi1{
width: 18px;height: 18px; .page_MyCustomer .icon-guanbi1 {
width: 18px;
height: 18px;
line-height: 20px; line-height: 20px;
text-align: center; text-align: center;
color: #fff;position: absolute; color: #fff;
right: -5px;top: -10px; position: absolute;
background: #dedede;border-radius: 50%; right: -5px;
top: -10px;
background: #dedede;
border-radius: 50%;
font-size: 12px; font-size: 12px;
cursor: pointer; cursor: pointer;
z-index: 3; z-index: 3;
} }
.page_MyCustomer ._mc_addbox { .page_MyCustomer ._mc_addbox {
height: 52px; height: 52px;
width: 100%; width: 100%;
...@@ -476,10 +484,11 @@ ...@@ -476,10 +484,11 @@
</li> </li>
<li> <li>
<button class="hollowFixedBtn" @click="reSearchPage">{{$t('pub.searchBtn')}}</button> <button class="hollowFixedBtn" @click="reSearchPage">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" <button class="normalBtn" @click="clickAdd">{{$t('salesModule.addCustomer')}}</button>
@click="clickAdd">{{$t('salesModule.addCustomer')}}</button> <template v-if="currentUserInfo&&currentUserInfo.RB_Group_id==2">
<button class="normalBtn" @click="outerVisible=true">导入</button> <button class="normalBtn" @click="outerVisible=true">导入</button>
<button class="normalBtn" @click="getDownList">模板下载</button> <button class="normalBtn" @click="getDownList">模板下载</button>
</template>
</li> </li>
</div> </div>
<div class="_mc_addbox"> <div class="_mc_addbox">
...@@ -505,7 +514,8 @@ ...@@ -505,7 +514,8 @@
</li> </li>
</div> </div>
<div class="_mc_list _scrollbar" :class="addShow==true?'_edHeight':''"> <div class="_mc_list _scrollbar" :class="addShow==true?'_edHeight':''">
<table v-if="msg.CustomerStatus!=0" class="MycustomerTable singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading"> <table v-if="msg.CustomerStatus!=0" class="MycustomerTable singeRowTable" border="0" cellspacing="0"
cellpadding="0" v-loading="loading">
<tr> <tr>
<th>姓名</th> <th>姓名</th>
<th>联系电话</th> <th>联系电话</th>
...@@ -575,9 +585,10 @@ ...@@ -575,9 +585,10 @@
<td><span style="cursor: pointer;text-decoration: underline;" <td><span style="cursor: pointer;text-decoration: underline;"
@click.stop="goUrC('CouponsList',item.customerAccountId)">{{item.couponNum}}</span></td> @click.stop="goUrC('CouponsList',item.customerAccountId)">{{item.couponNum}}</span></td>
<td> <td>
<span style="cursor: pointer;color: #2CA4F0" @click="seeDeta(item)">{{ item.depositMoney?item.depositMoney:0 }}</span> <span style="cursor: pointer;color: #2CA4F0"
@click="seeDeta(item)">{{ item.depositMoney?item.depositMoney:0 }}</span>
</td> </td>
<td> <td>
<el-tooltip class="item" effect="dark" content="编辑" placement="top-start"> <el-tooltip class="item" effect="dark" content="编辑" placement="top-start">
<el-button @click.stop="EditMsg(item)" style="padding:4px" type="primary" icon="iconfont icon-bianji" <el-button @click.stop="EditMsg(item)" style="padding:4px" type="primary" icon="iconfont icon-bianji"
circle></el-button> circle></el-button>
...@@ -591,8 +602,8 @@ ...@@ -591,8 +602,8 @@
icon="iconfont icon-icon-test6" circle></el-button> icon="iconfont icon-icon-test6" circle></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="团队成员" placement="top-start"> <el-tooltip class="item" effect="dark" content="团队成员" placement="top-start">
<el-button style="padding:4px" @click.stop="goTeamMember(item)" type="primary" <el-button style="padding:4px" @click.stop="goTeamMember(item)" type="primary" icon="el-icon-user-solid"
icon="el-icon-user-solid" circle></el-button> circle></el-button>
</el-tooltip> </el-tooltip>
</td> </td>
</tr> </tr>
...@@ -601,7 +612,8 @@ ...@@ -601,7 +612,8 @@
</tr> </tr>
</table> </table>
<!-- 产品列表 --> <!-- 产品列表 -->
<signedClientList v-else :loading="loading" :list="dataList" :isVisa="isVisa" @success="reSearchPage" :pagesTitle="pagesTitle"></signedClientList> <signedClientList v-else :loading="loading" :list="dataList" :isVisa="isVisa" @success="reSearchPage"
:pagesTitle="pagesTitle"></signedClientList>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="this.msg.pageSize" :total="total"> layout="total,prev, pager, next, jumper" :page-size="this.msg.pageSize" :total="total">
</el-pagination> </el-pagination>
...@@ -612,8 +624,8 @@ ...@@ -612,8 +624,8 @@
<p class="_tit">{{$t('salesModule.addCustomer')}} <p class="_tit">{{$t('salesModule.addCustomer')}}
<span class="fr"> <span class="fr">
<button class="hollowFixedBtn" type="button" @click="cancelEdit()">{{$t('pub.cancelBtn')}}</button> <button class="hollowFixedBtn" type="button" @click="cancelEdit()">{{$t('pub.cancelBtn')}}</button>
<el-button type="button" class="normalBtn" v-if='allowAdd' @click="saveVisa()" <el-button type="button" class="normalBtn" v-if='allowAdd' @click="saveVisa()" :loading="loadingSave">
:loading="loadingSave">{{$t('pub.saveBtn')}}</el-button> {{$t('pub.saveBtn')}}</el-button>
</span> </span>
</p> </p>
</div> </div>
...@@ -656,7 +668,7 @@ ...@@ -656,7 +668,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('hotel.hotel_detailinfo')" prop="address"> <el-form-item :label="$t('hotel.hotel_detailinfo')" prop="address">
<el-input v-model="addMsg.address" :placeholder="$t('salesModule.HouseNumber')" maxlength="50"></el-input> <el-input v-model="addMsg.address" :placeholder="$t('salesModule.HouseNumber')" maxlength="50"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <!--
...@@ -679,72 +691,53 @@ ...@@ -679,72 +691,53 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同资料"> <el-form-item label="合同资料">
<div style="display: flex;flex-wrap: wrap;"> <div style="display: flex;flex-wrap: wrap;">
<div class="_info_img" v-if="addMsg.BusinessCardPhotos&&addMsg.BusinessCardPhotos.length>0"> <div class="_info_img" v-if="addMsg.BusinessCardPhotos&&addMsg.BusinessCardPhotos.length>0">
<ul class="clearfix"> <ul class="clearfix">
<li v-for="(img,imgI) in addMsg.BusinessCardPhotos" style="margin-right: 5px;position: relative;border:1px dashed #d1d1d1;border-radius: 6px;"> <li v-for="(img,imgI) in addMsg.BusinessCardPhotos"
<img v-if="!img" src="../../assets/img/Travelslider.png" alt=""> style="margin-right: 5px;position: relative;border:1px dashed #d1d1d1;border-radius: 6px;">
<el-image <img v-if="!img" src="../../assets/img/Travelslider.png" alt="">
v-if="img&&verificationFile(img,3)" <el-image v-if="img&&verificationFile(img,3)" :src="img" :preview-src-list="[img]">
:src="img" </el-image>
:preview-src-list="[img]"> <div v-if="img&&verificationFile(img,1)"
</el-image> style="width: 50px; line-height: 50px;text-align: center;">
<div v-if="img&&verificationFile(img,1)" <span class="_wenjian_P iconfont"
style="width: 50px; line-height: 50px;text-align: center;"> :class="img.substring(img.lastIndexOf('.')+1,img.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"></span>
<span class="_wenjian_P iconfont" </div>
:class="img.substring(img.lastIndexOf('.')+1,img.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"></span> <span class="iconfont icon-guanbi1" @click="deleteUploadFile(imgI)"></span>
</div> <div v-if="img&&verificationFile(img,1)" class="_see_img"
<span class="iconfont icon-guanbi1" @click="verificationFile(img,3)?'':showUpLoadFile2(img)">
@click="deleteUploadFile(imgI)"></span> <i class="iconfont icon-sousuo"></i>
<div v-if="img&&verificationFile(img,1)" class="_see_img" @click="verificationFile(img,3)?'':showUpLoadFile2(img)"> </div>
<i class="iconfont icon-sousuo"></i> </li>
</div> </ul>
</li> </div>
</ul> <div style="display: flex; justify-content: end;">
</div> <el-upload class="upload-demo" ref="my-upload"
<div style="display: flex; justify-content: end;"> style="display:inline-block;position:relative;top:-1px;left:3px;" :http-request="uploadImg"
<el-upload class="upload-demo" :show-file-list="false" action="">
ref="my-upload" <el-button size="small" type="primary">上传合同</el-button>
style="display:inline-block;position:relative;top:-1px;left:3px;" </el-upload>
:http-request="uploadImg" </div>
:show-file-list="false" action="">
<el-button size="small" type="primary">上传合同</el-button>
</el-upload>
</div> </div>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="平台用户名"> <el-form-item label="平台用户名">
<div style="display: flex;flex-wrap: nowrap;justify-content: space-between;"> <div style="display: flex;flex-wrap: nowrap;justify-content: space-between;">
<div style="display: flex; flex-wrap: wrap;align-items: center;"> <div style="display: flex; flex-wrap: wrap;align-items: center;">
<el-tag <el-tag :key="tag" v-for="tag in addMsg.PlatformUserNameList" closable :disable-transitions="false"
:key="tag" @close="handleClose(tag,1)" size="medium" style="margin-right: 5px;margin-bottom: 3px;">
v-for="tag in addMsg.PlatformUserNameList" {{tag}}
closable </el-tag>
:disable-transitions="false" <div>
@close="handleClose(tag,1)" <el-input class="input-new-tag" v-if="inputVisible" v-model="inputValue" ref="saveTagInputTwo"
size="medium" size="small" @keyup.enter.native="handleInputConfirm(1)" @blur="handleInputConfirm(1)">
style="margin-right: 5px;margin-bottom: 3px;"> </el-input>
{{tag}} <el-button v-else class="button-new-tag" size="small" @click="showInput(1)">+ 添加</el-button>
</el-tag> </div>
<div>
<el-input
class="input-new-tag"
v-if="inputVisible"
v-model="inputValue"
ref="saveTagInputTwo"
size="small"
@keyup.enter.native="handleInputConfirm(1)"
@blur="handleInputConfirm(1)"
>
</el-input>
<el-button v-else class="button-new-tag" size="small" @click="showInput(1)">+ 添加</el-button>
</div>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="签约月结客户" prop="SigningType"> <el-form-item label="签约月结客户" prop="SigningType">
...@@ -763,7 +756,6 @@ ...@@ -763,7 +756,6 @@
<template v-for="(subItem,subIndex) in saveMsg"> <template v-for="(subItem,subIndex) in saveMsg">
<a style="margin-left:20px;color:blue;cursor:pointer;" target="_blank" :key="subIndex" <a style="margin-left:20px;color:blue;cursor:pointer;" target="_blank" :key="subIndex"
@click="downloadFile(subItem.URL,subItem.FileName)">{{subItem.FileName}}</a> @click="downloadFile(subItem.URL,subItem.FileName)">{{subItem.FileName}}</a>
<a :key="subIndex+1000" style="margin-left:20px;color:blue;cursor:pointer;" <a :key="subIndex+1000" style="margin-left:20px;color:blue;cursor:pointer;"
@click="DeleteFile(subIndex)">删除</a> @click="DeleteFile(subIndex)">删除</a>
</template> </template>
...@@ -777,7 +769,8 @@ ...@@ -777,7 +769,8 @@
<template v-if="isShow"> <template v-if="isShow">
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('salesModule.CustomerSource')" prop="CustomerSourceType"> <el-form-item :label="$t('salesModule.CustomerSource')" prop="CustomerSourceType">
<el-select filterable v-model='addMsg.CustomerSourceType' style="width: 100%;" :placeholder="$t('pub.pleaseSel')"> <el-select filterable v-model='addMsg.CustomerSourceType' style="width: 100%;"
:placeholder="$t('pub.pleaseSel')">
<el-option v-for='item in khly' :label='item.Name' :value='item.ID' :key='item.ID'> <el-option v-for='item in khly' :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option> </el-option>
</el-select> </el-select>
...@@ -808,7 +801,6 @@ ...@@ -808,7 +801,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('hotel.hotel_remark')" prop="remark"> <el-form-item :label="$t('hotel.hotel_remark')" prop="remark">
<el-input v-model="addMsg.remark" autosize type="textarea" maxlength="500"></el-input> <el-input v-model="addMsg.remark" autosize type="textarea" maxlength="500"></el-input>
...@@ -819,7 +811,6 @@ ...@@ -819,7 +811,6 @@
<el-input v-model="addMsg.CustomerSource" maxlength="20"></el-input> <el-input v-model="addMsg.CustomerSource" maxlength="20"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="$t('salesModule.doorPhoto')"> <el-form-item :label="$t('salesModule.doorPhoto')">
<el-upload class="avatar-uploader" action="" :http-request="uploadImg1" <el-upload class="avatar-uploader" action="" :http-request="uploadImg1"
...@@ -838,7 +829,7 @@ ...@@ -838,7 +829,7 @@
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</template> </template>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
...@@ -854,8 +845,7 @@ ...@@ -854,8 +845,7 @@
<div slot="tip" class="el-upload__tip">只能上传Excel文件</div> <div slot="tip" class="el-upload__tip">只能上传Excel文件</div>
</el-upload> </el-upload>
</el-dialog> </el-dialog>
<div class="MyCustomerDetailbottomLayer ownScrollbarStyle" <div class="MyCustomerDetailbottomLayer ownScrollbarStyle" style="height:500px;" v-if="addLayer1">
style="height:500px;" v-if="addLayer1">
<p>修改客户信息</p> <p>修改客户信息</p>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="18"> <el-col :span="18">
...@@ -866,8 +856,7 @@ ...@@ -866,8 +856,7 @@
<input type="button" class="normalBtn" value="保存" @click="saveUpdate()" /> <input type="button" class="normalBtn" value="保存" @click="saveUpdate()" />
</el-col> </el-col>
</el-row> </el-row>
<el-form label-width="80px" > <el-form label-width="80px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="4"> <el-col :span="4">
<el-form-item label="联系电话"> <el-form-item label="联系电话">
...@@ -887,8 +876,7 @@ ...@@ -887,8 +876,7 @@
</el-col> </el-col>
<el-col :span="4" v-if="updateMsg.customerExceptionList.length > 0"> <el-col :span="4" v-if="updateMsg.customerExceptionList.length > 0">
<el-form-item label="解决异常"> <el-form-item label="解决异常">
<el-select filterable multiple clearable collapse-tags <el-select filterable multiple clearable collapse-tags v-model='updateMsg.CustomerExceptionIds'>
v-model='updateMsg.CustomerExceptionIds'>
<el-option v-for='item in updateMsg.customerExceptionList' :label='item.exceptionName' <el-option v-for='item in updateMsg.customerExceptionList' :label='item.exceptionName'
:value='item.exceptionId' :key='item.exceptionId'> :value='item.exceptionId' :key='item.exceptionId'>
</el-option> </el-option>
...@@ -921,20 +909,20 @@ ...@@ -921,20 +909,20 @@
</div> </div>
<div v-show="updateMsg.SigningType"> <div v-show="updateMsg.SigningType">
<el-upload v-if="!saveMsg || !saveMsg.length" class="upload-demo" :disabled="!updateMsg.SigningType" <el-upload v-if="!saveMsg || !saveMsg.length" class="upload-demo" :disabled="!updateMsg.SigningType"
style="display:inline-block;position:relative;top:-1px;left:3px;" :http-request="uploadFileBtn" style="display:inline-block;position:relative;top:-1px;left:3px;" :http-request="uploadFileBtn"
:show-file-list="false" action=""> :show-file-list="false" action="">
<el-button size="small" type="primary">上传签约资料</el-button> <el-button size="small" type="primary">上传签约资料</el-button>
</el-upload> </el-upload>
<template v-if="updateMsg.SigningType && saveMsg&& saveMsg.length>0"> <template v-if="updateMsg.SigningType && saveMsg&& saveMsg.length>0">
<div v-for="(subItem,subIndex) in saveMsg" style="display: flex;flex-wrap: nowrap;"> <div v-for="(subItem,subIndex) in saveMsg" style="display: flex;flex-wrap: nowrap;">
<a style="margin-left:20px;color:blue;cursor:pointer;" target="_blank" :key="subIndex" <a style="margin-left:20px;color:blue;cursor:pointer;" target="_blank" :key="subIndex"
@click="downloadFile(subItem.URL,subItem.FileName)">{{subItem.FileName}}</a> @click="downloadFile(subItem.URL,subItem.FileName)">{{subItem.FileName}}</a>
<a :key="subIndex+1000" style="margin-left:20px;color:blue;cursor:pointer;" <a :key="subIndex+1000" style="margin-left:20px;color:blue;cursor:pointer;"
@click="DeleteFile(subIndex)">删除</a> @click="DeleteFile(subIndex)">删除</a>
</div> </div>
</template> </template>
<span style="color: red;margin-left: 5px;">(此处为客户与我司月度结款)</span> <span style="color: red;margin-left: 5px;">(此处为客户与我司月度结款)</span>
</div> </div>
</div> </div>
...@@ -965,7 +953,7 @@ ...@@ -965,7 +953,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="详细地址"> <el-form-item label="详细地址">
<el-input v-model='updateMsg.Address' maxlength="50"></el-input> <el-input v-model='updateMsg.Address' maxlength="50"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
...@@ -973,62 +961,44 @@ ...@@ -973,62 +961,44 @@
<div style="display: flex;flex-wrap: wrap;"> <div style="display: flex;flex-wrap: wrap;">
<div class="_info_img" v-if="updateMsg.BusinessCardPhotos&&updateMsg.BusinessCardPhotos.length>0"> <div class="_info_img" v-if="updateMsg.BusinessCardPhotos&&updateMsg.BusinessCardPhotos.length>0">
<ul class="clearfix"> <ul class="clearfix">
<li v-for="(img,imgI) in updateMsg.BusinessCardPhotos" <li v-for="(img,imgI) in updateMsg.BusinessCardPhotos"
style="margin-right: 5px;position: relative;border:1px dashed #d1d1d1;border-radius: 6px;"> style="margin-right: 5px;position: relative;border:1px dashed #d1d1d1;border-radius: 6px;">
<img v-if="!img" src="../../assets/img/Travelslider.png" alt=""> <img v-if="!img" src="../../assets/img/Travelslider.png" alt="">
<el-image <el-image v-if="img&&verificationFile(img,3)" :src="img" :preview-src-list="[img]">
v-if="img&&verificationFile(img,3)" </el-image>
:src="img" <div v-if="img&&verificationFile(img,1)"
:preview-src-list="[img]"> style="width: 50px; line-height: 50px;text-align: center;">
</el-image> <span class="_wenjian_P iconfont"
<div v-if="img&&verificationFile(img,1)" :class="img.substring(img.lastIndexOf('.')+1,img.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"></span>
style="width: 50px; line-height: 50px;text-align: center;"> </div>
<span class="_wenjian_P iconfont" <span class="iconfont icon-guanbi1" @click="deleteUploadFile(imgI)"></span>
:class="img.substring(img.lastIndexOf('.')+1,img.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"></span> <div v-if="img&&verificationFile(img,1)" class="_see_img"
</div> @click="verificationFile(img,3)?'':showUpLoadFile2(img)">
<span class="iconfont icon-guanbi1" <i class="iconfont icon-sousuo"></i>
@click="deleteUploadFile(imgI)"></span> </div>
<div v-if="img&&verificationFile(img,1)" class="_see_img" @click="verificationFile(img,3)?'':showUpLoadFile2(img)"> </li>
<i class="iconfont icon-sousuo"></i>
</div>
</li>
</ul> </ul>
</div> </div>
<div style="display: flex; justify-content: end;"> <div style="display: flex; justify-content: end;">
<el-upload class="upload-demo" <el-upload class="upload-demo" ref="my-upload"
ref="my-upload" style="display:inline-block;position:relative;top:-1px;left:3px;" :http-request="uploadImg"
style="display:inline-block;position:relative;top:-1px;left:3px;"
:http-request="uploadImg"
:show-file-list="false" action=""> :show-file-list="false" action="">
<el-button size="small" type="primary">上传合同</el-button> <el-button size="small" type="primary">上传合同</el-button>
</el-upload> </el-upload>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="平台用户名"> <el-form-item label="平台用户名">
<el-tag <el-tag :key="tag" v-for="tag in updateMsg.PlatformUserNameList" closable :disable-transitions="false"
:key="tag" @close="handleClose(tag)" size="small" style="margin-right: 5px;margin-bottom: 3px;">
v-for="tag in updateMsg.PlatformUserNameList" {{tag}}
closable </el-tag>
:disable-transitions="false" <el-input class="input-new-tag" v-if="inputVisible" v-model="inputValue" ref="saveTagInput" size="small"
@close="handleClose(tag)" @keyup.enter.native="handleInputConfirm" @blur="handleInputConfirm">
size="small" </el-input>
style="margin-right: 5px;margin-bottom: 3px;"> <el-button v-else class="button-new-tag" size="small" @click="showInput">+ 添加</el-button>
{{tag}}
</el-tag>
<el-input
class="input-new-tag"
v-if="inputVisible"
v-model="inputValue"
ref="saveTagInput"
size="small"
@keyup.enter.native="handleInputConfirm"
@blur="handleInputConfirm"
>
</el-input>
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ 添加</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -1055,9 +1025,8 @@ ...@@ -1055,9 +1025,8 @@
</div> </div>
<detailList v-if="showdetail" :ClientId="detailObj&&detailObj.customerId" @cancel="showdetail=false"></detailList> <detailList v-if="showdetail" :ClientId="detailObj&&detailObj.customerId" @cancel="showdetail=false"></detailList>
<!-- 团队成员 --> <!-- 团队成员 -->
<TeamMemberList v-if="ShowTeamMember" :customerId="customerId" <TeamMemberList v-if="ShowTeamMember" :customerId="customerId" @close="ShowTeamMember=false,customerId=null"
@close="ShowTeamMember=false,customerId=null" @success="getList"></TeamMemberList>
@success="getList"></TeamMemberList>
</div> </div>
</template> </template>
<script> <script>
...@@ -1065,7 +1034,7 @@ ...@@ -1065,7 +1034,7 @@
import signedClientList from './Common/signedClientList' import signedClientList from './Common/signedClientList'
import TeamMemberList from './Common/TeamMemberList' import TeamMemberList from './Common/TeamMemberList'
export default { export default {
components:{ components: {
signedClientList, signedClientList,
detailList, detailList,
TeamMemberList TeamMemberList
...@@ -1253,6 +1222,7 @@ ...@@ -1253,6 +1222,7 @@
isShow: true, isShow: true,
inputVisible: false, inputVisible: false,
inputValue: '', inputValue: '',
currentUserInfo: {}, //当前登录用户
} }
}, },
methods: { methods: {
...@@ -1263,19 +1233,19 @@ ...@@ -1263,19 +1233,19 @@
window.open("https://view.officeapps.live.com/op/view.aspx?src=" + i) window.open("https://view.officeapps.live.com/op/view.aspx?src=" + i)
} }
}, },
handleClose(tag,type) { handleClose(tag, type) {
if(type==1){ if (type == 1) {
this.addMsg.PlatformUserNameList.splice(this.addMsg.PlatformUserNameList.indexOf(tag), 1); this.addMsg.PlatformUserNameList.splice(this.addMsg.PlatformUserNameList.indexOf(tag), 1);
}else{ } else {
this.updateMsg.PlatformUserNameList.splice(this.updateMsg.PlatformUserNameList.indexOf(tag), 1); this.updateMsg.PlatformUserNameList.splice(this.updateMsg.PlatformUserNameList.indexOf(tag), 1);
} }
}, },
showInput(type) { showInput(type) {
this.inputVisible = true; this.inputVisible = true;
this.$nextTick(_ => { this.$nextTick(_ => {
if(type==1){ if (type == 1) {
this.$refs.saveTagInputTwo.$refs.input.focus(); this.$refs.saveTagInputTwo.$refs.input.focus();
}else{ } else {
this.$refs.saveTagInput.$refs.input.focus(); this.$refs.saveTagInput.$refs.input.focus();
} }
}); });
...@@ -1283,35 +1253,35 @@ ...@@ -1283,35 +1253,35 @@
handleInputConfirm(type) { handleInputConfirm(type) {
let inputValue = this.inputValue; let inputValue = this.inputValue;
if (inputValue) { if (inputValue) {
if(type==1){ if (type == 1) {
this.addMsg.PlatformUserNameList.push(inputValue); this.addMsg.PlatformUserNameList.push(inputValue);
}else{ } else {
this.updateMsg.PlatformUserNameList.push(inputValue); this.updateMsg.PlatformUserNameList.push(inputValue);
} }
} }
this.inputVisible = false; this.inputVisible = false;
this.inputValue = ''; this.inputValue = '';
}, },
goTeamMember(row){ goTeamMember(row) {
this.customerId = row.customerId this.customerId = row.customerId
this.ShowTeamMember = true this.ShowTeamMember = true
}, },
seeDeta(row){ seeDeta(row) {
this.detailObj = row this.detailObj = row
this.showdetail = true this.showdetail = true
}, },
reSearchPage(){ reSearchPage() {
this.msg.pageIndex = 1 this.msg.pageIndex = 1
this.currentPage = 1 this.currentPage = 1
this.getList() this.getList()
}, },
clickAdd(){ clickAdd() {
this.cancelData() this.cancelData()
this.inputValue = '' this.inputValue = ''
this.inputVisible = false this.inputVisible = false
this.addShow=true; this.addShow = true;
this.isOldPerson=false, this.isOldPerson = false,
this.addLayer1=false this.addLayer1 = false
}, },
uploadFileBtn(file) { //上传 uploadFileBtn(file) { //上传
if (file.file.size > 1024 * 1024 * 100) { if (file.file.size > 1024 * 1024 * 100) {
...@@ -1444,11 +1414,11 @@ ...@@ -1444,11 +1414,11 @@
} }
}) })
let AreaName = sheng + shi + qu let AreaName = sheng + shi + qu
if(this.updateMsg.Address==''||!this.updateMsg.Address){ if (this.updateMsg.Address == '' || !this.updateMsg.Address) {
this.updateMsg.Address = AreaName this.updateMsg.Address = AreaName
// this.updateMsg.Address = AreaName + ',' + this.updateMsg.Address // this.updateMsg.Address = AreaName + ',' + this.updateMsg.Address
} }
if(this.updateMsg.Address&&this.updateMsg.Address.indexOf(AreaName)==-1){ if (this.updateMsg.Address && this.updateMsg.Address.indexOf(AreaName) == -1) {
this.updateMsg.Address = AreaName + ',' + this.updateMsg.Address this.updateMsg.Address = AreaName + ',' + this.updateMsg.Address
} }
...@@ -1464,14 +1434,13 @@ ...@@ -1464,14 +1434,13 @@
} else { } else {
this.$message.error(res.data.message) this.$message.error(res.data.message)
} }
}, err => { }, err => {})
})
}, },
deleteUploadFile(fIndex,type){ deleteUploadFile(fIndex, type) {
if(type){ if (type) {
this.addMsg.BusinessCardPhotos.splice(fIndex,1) this.addMsg.BusinessCardPhotos.splice(fIndex, 1)
}else{ } else {
this.updateMsg.BusinessCardPhotos.splice(fIndex,1) this.updateMsg.BusinessCardPhotos.splice(fIndex, 1)
} }
}, },
uploadImgNew(file) { uploadImgNew(file) {
...@@ -1530,11 +1499,12 @@ ...@@ -1530,11 +1499,12 @@
this.updateMsg.CustomerExceptionIds = [] this.updateMsg.CustomerExceptionIds = []
this.updateMsg.District = x.district this.updateMsg.District = x.district
this.BusinessCardPhotos = x.businessCardPhotos && x.businessCardPhotos.length > 0?x.businessCardPhotos[0]:'' this.BusinessCardPhotos = x.businessCardPhotos && x.businessCardPhotos.length > 0 ? x
this.updateMsg.BusinessCardPhotos = x.businessCardPhotos?x.businessCardPhotos:[] .businessCardPhotos[0] : ''
this.updateMsg.PlatformUserNameList = x.platformUserNameList?x.platformUserNameList:[] this.updateMsg.BusinessCardPhotos = x.businessCardPhotos ? x.businessCardPhotos : []
this.Images = x.images && x.images.length > 0?x.images[0]:'' this.updateMsg.PlatformUserNameList = x.platformUserNameList ? x.platformUserNameList : []
this.HousePhotos = x.housePhotos && x.housePhotos.length > 0?x.housePhotos[0]:'' this.Images = x.images && x.images.length > 0 ? x.images[0] : ''
this.HousePhotos = x.housePhotos && x.housePhotos.length > 0 ? x.housePhotos[0] : ''
this.updateMsg.uniqueCode = x.uniqueCode this.updateMsg.uniqueCode = x.uniqueCode
this.updateMsg.lineid = x.lineid this.updateMsg.lineid = x.lineid
...@@ -1633,10 +1603,10 @@ ...@@ -1633,10 +1603,10 @@
let path = "/Upload/Temporary/"; let path = "/Upload/Temporary/";
this.UploadSelfFileT(path, newArr, x => { this.UploadSelfFileT(path, newArr, x => {
that.BusinessCardPhotos = this.domainManager().ViittoFileUrl + x.data.FilePath that.BusinessCardPhotos = this.domainManager().ViittoFileUrl + x.data.FilePath
if(that.addShow==true){ if (that.addShow == true) {
that.addMsg.BusinessCardPhotos.push(that.BusinessCardPhotos) that.addMsg.BusinessCardPhotos.push(that.BusinessCardPhotos)
} }
if(that.addLayer1==true){ if (that.addLayer1 == true) {
that.updateMsg.BusinessCardPhotos.push(that.BusinessCardPhotos) that.updateMsg.BusinessCardPhotos.push(that.BusinessCardPhotos)
} }
that.$message.success('上传成功'); that.$message.success('上传成功');
...@@ -1814,10 +1784,10 @@ ...@@ -1814,10 +1784,10 @@
}, },
clickGetList(type) { clickGetList(type) {
this.msg.CustomerStatus = type this.msg.CustomerStatus = type
if(type==0){ if (type == 0) {
this.msg.SigningType=1 this.msg.SigningType = 1
}else{ } else {
this.msg.SigningType=0 this.msg.SigningType = 0
} }
this.reSearchPage() this.reSearchPage()
}, },
...@@ -1914,11 +1884,11 @@ ...@@ -1914,11 +1884,11 @@
} }
}) })
let AreaName = sheng + shi + qu let AreaName = sheng + shi + qu
if(this.addMsg.address==''||!this.addMsg.address){ if (this.addMsg.address == '' || !this.addMsg.address) {
this.addMsg.address = AreaName this.addMsg.address = AreaName
// this.addMsg.address = AreaName + ',' + this.addMsg.address // this.addMsg.address = AreaName + ',' + this.addMsg.address
} }
if(this.addMsg.address&&this.addMsg.address.indexOf(AreaName)==-1){ if (this.addMsg.address && this.addMsg.address.indexOf(AreaName) == -1) {
this.addMsg.address = AreaName + ',' + this.addMsg.address this.addMsg.address = AreaName + ',' + this.addMsg.address
} }
if (!this.addMsg.address) { if (!this.addMsg.address) {
...@@ -1961,14 +1931,16 @@ ...@@ -1961,14 +1931,16 @@
this.$message.error(res.data.message) this.$message.error(res.data.message)
} }
this.loadingSave = false this.loadingSave = false
}, err => {this.loadingSave = false}) }, err => {
this.loadingSave = false
})
}, },
cancelEdit() { // 取消新增 cancelEdit() { // 取消新增
this.addShow = false this.addShow = false
this.cancelData() this.cancelData()
this.resetForm('addMsg') this.resetForm('addMsg')
}, },
cancelData(){ cancelData() {
this.addMsg = { this.addMsg = {
CustomerId: 0, CustomerId: 0,
customerName: '', customerName: '',
...@@ -1995,9 +1967,9 @@ ...@@ -1995,9 +1967,9 @@
PlatformUserNameList: [] PlatformUserNameList: []
} }
this.BusinessCardPhotos = '', this.BusinessCardPhotos = '',
this.HousePhotos = '', this.HousePhotos = '',
this.Images = '', this.Images = '',
this.addMsgS.customerVisit.expectVisitDateTime = '' this.addMsgS.customerVisit.expectVisitDateTime = ''
}, },
resetForm(formName) { // 重置表单 resetForm(formName) { // 重置表单
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
...@@ -2007,6 +1979,9 @@ ...@@ -2007,6 +1979,9 @@
this.getList(); this.getList();
}, },
}, },
created() {
this.currentUserInfo = this.getLocalStorage();
},
mounted() { mounted() {
this.getList() this.getList()
this.getCustomerBrandList() this.getCustomerBrandList()
......
...@@ -1301,25 +1301,15 @@ export default { ...@@ -1301,25 +1301,15 @@ export default {
if (this.outerVisible) { if (this.outerVisible) {
if (!blo) { if (!blo) {
this.addMsg.AirportList && this.addMsg.AirportList.forEach(x => { this.addMsg.AirportList && this.addMsg.AirportList.forEach(x => {
// x.Id=0,
// x.ProductId= 0//产品id
x.AirportId = x.AirportId ? x.AirportId : ''//机场id x.AirportId = x.AirportId ? x.AirportId : ''//机场id
// x.Lng= ''
// x.Lat= ''
x.Name = x.Name ? x.Name : ''//机场名称 包含IATA x.Name = x.Name ? x.Name : ''//机场名称 包含IATA
// x.Address= ''//详细地址
}) })
} }
this.layer_Departure_airport = res.data.data; this.layer_Departure_airport = res.data.data;
} else { } else {
this.addMsg.AirportList && this.addMsg.AirportList.forEach(x => { this.addMsg.AirportList && this.addMsg.AirportList.forEach(x => {
// x.Id=0,
// x.ProductId= 0//产品id
x.AirportId = x.AirportId ? x.AirportId : ''//机场id x.AirportId = x.AirportId ? x.AirportId : ''//机场id
// x.Lng= ''
// x.Lat= ''
x.Name = x.Name ? x.Name : ''//机场名称 包含IATA x.Name = x.Name ? x.Name : ''//机场名称 包含IATA
// x.Address= ''//详细地址
}) })
this.Departure_airport = res.data.data; this.Departure_airport = res.data.data;
} }
...@@ -1333,15 +1323,6 @@ export default { ...@@ -1333,15 +1323,6 @@ export default {
showImg: function (src) { showImg: function (src) {
this.images = [] this.images = []
this.images = JSON.parse(JSON.stringify(this.addMsg.ImageList)) this.images = JSON.parse(JSON.stringify(this.addMsg.ImageList))
// let srcArr = src.split('?')
// src = srcArr[0]
// let isExsit = false
// this.images.forEach(x => {
// if (x === src)
// isExsit = true
// })
// if (!isExsit)
// this.images.push(src)
this.$viewer.show() this.$viewer.show()
this.$viewer.view(this.images.indexOf(src)) this.$viewer.view(this.images.indexOf(src))
}, },
......
<style> <style>
.scenicSpotList .clearfix:after { .scenicSpotList .clearfix:after {
content: "\0020"; content: "\0020";
display: block; display: block;
height: 0; height: 0;
clear: both; clear: both;
} }
.scenicSpotList .hotelResource { .scenicSpotList .hotelResource {
width: 100%; width: 100%;
min-height: 500px; min-height: 500px;
margin-top: 20px; margin-top: 20px;
} }
.scenicSpotList .resourceList { .scenicSpotList .resourceList {
width: 215px; width: 215px;
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;
} }
.scenicSpotList .resourceList:hover { .scenicSpotList .resourceList: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;
} }
.scenicSpotList .reTopInfo { .scenicSpotList .reTopInfo {
width: 100%; width: 100%;
height: 123px; height: 123px;
position: relative; position: relative;
} }
.scenicSpotList .reTopInfo img { .scenicSpotList .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;
} }
.scenicSpotList .resTypeList { .scenicSpotList .resTypeList {
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 10px; left: 10px;
} }
.scenicSpotList .resTypeList span { .scenicSpotList .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;
} }
.scenicSpotList .L1 { .scenicSpotList .L1 {
background-color: #e95252; background-color: #e95252;
} }
.scenicSpotList .L2 { .scenicSpotList .L2 {
background-color: #47bf8c; background-color: #47bf8c;
} }
.scenicSpotList .L3 { .scenicSpotList .L3 {
background-color: #2aaef2; background-color: #2aaef2;
} }
.scenicSpotList .L4 { .scenicSpotList .L4 {
background-color: #9cf; background-color: #9cf;
} }
.scenicSpotList .L5 { .scenicSpotList .L5 {
background-color: #00c6ff; background-color: #00c6ff;
margin-top: 5px; margin-top: 5px;
} }
.scenicSpotList .starSu { .scenicSpotList .starSu {
position: absolute; position: absolute;
bottom: 8px; bottom: 8px;
right: 10px; right: 10px;
display: flex; display: flex;
} }
.scenicSpotList .starSu .star { .scenicSpotList .starSu .star {
margin-left: 5px; margin-left: 5px;
} }
.scenicSpotList .sushe { .scenicSpotList .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;
} }
.scenicSpotList .hotelTitle { .scenicSpotList .hotelTitle {
margin: 20px 16px 0 16px; margin: 20px 16px 0 16px;
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
height: 20px; height: 20px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.scenicSpotList .brandList i { .scenicSpotList .brandList i {
position: relative; position: relative;
top: 2px; top: 2px;
} }
.scenicSpotList .brand { .scenicSpotList .brand {
float: left; float: left;
width: 49%; width: 49%;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
text-align: center; text-align: center;
} }
.scenicSpotList .dayNum { .scenicSpotList .dayNum {
float: right; float: right;
text-align: center; text-align: center;
width: 50%; width: 50%;
} }
.scenicSpotList .iconfont { .scenicSpotList .iconfont {
margin-right: 5px; margin-right: 5px;
} }
.scenicSpotList .dieline { .scenicSpotList .dieline {
color: #2aaef2; color: #2aaef2;
font-size: 14px; font-size: 14px;
top: 1px !important; top: 1px !important;
} }
.scenicSpotList .AddressInner { .scenicSpotList .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;
} }
.scenicSpotList .btnList { .scenicSpotList .btnList {
padding: 10px 10px 20px 10px; padding: 10px 10px 20px 10px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.scenicSpotList .hotelBtn { .scenicSpotList .hotelBtn {
width: 60px; width: 60px;
height: 28px; height: 28px;
background: #f76f6f; background: #f76f6f;
border-radius: 14px; border-radius: 14px;
color: #fff; color: #fff;
cursor: pointer; cursor: pointer;
} }
.scenicSpotList .w150 .el-input { .scenicSpotList .w150 .el-input {
width: 150px !important; width: 150px !important;
} }
.scenicSpotList .SupportCount { .scenicSpotList .SupportCount {
color: #4bca81; color: #4bca81;
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
margin: 0 5px 5px 0; margin: 0 5px 5px 0;
display: inline-block; display: inline-block;
} }
.scenicSpotList .dayNumber { .scenicSpotList .dayNumber {
color: #2aaef2; color: #2aaef2;
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
margin: 0 5px 5px 5px; margin: 0 5px 5px 5px;
display: inline-block; display: inline-block;
} }
.scenicSpotList .line { .scenicSpotList .line {
float: left; float: left;
width: 1px; width: 1px;
height: 35px; height: 35px;
background-color: #ededed; background-color: #ededed;
margin-top: 6px; margin-top: 6px;
} }
.scenicSpotList .foodList { .scenicSpotList .foodList {
display: inline-block; display: inline-block;
padding: 1px 5px; padding: 1px 5px;
background-color: #ff9c00; background-color: #ff9c00;
color: #fff; color: #fff;
margin-right: 6px; margin-right: 6px;
border-radius: 2px; border-radius: 2px;
} }
.scenicSpotList .foodList:last-child { .scenicSpotList .foodList:last-child {
margin-right: 0; margin-right: 0;
} }
.scenicSpotList .delScien { .scenicSpotList .delScien {
position: absolute; position: absolute;
right: 10px; right: 10px;
top: 10px; top: 10px;
display: none; display: none;
} }
.scenicSpotList .delScien:hover { .scenicSpotList .delScien:hover {
color: #f76f6f; color: #f76f6f;
cursor: pointer; cursor: pointer;
} }
.scenicSpotList .resourceList:hover .delScien { .scenicSpotList .resourceList:hover .delScien {
display: block; display: block;
} }
.scenicSpotList .comCursorUrl { .scenicSpotList .comCursorUrl {
cursor: pointer; cursor: pointer;
} }
/* 景区列表 */ /* 景区列表 */
</style> </style>
<template> <template>
<div class="flexOne scenicSpotList"> <div class="flexOne scenicSpotList">
<div class="query-box"> <div class="query-box">
<ul> <ul>
<li> <li>
<span class="hotel_name"> <span class="hotel_name">
<em>产品名称</em> <em>产品名称</em>
<el-input maxlength="50" clearable @keyup.native.enter="resetPageIndex(),selectResource()" v-model="msg.Name"> <el-input maxlength="50" clearable @keyup.native.enter="resetPageIndex(),selectResource()"
</el-input> v-model="msg.Name">
</span> </el-input>
</li> </span>
<li> </li>
<span> <li>
<em>类型</em> <span>
<el-select v-model="msg.CarType" class='multiple_input w210' :placeholder="$t('pub.pleaseSel')"> <em>类型</em>
<el-option v-for="item in IsCarList" :key="item.value" :label="item.label" :value="item.value"> <el-select v-model="msg.CarType" class='multiple_input w210' :placeholder="$t('pub.pleaseSel')">
</el-option> <el-option v-for="item in IsCarList" :key="item.value" :label="item.label" :value="item.value">
</el-select> </el-option>
</span> </el-select>
</li> </span>
<li> </li>
<button class="hollowFixedBtn" type="button" <li>
@click="resetPageIndex(),selectResource()">{{$t('pub.searchBtn')}}</button> <button class="hollowFixedBtn" type="button"
<button class="normalBtn" type="button" @click="resetPageIndex(),selectResource()">{{$t('pub.searchBtn')}}</button>
@click="goUrl('CharteringInfoManage')">{{$t('pub.addBtn')}}</button> <button class="normalBtn" type="button" @click="goUrl('CharteringInfoManage')">{{$t('pub.addBtn')}}</button>
<!-- <button class="hollowFixedBtn" type="button" @click="DownLoadFile()">{{$t('adm.adm_download')}}</button> --> <!-- <button class="hollowFixedBtn" type="button" @click="DownLoadFile()">{{$t('adm.adm_download')}}</button> -->
</li> </li>
</ul> </ul>
</div> </div>
<div class="hotelResource clearfix" v-loading="loading"> <div class="hotelResource clearfix" v-loading="loading">
<div class="resourceList" v-for="item in tableData" :key="item.subCode"> <div class="resourceList" v-for="item in tableData" :key="item.subCode">
<div class="reTopInfo" :class="{'comCursorUrl':item.ImageList}" @click="OpenNewUrl(item.ImageList[0])"> <div class="reTopInfo" :class="{'comCursorUrl':item.ImageList}" @click="OpenNewUrl(item.ImageList[0])">
<img v-if="!item.ImageList" src="../../../assets/img/bg_c3@3x.png"> <img v-if="!item.ImageList" src="../../../assets/img/bg_c3@3x.png">
<img v-else :src='item.ImageList[0]' :onerror="defaultImg"> <img v-else :src='item.ImageList[0]' :onerror="defaultImg">
<div class="resTypeList"> <div class="resTypeList">
<!-- B2B 内部 APP 小程序 --> <!-- B2B 内部 APP 小程序 -->
<!-- <span v-for="(items,index) in item.PlaceList" <!-- <span v-for="(items,index) in item.PlaceList"
:class="{'L1':items.AirportName,'L2':'','L3':'','L4':'','L5':''}" :class="{'L1':items.AirportName,'L2':'','L3':'','L4':'','L5':''}"
:key="index">{{items.AirportName}}</span> --> :key="index">{{items.AirportName}}</span> -->
</div>
<div class="delScien" @click.stop="isdelete(item.Id)">
<i class="iconfont icon-xingzhuang"></i>
</div>
<div class="starSu">
<div class="star" v-if="item.PlaceList[0].AirportName!=''" v-for="(items,index) in item.PlaceList">
<el-tooltip class="item" effect="dark" :content="items.Bname" placement="bottom-start"
popper-class="max-w250">
<span class="foodList" :key="index" v-if="index==0&&items.AirportName">{{items.AirportName}}</span>
</el-tooltip>
</div>
<span v-if="item.CarType==1" class="sushe">接机</span>
<span v-if="item.CarType==2" class="sushe">送机</span>
<span v-if="item.CarType==3" class="sushe">包车</span>
</div>
</div> </div>
<el-tooltip class="item" effect="dark" :content="item.Name" placement="top-start" popper-class="max-w250"> <div class="delScien" @click.stop="isdelete(item.Id)">
<div class="hotelTitle">{{item.Name}}</div> <i class="iconfont icon-xingzhuang"></i>
</el-tooltip> </div>
<el-tooltip class="item" effect="dark" :content="item.UpdateByName+''+item.UpdateTime" placement="top-start" <div class="starSu">
popper-class="max-w250"> <div class="star" v-if="item.PlaceList[0].AirportName!=''" v-for="(items,index) in item.PlaceList">
<div style="padding-left:15px;margin:10px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"> <el-tooltip class="item" effect="dark" :content="items.Bname" placement="bottom-start"
<i style="top: 1px;position: relative;" class="iconfont icon-renyuanguanli"></i> popper-class="max-w250">
<span v-if="item.UpdateTime && item.UpdateTime!=''">{{item.UpdateByName}}</span> <span class="foodList" :key="index" v-if="index==0&&items.AirportName">{{items.AirportName}}</span>
{{item.UpdateTime}} </el-tooltip>
</div> </div>
</el-tooltip> <span v-if="item.CarType==1" class="sushe">接机</span>
<div class="btnList"> <span v-if="item.CarType==2" class="sushe">送机</span>
<button @click="goUrl('CharteringInfoManage',item.Id)" class="hotelBtn">{{$t('pub.updateMsg')}}</button> <span v-if="item.CarType==3" class="sushe">包车</span>
<button @click="goUrlT('CharteringQuotation',item.Id,item.Name)" class="hotelBtn">报价</button> </div>
<button class="hotelBtn" @click="clickShelf(item)">{{item.ProductState==2?'上架':'下架'}}</button> </div>
<el-tooltip class="item" effect="dark" :content="item.Name" placement="top-start" popper-class="max-w250">
<div class="hotelTitle">{{item.Name}}</div>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="item.UpdateByName+''+item.UpdateTime" placement="top-start"
popper-class="max-w250">
<div style="padding-left:15px;margin:10px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">
<i style="top: 1px;position: relative;" class="iconfont icon-renyuanguanli"></i>
<span v-if="item.UpdateTime && item.UpdateTime!=''">{{item.UpdateByName}}</span>
{{item.UpdateTime}}
</div> </div>
</el-tooltip>
<div class="btnList">
<button @click="goUrl('CharteringInfoManage',item.Id)" class="hotelBtn">{{$t('pub.updateMsg')}}</button>
<button @click="goUrlT('CharteringQuotation',item.Id,item.Name)" class="hotelBtn">报价</button>
<button class="hotelBtn" @click="clickShelf(item)">{{item.ProductState==2?'上架':'下架'}}</button>
</div> </div>
<div class="noData" v-show="noData">{{$t('system.content_noData')}}</div>
</div> </div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage" <div class="noData" v-show="noData">{{$t('system.content_noData')}}</div>
:page-size="msg.pageSize" layout="total,prev, pager, next, jumper" :total="msg.total"></el-pagination>
</div> </div>
</template> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage"
<script> :page-size="msg.pageSize" layout="total,prev, pager, next, jumper" :total="msg.total"></el-pagination>
export default { </div>
data() { </template>
return { <script>
countryList: "", export default {
provinceList: "", data() {
cityList: "", return {
district: "", countryList: "",
Ids: [], provinceList: "",
tableData: "", cityList: "",
noData: false, district: "",
deleteID: "", Ids: [],
status: [{ tableData: "",
value: "0", noData: false,
label: this.$t('pub.normalSel') deleteID: "",
}, status: [{
{ value: "0",
value: "1", label: this.$t('pub.normalSel')
label: this.$t('system.table_delete') },
} {
], value: "1",
IsCarList: [{ label: this.$t('system.table_delete')
value: "-1",
label: this.$t('pub.unlimitedSel')
}, {
value: "1",
label: '接机'
},
{
value: "2",
label: "送机"
},
{
value: "3",
label: "包车"
}
],
loading: true,
EmployeeList: [],
defaultImg: 'this.src="' + require("../../../assets/img/bg_z1@2x.png") + '"',
msg: {
pageIndex: 1,
pageSize: 14,
Name: "",
CarType: "-1",
total: 0,
currentPage: 1,
} }
}; ],
}, IsCarList: [{
methods: { value: "-1",
// 上下架 label: this.$t('pub.unlimitedSel')
clickShelf(item){ }, {
var that = this; value: "1",
let text label: '接机'
if(item.ProductState==1){ },
text = '下架' {
}if(item.ProductState==2){ value: "2",
text = '上架' label: "送机"
},
{
value: "3",
label: "包车"
} }
that.Confirm(`是否要${text}该包车产品?`, function () { ],
var msg = { loading: true,
ProductId: item.Id EmployeeList: [],
}; defaultImg: 'this.src="' + require("../../../assets/img/bg_z1@2x.png") + '"',
that.apipost( msg: {
"CarSingle_post_SetCarSingleProcudtState", pageIndex: 1,
msg, pageSize: 14,
res => { Name: "",
if (res.data.resultCode == 1) { CarType: "-1",
that.Success(res.data.message); total: 0,
that.selectResource(); currentPage: 1,
} else { }
that.Error(res.data.message); };
} },
}, methods: {
null // 上下架
); clickShelf(item) {
}); var that = this;
}, let text
CopyScenic(Id) { if (item.ProductState == 1) {
var that = this; text = '下架'
that.Confirm('是否要复制此景点?', function () { }
var msg = { if (item.ProductState == 2) {
ID: Id text = '上架'
}; }
that.apipost( that.Confirm(`是否要${text}该包车产品?`, function () {
"ticketcoupons_post_CopyTicketCouponsService", var msg = {
msg, ProductId: item.Id
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;
},
//根据省份获取城市
getProvinceList(ID, type) {
let msg = {
Id: ID
}; };
if (type == 1) { that.apipost(
this.msg.QProvince = ""; "CarSingle_post_SetCarSingleProcudtState",
this.msg.QCity = ""; msg,
this.msg.QDistrict = "";
} else if (type == 2) {
this.msg.QCity = "";
this.msg.QDistrict = "";
} else if (type == 3) {
this.msg.QDistrict = "";
}
if (this.msg.QCountry !== "") {
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 => { res => {
this.countryList = res.data.data; if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.selectResource();
} else {
that.Error(res.data.message);
}
}, },
err => {} null
); );
}, });
isdelete(ID) { },
var that = this; CopyScenic(Id) {
that.Confirm(that.$t('tips.shifoushanchu'), function () { var that = this;
that.apipost( that.Confirm('是否要复制此景点?', function () {
"CarSingle_post_DelCarSingleProcudt", { var msg = {
ProductId: ID ID: Id
}, };
response => { that.apipost(
if (response.data.resultCode == 1) { "ticketcoupons_post_CopyTicketCouponsService",
that.Success(that.$t('tips.shanchuchenggong')); msg,
that.selectResource();
} else {
that.Error(response.data.message);
}
},
null
);
});
},
DownLoadFile() {
this.loading = true;
let myDate = new Date();
let _year = myDate.getFullYear();
let _month = myDate.getMonth() >= 9 ? myDate.getMonth() + 1 : '0' + (myDate.getMonth() + 1);
let _date = myDate.getDate() > 9 ? myDate.getDate() : '0' + myDate.getDate();
let _hours = myDate.getHours() > 9 ? myDate.getHours() : '0' + myDate.getHours();
let _minutes = myDate.getMinutes() > 9 ? myDate.getMinutes() : '0' + myDate.getMinutes();
let _seconds = myDate.getSeconds() > 9 ? myDate.getSeconds() : '0' + myDate.getSeconds();
let downDate = _year + _month + _date + _hours + _minutes + _seconds;
var fileName = this.$t('ground.jingdanxinx') + downDate + ".xls";
this.GetLocalFile("dmcstatistics_post_GetTicketCouponsExport", this.msg, fileName,
res => {
this.loading = false;
});
},
selectResource() {
this.loading = true;
if (this.msg.Status == "") {
this.msg.Status = "-1";
}
this.apipost(
"CarSingle_post_GetCarSingleProductPageList",
this.msg,
res => { res => {
this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.msg.total = res.data.data.count; that.Success(res.data.message);
var tempData = res.data.data.pageData; that.selectResource();
this.noData = !this.msg.total > 0; } else {
tempData.forEach(x => { that.Error(res.data.message);
if (x.ScenicSpotTag != null && x.ScenicSpotTag !== "") {
x.FoodTagArr = x.ScenicSpotTag.split(",");
var newAr = [];
if (x.FoodTagArr != null) {
x.FoodTagArr.forEach(o => {
newAr.push({
Aname: o.slice(0, 3),
Bname: o
});
});
x.newAr = newAr;
}
}
});
this.tableData = tempData;
} }
}, },
null null
); );
}, });
goUrl(path, id) { },
if(id){ handleCurrentChange(val) {
this.$store.commit("pageConditionUpdate", this.msg); this.msg.pageIndex = val;
this.$router.push({ this.selectResource();
path: path, },
query: { resetPageIndex() {
id: id, this.msg.pageIndex = 1;
blank: 'y', this.msg.currentPage = 1;
tab: '修改产品信息' },
} //根据省份获取城市
}); getProvinceList(ID, type) {
}else{ let msg = {
this.$router.push({ Id: ID
path: path, };
query: { if (type == 1) {
id: 0, this.msg.QProvince = "";
blank: 'y', this.msg.QCity = "";
tab: '新增产品信息' this.msg.QDistrict = "";
} } else if (type == 2) {
}); this.msg.QCity = "";
} this.msg.QDistrict = "";
} else if (type == 3) {
}, this.msg.QDistrict = "";
goUrlT(path, id,Name) { }
let data = { if (this.msg.QCountry !== "") {
id: id,
Name: Name,
}
this.$router.push({
path: path,
query: {
obj: JSON.stringify(data),
blank: 'y',
tab: '产品报价'
}
});
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
let userInfo = this.getLocalStorage();
let msg = {
GroupId: userInfo.RB_Group_id,
BranchId: "-1",
DepartmentId: "-1",
PostId: "-1",
IsLeave: "0"
};
this.apipost( this.apipost(
"admin_get_EmployeeGetList", {}, "dict_post_Destination_GetChildList",
msg,
res => { res => {
if (res.data.resultCode == 1) { if (type == 1) {
this.EmployeeList = res.data.data; 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.getEmployeeList(); getCountryList() {
this.getCountryList(); this.apipost(
"dict_post_Destination_GetCountry", {},
res => {
this.countryList = res.data.data;
},
err => {}
);
}, },
created() { isdelete(ID) {
if (this.$route.query.hasOwnProperty("cache")) { var that = this;
if (this.$store.state.pageCondition != null) { that.Confirm(that.$t('tips.shifoushanchu'), function () {
this.msg = this.$store.state.pageCondition; that.apipost(
} "CarSingle_post_DelCarSingleProcudt", {
ProductId: ID
},
response => {
if (response.data.resultCode == 1) {
that.Success(that.$t('tips.shanchuchenggong'));
that.selectResource();
} else {
that.Error(response.data.message);
}
},
null
);
});
},
DownLoadFile() {
this.loading = true;
let myDate = new Date();
let _year = myDate.getFullYear();
let _month = myDate.getMonth() >= 9 ? myDate.getMonth() + 1 : '0' + (myDate.getMonth() + 1);
let _date = myDate.getDate() > 9 ? myDate.getDate() : '0' + myDate.getDate();
let _hours = myDate.getHours() > 9 ? myDate.getHours() : '0' + myDate.getHours();
let _minutes = myDate.getMinutes() > 9 ? myDate.getMinutes() : '0' + myDate.getMinutes();
let _seconds = myDate.getSeconds() > 9 ? myDate.getSeconds() : '0' + myDate.getSeconds();
let downDate = _year + _month + _date + _hours + _minutes + _seconds;
var fileName = this.$t('ground.jingdanxinx') + downDate + ".xls";
this.GetLocalFile("dmcstatistics_post_GetTicketCouponsExport", this.msg, fileName,
res => {
this.loading = false;
});
},
selectResource() {
this.loading = true;
if (this.msg.Status == "") {
this.msg.Status = "-1";
} }
if(this.$route.query.StatisticsSTime){ this.apipost(
this.msg.StatisticsSTime=this.$route.query.StatisticsSTime "CarSingle_post_GetCarSingleProductPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.msg.total = res.data.data.count;
var tempData = res.data.data.pageData;
this.noData = !this.msg.total > 0;
tempData.forEach(x => {
if (x.ScenicSpotTag != null && x.ScenicSpotTag !== "") {
x.FoodTagArr = x.ScenicSpotTag.split(",");
var newAr = [];
if (x.FoodTagArr != null) {
x.FoodTagArr.forEach(o => {
newAr.push({
Aname: o.slice(0, 3),
Bname: o
});
});
x.newAr = newAr;
}
}
});
this.tableData = tempData;
}
},
null
);
},
goUrl(path, id) {
if (id) {
this.$store.commit("pageConditionUpdate", this.msg);
this.$router.push({
path: path,
query: {
id: id,
blank: 'y',
tab: '修改产品信息'
}
});
} else {
this.$router.push({
path: path,
query: {
id: 0,
blank: 'y',
tab: '新增产品信息'
}
});
} }
if(this.$route.query.StatisticsETime){
this.msg.StatisticsETime=this.$route.query.StatisticsETime },
goUrlT(path, id, Name) {
let data = {
id: id,
Name: Name,
} }
if(this.$route.query.type){ this.$router.push({
if(this.$route.query.type==1){ path: path,
this.msg.CreateBy =this.$route.query.EmployeeId; query: {
} obj: JSON.stringify(data),
if(this.$route.query.type==2){ blank: 'y',
this.msg.UpdateBy =this.$route.query.EmployeeId; tab: '产品报价'
} }
});
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
let userInfo = this.getLocalStorage();
let msg = {
GroupId: 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.getEmployeeList();
this.getCountryList();
},
created() {
if (this.$route.query.hasOwnProperty("cache")) {
if (this.$store.state.pageCondition != null) {
this.msg = this.$store.state.pageCondition;
} }
var id = this.$route.query.ID; }
if (id) { if (this.$route.query.StatisticsSTime) {
this.msg.ID = id; this.msg.StatisticsSTime = this.$route.query.StatisticsSTime
}
if (this.$route.query.StatisticsETime) {
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;
}
if (this.$route.query.type == 2) {
this.msg.UpdateBy = this.$route.query.EmployeeId;
} }
this.selectResource();
} }
}; var id = this.$route.query.ID;
if (id) {
</script> this.msg.ID = id;
}
\ No newline at end of file this.selectResource();
}
};
</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