Commit 2267cf96 authored by 沈良进's avatar 沈良进

save

parent 87218662
...@@ -495,7 +495,7 @@ ...@@ -495,7 +495,7 @@
<div v-if="item.IsB2B === 0" class="product_union1"></div> <div v-if="item.IsB2B === 0" class="product_union1"></div>
<div v-if="item.IsUnionTravel === 1" class="product_union"></div> <div v-if="item.IsUnionTravel === 1" class="product_union"></div>
<div v-if="item.IsWarning === 1" class="product_warning"></div> <div v-if="item.IsWarning === 1" class="product_warning"></div>
<div class="d12" style="float: none; margin: auto" <div class="d12" style="float: none; margin: auto" @click="goUrlT('productQuery',item.TCNUM,'产品查询')"
:style="{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }"> :style="{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }">
<p><i class="iconfont icon-biaoti1"></i> {{ item.LineName }}</p> <p><i class="iconfont icon-biaoti1"></i> {{ item.LineName }}</p>
<p class="d12TC">{{ item.TCNUM }}{{ item.TCID }}</p> <p class="d12TC">{{ item.TCNUM }}{{ item.TCID }}</p>
...@@ -519,7 +519,7 @@ ...@@ -519,7 +519,7 @@
</div> </div>
</div> </div>
<div class="d5"> <div class="d5">
<p> <p @click="goUrlT('RegistrationList',item.TCID,'报名清单')">
<span>{{ $t("visa.v_yibaoru") }}</span><i>{{ item.Seat == "" ? "0" : item.Seat <span>{{ $t("visa.v_yibaoru") }}</span><i>{{ item.Seat == "" ? "0" : item.Seat
}}{{ $t("salesModule.PeoPle") }}</i>({{ $t("Operation.Op_takeSeat") }}{{ item.Occupied }}{{ $t("salesModule.PeoPle") }}</i>({{ $t("Operation.Op_takeSeat") }}{{ item.Occupied
}}{{ $t("salesModule.PeoPle") }}) }}{{ $t("salesModule.PeoPle") }})
...@@ -916,6 +916,18 @@ export default { ...@@ -916,6 +916,18 @@ export default {
var B2BDomain = this.CurrentUserInfo.B2BDomain; var B2BDomain = this.CurrentUserInfo.B2BDomain;
this.$tripUtils.GotoB2CPage(B2BDomain, item.ConfigID, item.TCID); this.$tripUtils.GotoB2CPage(B2BDomain, item.ConfigID, item.TCID);
}, },
goUrlT(path, obj, outItem, title) {
console.log('goUrlTO',path, obj, outItem, title)
this.$router.push({
name: path,
query: {
"id": obj,
NewCombinationNum: outItem.NewCombinationNum,
blank: 'y',
tab: title
}
})
},
}, },
mounted() { mounted() {
this.getEmployeeList(); this.getEmployeeList();
......
<style>
.customerApproval .approvalNav{height: 52px;width: 100%; margin: 30px 0 20px;}
.customerApproval .approvalNav>li{float: left; width: 116px; font-size: 14px; height: 52px; color: #666; text-align: center; line-height: 52px; background: #E9E9E9; cursor: pointer;}
.customerApproval .approvalNav>li.active{background: #fff; color: #333;}
.customerApproval .approvalNav .divActive{margin: -3px auto; width: 26px; height: 3px; background: #E95252;}
.customerApprovalDetailTable{width: 100%; font-size:14px; color: #333;}
.customerApprovalDetailTable tr th{background: #E6E6E6;height:30px; font-size: 12px; text-align: left; text-indent: 25px;}
.customerApprovalDetailTable tr{background: #fff;text-align: left;}
.customerApprovalDetailTable tr td{height: 60px; padding-left:25px; border-bottom:1px solid #eee; font-size: 14px; color: #333;}
.customerApprovalLayer{position: fixed; z-index: 99; background: rgba(0,0,0,.1); width: 100%; height: 100%; left: 0; top: 0;}
.customerApprovalLayer .rightZero{right: 0px;}
.customerApprovalLayercontentDiv{width: 420px; background: #fff; height: 100%; overflow: auto; top: 0; right:-420px;
position: fixed;box-shadow: 4px 0px 10px rgba(0, 0, 0, 0.1);transition: right .5s;}
.customerApprovalLayercontentDiv .title{width:420px; height:48px; line-height: 48px; text-indent: 20px; font-size: 16px; color: #333; background:#EDEEF0;}
.customerApprovalLayercontentDiv .item{width: 380px;height: auto; overflow: hidden; border:1px solid #E6E6E6; margin: 20px 0 20px 20px; padding: 20px;}
.customerApprovalLayercontentDiv .item .topMsg{overflow: hidden;padding-bottom: 20px; border-bottom: 1px solid #E6E6E6;}
.customerApprovalLayercontentDiv .item .topMsg>img{float: left; margin-right: 13px;}
.customerApprovalLayercontentDiv .item .bottomMsg{padding: 15px 0;}
.customerApprovalLayercontentDiv .item .bottomMsg .pImg{margin-top: 10px;}
.customerApprovalLayercontentDiv .item .bottomMsg .pImg img{cursor: pointer;height: 100px;}
.customerApprovalLayercontentDiv .answerItem{ overflow: hidden; padding: 15px 0;}
.customerApprovalLayercontentDiv .answerItem>img{float: left;width: 28px; height: 28px; border-radius: 14px;margin-right: 10px;}
.customerApprovalLayercontentBtn{position: fixed; bottom: 0; background: #f5f5f5; width:420px; height:70px; line-height: 70px; text-align: right; padding: 0 20px;}
.customerApprovalLayercontentBtn>div{border-bottom: 1px solid #D9D9D9; height: 40px; line-height: 40px; text-align: left; overflow: hidden;}
.customerApprovalLayercontentBtn>span{display: inline-block; line-height: 18px; color: #333; font-size: 12px; text-align: center;border:2px solid #fff; cursor: pointer; background: #fff; height: 110px; width: 110px; margin-top: 20px;box-sizing: border-box; }
.customerApprovalLayercontentBtn>span.cked{border:2px solid #E95252;box-sizing: border-box;}
.customerApprovalLayercontentBtn>span>img{float: left; margin:10px 23px; width: 63px; height: 63px;}
.customerApproval .lastVisitContent{background: #f5f5f5; font-size: 12px; padding: 5px 12px; margin-top: 8px;}
.customerApproval ._class_b{
color: #257BF1 !important
}
</style>
<template>
<div class="customerApproval">
<div :class="{viewBigPicLayer:true,viewBigPicLayerDisplayNone:dspNone}" @click="closePicLayer">
<i @click="closePicLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer" ></i>
<el-carousel height="600px" :initial-index='initialIndex' :interval="5000" trigger="click">
<el-carousel-item v-for="(item,index) in picObj" :key="index">
<div class="inlineDiv ownScrollbarStyle"><img :src="item" /></div>
</el-carousel-item>
</el-carousel>
</div>
<viewer :images="picObj" :options='imageOptions' @inited="inited" class="viewer" ref="viewer">
<img v-for="item in picObj" :src="item" :key="item">
</viewer>
<div :class="{customerApprovalLayer:showlayer}" @click="closeLayer">
<div :class="{customerApprovalLayercontentDiv:true,rightZero:isTransition}" class="ownScrollbarStyle" @click.stop>
<div class="title">{{meta}}{{$t('fnc.xiangqing')}}</div>
<div class="item">
<div class="topMsg">
<img v-if='!detailList.photo' src="../../assets/img/litheader.png"/>
<img v-if='detailList.photo' :onerror="defaultImg" :src='detailList.photo'/>
<p>{{detailList.customerName}}</p>
<p class="mt5">
<i class="iconfont icon-img_dianhua fz12" style="color: #09d49d;"></i>
<span class="fz14 color333">{{detailList.contact}}</span>
&nbsp;&nbsp;&nbsp;
<span class="fz14 color333">{{detailList.contactNumber}}</span>
</p>
<p class="fz12 color999 mt5">{{detailList.expectVisitDateTime}}</p>
</div>
<p v-if="lastVisitObj.visitId>0" class="fz14 mt10 color666">
<i class="iconfont icon-shijian colorccc" ></i>&nbsp;{{$t('salesModule.HistoryVisit')}}&nbsp;
<span class="color666 fz12">{{lastVisitObj.timestr}}</span>
</p>
<div v-if="lastVisitObj.visitId>0" style="border-bottom: 1px solid #ccc; padding-bottom: 10px;">
<p class="fz12 mt10">{{$t('salesModule.ProcessType')}}{{lastVisitObj.salesProcess}}</p>
<p class="fz12 mt10">{{$t('salesModule.fwRecord')}}</p>
<p v-if="lastVisitObj.remark!=''" class="lastVisitContent">{{lastVisitObj.remark}}</p>
<p class="fz12 mt10">{{$t('salesModule.goutong')}}</p>
<p v-if="lastVisitObj.visitRecord!=''" class="lastVisitContent">{{lastVisitObj.visitRecord}}</p>
</div>
<div class="bottomMsg">
<p class="fz14 color666 mt10">
<i class="iconfont icon-ico-mingpianzhaopian fz14 colorccc" ></i>&nbsp;
{{$t('salesModule.BusinessPhoto')}}
</p>
<p class="pImg" v-if="!detailList.businessCardPhotos"><span class="fz12 color333">{{$t('active.cl_zanwu')}}</span></p>
<p class="pImg" v-else>
<img @click="getPic(detailList.businessCardPhotos,index)" v-if='detailList.businessCardPhotos.length==1' v-for="(i,index) in detailList.businessCardPhotos" :src="i+'?x-oss-process=image/resize,m_mfit,h_100,w_300'"/>
<img @click="getPic(detailList.businessCardPhotos,index)" v-if='detailList.businessCardPhotos.length==2||detailList.businessCardPhotos.length==4' v-for="(i,index) in detailList.housePhotos" :src="i+'?x-oss-process=image/resize,m_pad,w_169,h_150,color_333333'"/>
<img @click="getPic(detailList.businessCardPhotos,index)" v-if='detailList.businessCardPhotos.length==3||detailList.businessCardPhotos.length>=5' v-for="(i,index) in detailList.housePhotos" :src="i+'?x-oss-process=image/resize,m_pad,h_100,w_100,color_333333'"/>
</p>
<p class="fz14 color666 mt10">
<i class="iconfont icon-ico-menpaizhaopian fz14 colorccc" ></i>&nbsp;
{{$t('salesModule.doorPhoto')}}
</p>
<p class="pImg" v-if="!detailList.housePhotos"><span class="fz12 color333">{{$t('active.cl_zanwu')}}</span></p>
<p class="pImg" v-else>
<img @click="getPic(detailList.housePhotos,index)" v-if='detailList.housePhotos.length==1' v-for="(i,index) in detailList.housePhotos" :src="i+'?x-oss-process=image/resize,m_mfit,h_100,w_300'"/>
<img @click="getPic(detailList.housePhotos,index)" v-if='detailList.housePhotos.length==2||detailList.housePhotos.length==4' v-for="(i,index) in detailList.housePhotos" :src="i+'?x-oss-process=image/resize,m_pad,w_169,h_150,color_333333'"/>
<img @click="getPic(detailList.housePhotos,index)" v-if='detailList.housePhotos.length==3||detailList.housePhotos.length>=5' v-for="(i,index) in detailList.housePhotos" :src="i+'?x-oss-process=image/resize,m_pad,h_100,w_100,color_333333'"/>
</p>
<p class="fz14 color666 mt10">
<i class="iconfont icon-ico_yingyezhizhao fz14 colorccc" ></i>&nbsp;
{{$t('salesModule.BusinessLicense')}}
</p>
<p class="pImg" v-if="!detailList.images"><span class="fz12 color333">{{$t('active.cl_zanwu')}}</span></p>
<p class="pImg" v-else>
<img @click="getPic(detailList.images,index)" v-if='detailList.images.length==1' v-for="(i,index) in detailList.images" :src="i+'?x-oss-process=image/resize,m_mfit,h_100,w_300'"/>
<img @click="getPic(detailList.images,index)" v-if='detailList.images.length==2||detailList.images.length==4' v-for="(i,index) in detailList.images" :src="i+'?x-oss-process=image/resize,m_pad,w_169,h_150,color_333333'"/>
<img @click="getPic(detailList.images,index)" v-if='detailList.images.length==3||detailList.images.length>=5' v-for="(i,index) in detailList.images" :src="i+'?x-oss-process=image/resize,m_pad,h_100,w_100,color_333333'"/>
</p>
<p class="fz14 color666 mt10">
<i class="iconfont icon-fangwenjilu fz14 colorccc" ></i>&nbsp;
{{$t('salesModule.kaifaDetail')}}
</p>
<p class="fz12 color333 mt10">
{{detailList.remark==''?'暂无':detailList.remark}}
</p>
<p class="fz14 color666 mt10">
<i class="iconfont icon-goutongneirong fz14 colorccc" ></i>&nbsp;
{{$t('salesModule.VisitJG')}}
</p>
<p class="fz12 color333 mt10">
{{detailList.visitRecord==''?'暂无':detailList.visitRecord}}
</p>
<p class="fz14 mt10" style="color: #4779FF;" v-show="customerStatus==2||customerStatus==3">
<i class="iconfont icon-shenpiyijian fz14" style="color: #4779FF;"></i>&nbsp;
{{$t('salesModule.SPYJ')}}
</p>
<div class="answerItem" v-for="item in answerDetailList">
<img v-if='!item.emPhoto' src="../../assets/img/litheader.png"/>
<img v-if='item.emPhoto' :onerror="defaultImg" :src='item.emPhoto'/>
<p>
<span class="fz14 color333">{{item.createBy}}</span>
<span class="fz12 color999">{{item.createDate}}</span>
</p>
<p class="mt5" style="color: #E95252;" v-show='item.adviceStatus==2'>{{$t('salesModule.ApprovalRejected')}}</p>
<p style="color: #09D49D;" v-show='item.adviceStatus==1'>{{$t('salesModule.ApprovalPassed')}}</p>
<p class="fz12 color333 mt5" style="margin-left: 35px; background: #f5f5f5; padding: 10px;">{{item.adviceContent}}</p>
</div>
</div>
</div>
<div class="customerApprovalLayercontentBtn" v-show="(customerStatus==0||customerStatus==1)&&isOk==-1">
<input type="button" class="normalBtn" :value="$t('visa.v_tongguo')" @click="isOk=1;addMsg.AdviceStatus=1"/>
<input type="button" class="hollowFixedBtn" :value="$t('visa.v_jujue')" @click="isOk=0;addMsg.AdviceStatus=2"/>
</div>
<div class="customerApprovalLayercontentBtn" style="height: 190px;" v-show="isOk==0">
<div>
<span class="fz14 color333">{{$t('salesModule.RejectJJ')}}</span>
</div>
<p class="mt10">
<el-input type="textarea" v-model='addMsg.AdviceContent' maxlength='200'></el-input>
</p>
<input type="button" class="normalBtn" :value="$t('adm.adm_publish')" @click="saveApproval()"/>
<input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="isOk=-1"/>
</div>
<div class="customerApprovalLayercontentBtn" style="height: 250px; text-align: center;" v-show="isOk==1">
<div>
<span class="fz14 color333">{{$t('salesModule.ChoiceCustomer')}}</span>
</div>
<span :class="{cked:addMsg.IsMember==2}" @click="addMsg.IsMember=2">
<img src="../../assets/img/notVip.png" />
{{$t('salesModule.NormalCustomer')}}
</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span :class="{cked:addMsg.IsMember==1}" @click="addMsg.IsMember=1">
<img src="../../assets/img/isVip.png" />
{{$t('salesModule.MemberCustomer')}}
</span>
<p class="clearfix"></p>
<input type="button" class="normalBtn mg0" :value="$t('restaurant.res_confirm')" @click="saveApproval()"/>
&nbsp;&nbsp;
<input type="button" class="hollowFixedBtn mg0" :value="$t('pub.cancelBtn')" @click="isOk=-1"/>
</div>
</div>
</div>
<div class="approvalNav">
<li :class="{active:type==-1}" @click="type=-1;clickGetList(-1)">
{{$t('salesModule.AllApproval')}}
<div class="divActive" v-show="type==-1"></div>
</li>
<li :class="{active:type==1}" @click="type=1;clickGetList(1)">
{{$t('salesModule.Pending')}}
<div class="divActive" v-show="type==1"></div>
</li>
<li :class="{active:type==2}" @click="type=2;clickGetList(2)">
{{$t('salesModule.YSP')}}
<div class="divActive" v-show="type==2"></div>
</li>
</div>
<table class="customerApprovalDetailTable" border="0" cellspacing="0" cellpadding="0" v-loading='loading'>
<tr>
<th width="20%">{{$t('salesModule.Stores')}}</th>
<th width="10%">{{$t('hotel.suplier_contact')}}</th>
<th width="15%">{{$t('hotel.table_tel')}}</th>
<th width="15%">{{$t('salesModule.SaveTime')}}</th>
<th width="10%">{{$t('salesModule.Laiyuan')}}</th>
<th width="15%">{{$t('hotel.hotel_status')}}</th>
<th width="15%">{{$t('admin.admin_operate')}}</th>
</tr>
<tr v-for="item in list">
<td class="fz16">{{item.customerName}}<i class="iconfont icon-shimingrenzheng" :class="{'_class_b': item.RealNameAuthentication===1}"></i></td>
<td>
{{item.contact}}
</td>
<td>{{item.contactNumber}}</td>
<td>{{item.expectVisitDateTime}}</td>
<td>{{item.emName}}</td>
<td>
<img src="../../assets/img/dsp.png" v-show="item.customerStatus==0||item.customerStatus==1"/>
<img src="../../assets/img/ysp.png" v-show="item.customerStatus==2||item.customerStatus==3"/>
</td>
<td>
<input type="button" :value="$t('salesModule.CheckDetails')" class="normalBtn" style="margin-left: 0;" @click="getDetail(item)"/>
</td>
</tr>
</table>
<el-pagination
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size=msg.pageSize
:total=total>
</el-pagination>
</div>
</template>
<script>
export default {
data(){
return{
imageOptions:{
navbar:false,
title:false
},
lastVisitObj:{},
meta:'',
isOk:-1,
type:-1,
loading:false,
isTransition:false,
showlayer:false,
msg:{
pageIndex:1,
pageSize:10,
CustomerStatus:-1,
},
addMsg:{
CustomerId:0,
AdviceStatus:0,
AdviceContent:'',
VisitId:-1,
IsMember:2,
},
customerStatus:-1,
picObj: [],
dspNone: true,
initialIndex: 0,
defaultImg: 'this.src="' + require("../../assets/img/litheader.png") + '"',
currentPage:1,
total:0,
list:[],
detailList:{},
answerDetailList:[]
}
},
methods:{
inited (viewer){
this.$viewer = viewer
},
saveApproval(){
if(this.addMsg.AdviceStatus==1)
{
this.addMsg.AdviceContent=''
}else{
this.addMsg.IsMember=2
}
this.apipost('app_today_visit_SetCustomerAdvice',this.addMsg,res=>{
if(res.data.resultCode==1){
this.$message.success(res.data.message)
this.closeLayer()
this.getList()
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
closePicLayer() {
this.dspNone = true;
},
getPic(obj, index) {
this.picObj = obj;
this.$viewer.show()
// this.initialIndex = index;
//
// this.dspNone = false;
},
getDetail(obj){
this.meta=obj.customerName
this.addMsg.VisitId=obj.visitID
this.addMsg.CustomerId=obj.customerId
this.customerStatus=obj.customerStatus
this.apipost('app_today_visit_GetVisitByCustomerIDEntity',{customerId:obj.customerId},res=>{
if(res.data.resultCode==1){
this.openLayer()
this.detailList=res.data.data.customerInfo
}else{}
},err=>{})
this.apipost('app_today_visit_GetCustomerAdvice',{CustomerId:obj.customerId},res=>{
if(res.data.resultCode==1){
this.answerDetailList=res.data.data
}
else{}
},err=>{})
this.apipost('app_get_my_GetVisitPlanLastList',{empId:obj.creatBy,customerId:obj.customerId},res=>{
if(res.data.resultCode==1){
this.lastVisitObj=res.data.data
}
else{}
},err=>{})
},
clickGetList(type){
this.msg.CustomerStatus=type
this.msg.pageIndex=1
this.currentPage = 1
this.getList()
},
getList(){
this.loading=true
this.apipost('app_today_visit_GetMyDeptCustomerList',this.msg,res=>{
if(res.data.resultCode==1){
this.list=res.data.data.pageData
this.total=res.data.data.count
this.loading=false
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
openLayer(){
this.showlayer = true;
this.isTransition = true;
},
closeLayer() {
let _this = this;
setTimeout(function() {
_this.showlayer = false;
}, 300)
this.isTransition = false;
this.isOk=-1
this.addMsg.AdviceContent=''
this.addMsg.IsMember=2
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList()
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1
},
},
mounted(){
this.getList()
}
}
</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