Commit 09e7f285 authored by youjie's avatar youjie
parents b2b19e8e a31ca5d9
...@@ -475,6 +475,10 @@ ...@@ -475,6 +475,10 @@
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
.line-down:hover {
text-decoration: underline;
color: #333;
}
</style> </style>
<template> <template>
...@@ -497,9 +501,10 @@ ...@@ -497,9 +501,10 @@
<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"
:style="{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }"> :style="{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }">
<div>
<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 line-down" style="cursor: pointer" @click="goUrlT('productQuery',item.TCNUM,'产品查询')">{{ item.TCNUM }}{{ item.TCID }}</p>
<p>{{ item.LtName }}</p> <p>{{ item.LtName }}</p></div>
<el-tooltip class="item" effect="dark" :content="item.Title" placement="top-start" <el-tooltip class="item" effect="dark" :content="item.Title" placement="top-start"
popper-class="max-w250"> popper-class="max-w250">
<p class="d12p" @click="getTitledetail(item)" :title="item.Title"> <p class="d12p" @click="getTitledetail(item)" :title="item.Title">
...@@ -519,7 +524,7 @@ ...@@ -519,7 +524,7 @@
</div> </div>
</div> </div>
<div class="d5"> <div class="d5">
<p> <p class="line-down" style="cursor: pointer" @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") }})
...@@ -601,132 +606,126 @@ ...@@ -601,132 +606,126 @@
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props: ["loading", "list", "pagesTitle", "isVisa"], props: ["loading", "list", "pagesTitle", "isVisa"],
data() { data() {
return { return {
editNum: false, editNum: false,
showDialog: false, showDialog: false,
queryData: {}, queryData: {},
EmployeeList: [], EmployeeList: [],
allCheck: false, allCheck: false,
//当前登录用户信息 //当前登录用户信息
CurrentUserInfo: {}, CurrentUserInfo: {},
travelControlTripLayerShow: false, travelControlTripLayerShow: false,
wxLoading: false, wxLoading: false,
userId: "", userId: "",
outerVisible: false, outerVisible: false,
tripTitle: "", tripTitle: "",
tripDetails: [], tripDetails: [],
TCIDList: null, TCIDList: null,
tripObj: { tripObj: {
tcid: 0, tcid: 0,
configId: 0, configId: 0,
cityId: 0, cityId: 0,
orderId: 0, orderId: 0,
},
showHotelObj: {
showPrice: false,
showPay: false,
showZhan: false,
},
qjGroupId: -1,
S_Travel_Share: false, //分享权限
userInfo: {},
crmOrderObj: null,
isShowTeamOrder: false, //是否显示订单弹窗
teamInfo: {}, //团队信息
};
},
components: {},
filters: {
priceFormat(value) {
if (value == null) {
return 0.0;
}
let nStr = value.toFixed(2);
nStr += "";
let x = nStr.split(".");
let x1 = x[0];
let x2 = x.length > 1 ? "." + x[1] : "";
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, "$1" + "," + "$2");
}
return x1 + x2;
}, },
priceFormat2(value) { showHotelObj: {
if (value == null) { showPrice: false,
return "已包含"; showPay: false,
} showZhan: false,
let nStr = value.toFixed(2);
nStr += "";
let x = nStr.split(".");
let x1 = x[0];
let x2 = x.length > 1 ? "." + x[1] : "";
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, "$1" + "," + "$2");
}
let result = x1 + x2;
if (result === "0.00") {
result = "已包含";
}
return result;
}, },
qjGroupId: -1,
S_Travel_Share: false, //分享权限
userInfo: {},
crmOrderObj: null,
isShowTeamOrder: false, //是否显示订单弹窗
teamInfo: {}, //团队信息
};
},
components: {},
filters: {
priceFormat(value) {
if (value == null) {
return 0.0;
}
let nStr = value.toFixed(2);
nStr += "";
let x = nStr.split(".");
let x1 = x[0];
let x2 = x.length > 1 ? "." + x[1] : "";
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, "$1" + "," + "$2");
}
return x1 + x2;
}, },
methods: { priceFormat2(value) {
changeSelect() { if (value == null) {
this.list.forEach((element) => { return "已包含";
element.check = this.allCheck; }
}); let nStr = value.toFixed(2);
}, nStr += "";
changeSelectItem() { let x = nStr.split(".");
const listTmp = JSON.parse(JSON.stringify(this.list)); let x1 = x[0];
this.list = []; let x2 = x.length > 1 ? "." + x[1] : "";
this.$nextTick(() => { var rgx = /(\d+)(\d{3})/;
this.list = listTmp; while (rgx.test(x1)) {
}); x1 = x1.replace(rgx, "$1" + "," + "$2");
}, }
submitOP() { let result = x1 + x2;
let params = { if (result === "0.00") {
TCIDs: this.TCIDs, result = "已包含";
Type: this.isVisa ? 1 : 0 }
}; return result;
if (!this.isVisa) { },
},
methods: {
changeSelect() {
console.log("changeSelect");
this.list.forEach((element) => {
element.check = this.allCheck;
});
},
changeSelectItem() {
const listTmp = JSON.parse(JSON.stringify(this.list));
this.list = [];
this.$nextTick(() => {
this.list = listTmp;
});
},
submitOP() {
let params = { TCIDs: this.TCIDs, Type: this.isVisa ? 1 : 0 };
if (!this.isVisa) {
params.OPId = this.queryData.OPId; params.OPId = this.queryData.OPId;
if (!this.queryData.AssistantId || !this.queryData.AssistantId.length) { if (!this.queryData.AssistantId || !this.queryData.AssistantId.length) {
params.AssistantId = ''; params.AssistantId = '';
} else { } else {
params.AssistantId = this.queryData.AssistantId.join(","); params.AssistantId = this.queryData.AssistantId.join(",");
}
} }
}
params.VisaOPId = this.queryData.VisaOPId; params.VisaOPId = this.queryData.VisaOPId;
if ( if (
!this.queryData.VisaAssistantId || !this.queryData.VisaAssistantId ||
!this.queryData.VisaAssistantId.length !this.queryData.VisaAssistantId.length
) { ) {
params.VisaAssistantId = '' params.VisaAssistantId = ''
} else {
params.VisaAssistantId = this.queryData.VisaAssistantId.join(",");
}
if (this.editNum) {
if (this.queryData.VisaNum > this.editObj.NeedVisaNum) {
this.$message.error("签证人数最多" + this.editObj.NeedVisaNum + "人");
return;
} else { } else {
params.VisaAssistantId = this.queryData.VisaAssistantId.join(","); params.VisaNum = this.queryData.VisaNum;
} }
if (this.editNum) { }
if (!this.queryData.VisaNum) { this.apipost(
this.$message.error("请填写签证人数"); "travel_post_BatchSetOpInfo",
return; params,
} else if (this.queryData.VisaNum > this.editObj.NeedVisaNum) { (res) => {
this.$message.error("签证人数最多" + this.editObj.NeedVisaNum + "人");
return;
} else {
params.VisaNum = this.queryData.VisaNum;
}
}
this.apipost(
"travel_post_BatchSetOpInfo",
params,
(res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.$message.success(res.data.message || "操作成功"); this.$message.success(res.data.message || "操作成功");
this.showDialog = false; this.showDialog = false;
...@@ -774,7 +773,7 @@ ...@@ -774,7 +773,7 @@
//根据当前员工所在部门获取该部门及子部门员工信息 //根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() { getEmployeeList() {
this.apipost( this.apipost(
"admin_get_EmployeeGetList", {}, "admin_get_GetEmpByDepPostNameList", {},
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data; this.EmployeeList = res.data.data;
...@@ -922,6 +921,18 @@ ...@@ -922,6 +921,18 @@
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.msg.SigningType = 1
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>
...@@ -3188,6 +3188,14 @@ export default { ...@@ -3188,6 +3188,14 @@ export default {
title: '客户审批' title: '客户审批'
}, },
}, },
{ // 销售 月结客户审批
path: '/customerApprovalFor',
name: 'customerApprovalFor',
component: resolve => require(['@/components/SalesModule/customerApprovalFor'], resolve),
meta: {
title: '月结客户审批'
},
},
{ // 销售 销售任务详情 { // 销售 销售任务详情
path: '/saleTaskDetail', path: '/saleTaskDetail',
name: 'saleTaskDetail', name: 'saleTaskDetail',
......
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