Commit 08a8508b authored by 华国豪's avatar 华国豪 🙄
parents 933edeb8 ba1474f1
This diff is collapsed.
<style> <style>
.CM_look { .CM_look {
padding: 4px !important; padding: 4px !important;
position: relative; position: relative;
top: 1px; top: 1px;
} }
</style> </style>
<template> <template>
<div class="flexOne"> <div class="flexOne">
<div class="query-box"> <div class="query-box">
<ul> <ul>
<li> <li>
<input type="button" class="normalBtn" :value="$t('pub.addBtn')" @click="isShow=true,dialogTitle=$t('ground.xinzengjdgyfs')" /> <input
type="button"
class="normalBtn"
:value="$t('pub.addBtn')"
@click="(isShow = true), (dialogTitle = $t('ground.xinzengjdgyfs'))"
/>
</li> </li>
</ul> </ul>
<el-dialog :title="dialogTitle" :visible.sync="isShow" center custom-class="w460"> <el-dialog
:title="dialogTitle"
:visible.sync="isShow"
center
custom-class="w460"
>
<el-form :model="addMsg" label-width="100px"> <el-form :model="addMsg" label-width="100px">
<el-form-item :label="$t('hotel.suplier_name')" prop="Name"> <el-form-item :label="$t('hotel.suplier_name')" prop="Name">
{{SupplierName}} {{ SupplierName }}
</el-form-item> </el-form-item>
<el-form-item :label="$t('hotel.hotel')"> <el-form-item :label="$t('hotel.hotel')">
<el-select v-model="addMsg.HotelId" filterable :placeholder="$t('pub.pleaseSel')" class="w220"> <el-select
v-model="addMsg.HotelId"
filterable
:placeholder="$t('pub.pleaseSel')"
class="w220"
>
<el-option :label="$t('pub.pleaseSel')" :value="0"></el-option> <el-option :label="$t('pub.pleaseSel')" :value="0"></el-option>
<el-option v-for='item in HotelList' :key="item.ID" :label="item.Name" :value="item.ID"> <el-option
v-for="item in HotelList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('fnc.fkfangshi')"> <el-form-item :label="$t('fnc.fkfangshi')">
<el-select v-model="addMsg.SubPayType" filterable :placeholder="$t('pub.pleaseSel')" class="w220"> <el-select
v-model="addMsg.SubPayType"
filterable
:placeholder="$t('pub.pleaseSel')"
class="w220"
>
<el-option :label="$t('pub.pleaseSel')" :value="0"></el-option> <el-option :label="$t('pub.pleaseSel')" :value="0"></el-option>
<el-option v-for='item in PayTypeList' :key="item.Id" :label="item.name" :value="item.Id"> <el-option
v-for="item in PayTypeList"
:key="item.Id"
:label="item.name"
:value="item.Id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('hotel.hotel_StartDate')"> <el-form-item :label="$t('hotel.hotel_StartDate')">
<el-date-picker class="w220" type="date" v-model="addMsg.StartDate" :picker-options="pickerBeginDateBefore" <el-date-picker
value-format="yyyy-MM-dd" placeholder></el-date-picker> class="w220"
type="date"
v-model="addMsg.StartDate"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('hotel.hotel_EndDate')"> <el-form-item :label="$t('hotel.hotel_EndDate')">
<el-date-picker class="w220" type="date" v-model="addMsg.EndDate" :picker-options="pickerBeginDateAfter" <el-date-picker
value-format="yyyy-MM-dd" placeholder></el-date-picker> class="w220"
type="date"
v-model="addMsg.EndDate"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="initData(),isShow = false">{{$t('pub.cancelBtn')}}</button> &nbsp; <button class="hollowFixedBtn" @click="initData(), (isShow = false)">
<button class="normalBtn" type="primary" @click="SaveData()">{{$t('pub.sureBtn')}}</button> {{ $t("pub.cancelBtn") }}
</button>
&nbsp;
<button class="normalBtn" type="primary" @click="SaveData()">
{{ $t("pub.sureBtn") }}
</button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading"> <table
class="singeRowTable"
border="0"
cellspacing="0"
cellpadding="0"
v-loading="loading"
>
<tr> <tr>
<th>{{$t('hotel.hotel')}}</th> <th>{{ $t("hotel.hotel") }}</th>
<th>{{$t('hotel.hotel_StartDate')}}</th> <th>{{ $t("hotel.hotel_StartDate") }}</th>
<th>{{$t('hotel.hotel_EndDate')}}</th> <th>{{ $t("hotel.hotel_EndDate") }}</th>
<th>{{$t('fnc.fkfangshi')}}</th> <th>{{ $t("fnc.fkfangshi") }}</th>
<th>{{$t('system.table_operation')}}</th> <th>{{ $t("system.table_operation") }}</th>
</tr> </tr>
<tr v-for="item in dataList"> <tr v-for="item in dataList">
<td>{{item.HotelName}}</td> <td>{{ item.HotelName }}</td>
<td>{{item.StartDateStr}}</td> <td>{{ item.StartDateStr }}</td>
<td>{{item.EndDateStr}}</td> <td>{{ item.EndDateStr }}</td>
<td>{{item.SubPayTypeStr}}</td> <td>{{ item.SubPayTypeStr }}</td>
<td> <td>
<el-tooltip class="item" effect="dark" :content="$t('system.table_edit')" placement="top-start"> <el-tooltip
<el-button type="primary" class="iconfont icon-bianji-smal" class="item"
@click="GetData(item.Id),isShow=true,dialogTitle=$t('ground.xinzengjdgyfs')"></el-button> effect="dark"
:content="$t('system.table_edit')"
placement="top-start"
>
<el-button
type="primary"
class="iconfont icon-bianji-smal"
@click="
GetData(item.Id),
(isShow = true),
(dialogTitle = $t('ground.xinzengjdgyfs'))
"
></el-button>
</el-tooltip> </el-tooltip>
</td> </td>
</tr> </tr>
...@@ -74,17 +138,17 @@ ...@@ -74,17 +138,17 @@
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
msg: { msg: {
SupplierId: 0, SupplierId: 0
}, },
loading: false, loading: false,
isShow: false, //是否显示新增修改 isShow: false, //是否显示新增修改
//供应商名称 //供应商名称
SupplierName: "", SupplierName: "",
dialogTitle: this.$t('ground.xinzengjdgyfs'), dialogTitle: this.$t("ground.xinzengjdgyfs"),
//数据源 //数据源
dataList: [], dataList: [],
HotelList: [], //酒店列表 HotelList: [], //酒店列表
...@@ -95,33 +159,37 @@ ...@@ -95,33 +159,37 @@
HotelId: 0, HotelId: 0,
StartDate: "", StartDate: "",
EndDate: "", EndDate: "",
SubPayType: 0, SubPayType: 0
}, },
//付款方式 //付款方式
PayTypeList: [{ PayTypeList: [
name: this.$t('ground.xianfu'), {
name: this.$t("ground.xianfu"),
Id: 1 Id: 1
}, { },
name: this.$t('ground.qiandan'), {
name: this.$t("ground.qiandan"),
Id: 2 Id: 2
}], },
{ name: this.$t("ground.yufu"), Id: 4 }
],
pickerBeginDateBefore: { pickerBeginDateBefore: {
disabledDate: time => { disabledDate: time => {
if (this.addMsg.EndDate == null) { if (this.addMsg.EndDate == null) {
return false; return false;
} else { } else {
let endTime = new Date(this.addMsg.EndDate) let endTime = new Date(this.addMsg.EndDate);
return endTime.getTime() < time.getTime() return endTime.getTime() < time.getTime();
} }
} }
}, },
pickerBeginDateAfter: { pickerBeginDateAfter: {
disabledDate: time => { disabledDate: time => {
let startTime = new Date(this.addMsg.StartDate) let startTime = new Date(this.addMsg.StartDate);
return startTime.getTime() >= time.getTime() return startTime.getTime() >= time.getTime();
}
} }
} }
};
}, },
mounted() { mounted() {
this.msg.SupplierId = this.$route.query.ID; this.msg.SupplierId = this.$route.query.ID;
...@@ -142,19 +210,19 @@ ...@@ -142,19 +210,19 @@
}, },
SaveData() { SaveData() {
if (this.addMsg.HotelId <= 0) { if (this.addMsg.HotelId <= 0) {
this.Info(this.$t('ground.qingxuanzejiud')); this.Info(this.$t("ground.qingxuanzejiud"));
return; return;
} }
if (this.addMsg.SubPayType <= 0) { if (this.addMsg.SubPayType <= 0) {
this.Info(this.$t('ground.qingxuanzefkfs')); this.Info(this.$t("ground.qingxuanzefkfs"));
return; return;
} }
if (this.addMsg.StartDate == "") { if (this.addMsg.StartDate == "") {
this.Info(this.$t('ground.qingxuanzekssjs')); this.Info(this.$t("ground.qingxuanzekssjs"));
return; return;
} }
if (this.addMsg.EndDate == "") { if (this.addMsg.EndDate == "") {
this.Info(this.$t('ground.qingxuanzejssjs')); this.Info(this.$t("ground.qingxuanzejssjs"));
return; return;
} }
this.apipost( this.apipost(
...@@ -177,7 +245,8 @@ ...@@ -177,7 +245,8 @@
//根据编号获取实体 //根据编号获取实体
GetData(Id) { GetData(Id) {
this.apipost( this.apipost(
"supplier_post_GetEntityService", { "supplier_post_GetEntityService",
{
Id: Id Id: Id
}, },
res => { res => {
...@@ -217,7 +286,8 @@ ...@@ -217,7 +286,8 @@
getHotelList() { getHotelList() {
this.loading = true; this.loading = true;
this.apipost( this.apipost(
"hotel_post_GetList", { "hotel_post_GetList",
{
QCountry: 651 QCountry: 651
}, },
res => { res => {
...@@ -230,8 +300,7 @@ ...@@ -230,8 +300,7 @@
}, },
null null
); );
},
} }
} }
};
</script> </script>
...@@ -367,13 +367,24 @@ ...@@ -367,13 +367,24 @@
<span v-else-if="subItem.DMCPayType === 9">月结</span> <span v-else-if="subItem.DMCPayType === 9">月结</span>
<span v-else-if="subItem.DMCPayType === 11">刷卡</span> <span v-else-if="subItem.DMCPayType === 11">刷卡</span>
<span v-else-if="subItem.DMCPayType === 10">领队导游垫付</span> <span v-else-if="subItem.DMCPayType === 10">领队导游垫付</span>
</br> <br/>
<span v-show="subItem.DMCPayType==6">付款团号:{{subItem.PayTypeTCNUM}}</span> <span v-show="subItem.DMCPayType==6">付款团号:{{subItem.PayTypeTCNUM}}</span>
</td> </td>
<td v-if="childIndex==0" :rowspan="6"> <td v-if="childIndex==0" :rowspan="6">
<span>{{subItem.SupplierName}} <span v-if="subItem.SupplierPayType !== 0" <span>{{subItem.SupplierName}}
:style="{'color': subItem.SupplierPayType == 2 ? '#E95252': '#111111'}">{{subItem.SupplierPayType == 2 ? '签单' : '现付'}}</span></span> <br/>
<template v-if="subItem.SupplierPayType !== 0">
<span v-if="subItem.SupplierPayType == 1">
现付
</span>
<span v-else-if="subItem.SupplierPayType == 2">
签单
</span>
<span v-else-if="subItem.SupplierPayType == 4">
预付
</span>
</template>
</span>
<div v-if="subItem.IsHaveShouPeiFee==0" style="color:red;">无手配费</div> <div v-if="subItem.IsHaveShouPeiFee==0" style="color:red;">无手配费</div>
<div v-if="subItem.IsHaveShouPeiFee==1" style="color:red;">手配费:{{subItem.ShouPeiMoney}}</div> <div v-if="subItem.IsHaveShouPeiFee==1" style="color:red;">手配费:{{subItem.ShouPeiMoney}}</div>
......
<style>
.MyCoupon{
background-color: #F5F5F5;
}
.MyCoupon .menu_list ul{
height: 40px;
line-height: 40px;
border-bottom: 1px solid #F2DADA;
margin-top: 10px;
}
.MyCoupon .menu_list ul li{
float: left;
width: 137px;
text-align: center;
cursor: pointer;
}
.MyCoupon .menu_list ul li .__cp i{
padding-left: 25px;
}
.MyCoupon .menu_list ul li span.__cp{
font-size: 14px;
}
.MyCoupon .menu_list ul li span.__cp._active{
color: #E73828
}
.MyCoupon ._table_box{
margin-top: 20px;
}
.MyCoupon ._content_item{
display: flex;
flex-wrap: wrap;
min-height: 572px;
}
.MyCoupon ._content_item ._item{
width: 220px;
height: 276px;
position: relative;
transition: all linear .5s;
overflow: hidden;
margin: 5px 4px;
}
.MyCoupon ._content_item ._item:hover{
box-shadow: 0px 1px 13px 0px rgb(189, 189, 189);
}
.MyCoupon ._content_item ._top{
background-color: #F1BC69;
}
.MyCoupon ._content_item ._top ._time{
color: #A7711C;
}
.MyCoupon ._content_item ._top._blue{
background-color: #8794E2;
}
.MyCoupon ._content_item ._top._blue ._time{
color: #4C58A4;
}
.MyCoupon ._content_item div._top._gray{
background-color: #7d7d7d !important;
}
.MyCoupon ._content_item div._top._gray ._overdue,.MyCoupon ._content_item div._top._gray ._info_bottom{
display: none
}
.MyCoupon ._content_item div._top._gray ._info_sale{
color: #FFFFFF !important;
}
.MyCoupon ._content_item div._top._gray ._time{
color: #777777 !important;
}
.MyCoupon ._top_raduis{
display: flex;
justify-content: space-between;
}
.MyCoupon ._top_raduis span{
display: inline-block;
width: 8px;
height: 8px;
margin: 3px;
border-radius: 50%;
background-color: white;
margin-top: -4px;
}
.MyCoupon ._item ._top ._overdue{
background-color: #E9F026;
color: #666666;
padding: 4px 6px;
position: absolute;
left: 0;
top: 0;
font-size: 12px;
}
.MyCoupon ._item ._top ._info_details{
padding: 15px 10px;
}
.MyCoupon ._item ._top ._info_details ._info_sale{
font-size: 30px;
color: white;
}
.MyCoupon ._item ._top ._info_details ._info_sale span{
font-size: 20px;
color: white;
}
.MyCoupon ._item ._top ._info_details ._info_full{
color: #FFFFFF;
font-size: 12px;
padding: 5px 0;
}
.MyCoupon ._item ._top ._info_details ._info_time{
font-size: 12px;
}
.MyCoupon ._item ._top ._info_details ._info_bottom{
padding: 1px 5px;
color: #A7711C;
font-size: 12px;
position: absolute;
border: 1px solid #A7711C;
border-radius: 4px;
right: 13px;
top: 24px;
cursor: pointer;
}
.MyCoupon ._item ._bottom{
padding: 15px 10px;
background-color: #F9F9F9;
}
.MyCoupon ._item ._bottom p{
font-size: 12px;
color: #333333;
font-weight: bold;
margin-bottom: 13px;
}
.MyCoupon ._item ._bottom p._bottom_info{
color: #666666;
font-weight: 300;
}
.MyCoupon ._item ._bottom p._margin_bt0{
margin-bottom: 0 !important;
}
.MyCoupon p._info_coupon_name{
font-size: 18px !important;
max-width: 140px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: white;
}
/* 分页样式 */
.MyCoupon ._pagination{
height: 45px;
background-color: #EBEBEB;
display: flex;
align-items: center;
justify-content: flex-end;
}
.MyCoupon .el-pagination .btn-next,.MyCoupon .el-pagination .btn-prev{
width:40px !important;
height:20px !important;
border:1px solid rgba(238,68,84,1);
border-radius:10px;
color: #f56c6c;
}
.MyCoupon .el-pagination{
display: flex;
align-items: center;
}
.MyCoupon .el-pager li{
background: transparent;
font-weight: initial;
}
.MyCoupon .el-pager li:hover{
color: #f56c6c;
}
.MyCoupon .el-pager li.active{
color: #f56c6c;
}
.MyCoupon .empty-data {
width: 100%;
padding: 50px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
text-align: center;
color: #bbb;
font-size: 12px;
}
</style>
<template>
<!-- 优惠券 -->
<el-row class="MyCoupon">
<!-- 条件 -->
<el-row class="menu_list">
<ul class="clearfix">
<li>
<el-dropdown trigger="click" placement="bottom-start">
<span class="el-dropdown-link">
<span class="__cp">
{{dropdownText}}
<i class="el-icon-arrow-down"></i>
</span>
</span>
<el-dropdown-menu class="changelanguage" slot="dropdown">
<el-dropdown-item @click.native="dropdownText = '不限', msg.couponsUseScope = 0, getList(), resetPageIndex()">不限</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = '通用', msg.couponsUseScope = 1, getList(), resetPageIndex()">通用</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = '跟团游', msg.couponsUseScope = 2, getList(), resetPageIndex()">跟团游</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = '当地游'">当地游</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = '定制游'">定制游</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = '签证', msg.couponsUseScope = 3, getList(), resetPageIndex()">签证</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = '机票', msg.couponsUseScope = 4, getList(), resetPageIndex()">机票</el-dropdown-item>
<el-dropdown-item @click.native="dropdownText = '酒店', msg.couponsUseScope = 10, getList(), resetPageIndex()">酒店</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</li>
<li>
<span class="__cp" :class="{_active: typeActive === 1 }" @click="typeActive = 1, msg.couponsType = 0, msg.couponEffectStatus = 1, getList(), resetPageIndex()">全部优惠券</span>
</li>
<li>
<span class="__cp" :class="{_active: typeActive === 2 }" @click="typeActive = 2, msg.couponsType = 2, msg.couponEffectStatus = 1, getList(), resetPageIndex()">折扣券</span>
</li>
<li>
<span class="__cp" :class="{_active: typeActive === 3 }" @click="typeActive = 3, msg.couponsType = 1, msg.couponEffectStatus = 1, getList(), resetPageIndex()">抵扣券</span>
</li>
<li>
<span class="__cp" :class="{_active: typeActive === 4 }" @click="typeActive = 4, msg.couponEffectStatus = 3, getList(), resetPageIndex()">已过期</span>
</li>
</ul>
</el-row>
<!-- 列表 -->
<el-row class="_table_box" v-loading="dataLoading">
<div v-if="dataList.length>0" class="_content_item">
<template v-for="(item, index) in dataList">
<VCoupon :item='item'/>
</template>
</div>
<div class="empty-data" v-else>
<i style="display:block;font-size:90px" class="iconfont icon-kong"></i>
很抱歉,你想要的信息我们真的找不到了
</div>
<!-- 分页 -->
<el-row class="_pagination" v-if="totalCount > 1 && dataList.length>0">
<el-pagination
:current-page.sync="currentPage"
:page-size="msg.pageSize"
layout="total, prev, pager, next"
:total="Count"
@current-change='handleCurrentChange'>
</el-pagination>
</el-row>
</el-row>
</el-row>
</template>
<script>
import moment from 'moment'
import Coupon from './SmallComponents/Coupon'
export default {
components: {
VCoupon: Coupon,
},
data() {
return {
dropdownText: "不限",
typeActive: 1,
totalCount: 1,
pageSize: 1,
msg: {
pageIndex: 1,
pageSize: 8,
useState: 1,
lineId: 0,
lineteamId: 0,
couponsName: "",
couponsType: "",
couponStatus: 1,
couponEffectStatus: 1,
couponsUseScope: 0
},
dataList: [],
dataLoading: false,
currentPage: 1,
Count: 1,
};
},
computed: {},
created() {},
mounted() {
this.getList()
},
methods: {
// 获取数据
getList() {
this.dataLoading = true;
this.apiJavaPost(
"/api/b2b/user/getUserCouponAllotList",
this.msg,
res => {
let nowTime = moment().format("YYYY-MM-DD HH:mm:ss");
if (res.data.resultCode == 1) {
let data = res.data.data.pageData;
data.forEach((x, i) => {
let cha = this.DateDiff(nowTime, x.expirationDate);
if (cha < 3) {
x.warning = true;
} else {
x.warning = false;
}
});
this.dataList = data;
this.totalCount = res.data.data.pageCount;
this.Count = res.data.data.count;
this.$forceUpdate()
} else {
this.Error(res.data.message);
}
this.dataLoading = false;
},
null
);
},
//查询初始化页码
resetPageIndex() {
this.msg.pageIndex = 1;
},
// 翻页
handleCurrentChange(val) {
this.msg.pageIndex = parseInt(val);
this.getList();
}
}
};
</script>
\ No newline at end of file
...@@ -54,7 +54,10 @@ ...@@ -54,7 +54,10 @@
<div class="Item moneyItem"> <div class="Item moneyItem">
<p>幸福存折余额</p> <p>幸福存折余额</p>
<div class="des"> <div class="des">
<div class="Img"><img style="width:36px;height:28px" src="../../assets/img/saleRank/cz.png" alt=""></div> <div class="Img">
<img style="width:36px;height:28px" src="../../assets/img/saleRank/cz.png" alt="">
</div>
<div> <div>
<p style="color:#FFB822;font-size:28px"><span style="font-size:24px"></span>{{datainfo.Client_Balance}}</p> <p style="color:#FFB822;font-size:28px"><span style="font-size:24px"></span>{{datainfo.Client_Balance}}</p>
</div> </div>
...@@ -62,6 +65,20 @@ ...@@ -62,6 +65,20 @@
</div> </div>
</div> </div>
<div @click="goCoupons" class="list">
<div class="Item moneyItem">
<p>优惠券</p>
<div class="des">
<div class="Img">
<span style="font-size:36px;color: #e95252;position: relative;top: -10px;" class="iconfont icon-shouru"></span>
</div>
<div>
<p style="color:#e95252;font-size:28px">{{datainfo.CouponNum}}</p>
</div>
</div>
</div>
</div>
...@@ -179,6 +196,15 @@ export default { ...@@ -179,6 +196,15 @@ export default {
}, },
methods: { methods: {
goCoupons(){
this.$router.push({
name: 'CouponsList',
query: {
blank: "y",
tab:'优惠券列表'
}
});
},
colorMethod(item){ colorMethod(item){
if(item.ActivateState==2){ if(item.ActivateState==2){
return '#34BFA3'; return '#34BFA3';
...@@ -321,10 +347,11 @@ export default { ...@@ -321,10 +347,11 @@ export default {
} }
#CustomerA .firstDiv .list{ #CustomerA .firstDiv .list{
width: 20%; width: 16.66%;
padding: 10px; padding: 10px;
box-sizing: border-box; box-sizing: border-box;
display: inline-block; display: inline-block;
cursor: pointer;
} }
#CustomerA .firstDiv .Item{ #CustomerA .firstDiv .Item{
width: 100%; width: 100%;
......
...@@ -49,10 +49,9 @@ ...@@ -49,10 +49,9 @@
} }
.page_MyCustomer ._mc_list { .page_MyCustomer ._mc_list {
overflow-x: auto;
background: #fff; background: #fff;
padding-top: 20px; padding-top: 20px;
padding-left: 15px; box-sizing: border-box;
} }
.page_MyCustomer ._mc_list>ul>li { .page_MyCustomer ._mc_list>ul>li {
...@@ -318,6 +317,11 @@ ...@@ -318,6 +317,11 @@
.page_MyCustomer .upload-demo { .page_MyCustomer .upload-demo {
text-align: center; text-align: center;
} }
.MycustomerTable th,.MycustomerTable td{
text-align: left;
text-indent: 25px;
}
</style> </style>
<template> <template>
...@@ -356,7 +360,57 @@ ...@@ -356,7 +360,57 @@
</li> </li>
</div> </div>
<div class="_mc_list _scrollbar" :class="addShow==true?'_edHeight':''"> <div class="_mc_list _scrollbar" :class="addShow==true?'_edHeight':''">
<ul class="clearfix"> <table class="MycustomerTable singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>姓名</th>
<th>联系电话</th>
<th>联系地址</th>
<th>近期约访</th>
<th>最近拜访</th>
<th>累计拜访</th>
<th>幸福存折</th>
<th>累计交易额</th>
<th>询价与需求</th>
<th>所属联盟</th>
<th>优惠券</th>
<th>操作</th>
</tr>
<tr v-for="(item,i) in dataList" :key="i">
<td>{{item.contact}}</td>
<td>{{item.contactNumber}}</td>
<td>{{item.customerName}}</td>
<td>
<p v-if="item.customerVisitList.length>0">
{{item.customerVisitList[0].visitDateTime}}
</p>
<p v-else>{{$t('salesModule.noYuefang')}}</p>
</td>
<td>
<p v-if="item.customerVisitList[1]">
{{item.customerVisitList[1].visitDateTime}}</p>
<p v-else>{{$t('pub.noMsg')}}</p>
</td>
<td>{{item.visiteCount}}</td>
<td>{{item.cL_Balance}}</td>
<td>{{item.tradeTotal}}</td>
<td>{{item.inquireCount}}</td>
<td>{{item.allianceName}}</td>
<td><span style="cursor: pointer;" @click.stop="goUrC('CouponsList')">{{item.couponNum}}</span></td>
<td>
<el-tooltip class="item" effect="dark" content="账户管理" placement="top-start">
<el-button style="padding:4px" @click.stop="goUrlT('empBankAccount',item.customerId)" type="danger" icon="iconfont icon-guanliyuan" circle></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="详情" placement="top-start">
<el-button style="padding:4px" @click.stop="goUrC('CustomerAnalysis',item.customerId)" type="primary" icon="iconfont icon-icon-test6" circle></el-button>
</el-tooltip>
</td>
</tr>
<tr v-if="dataList.length==0">
<td colspan="12" align="center">暂无数据</td>
</tr>
</table>
<!-- <ul class="clearfix">
<li v-for="(item,index) in dataList" @click="goUrl(type,item.customerId)"> <li v-for="(item,index) in dataList" @click="goUrl(type,item.customerId)">
<i class="iconDelete1 iconfont icon-kehuguanxi_kehu" <i class="iconDelete1 iconfont icon-kehuguanxi_kehu"
...@@ -411,7 +465,7 @@ ...@@ -411,7 +465,7 @@
</li> </li>
<div class="clearfix"></div> <div class="clearfix"></div>
<p v-show="dataList.length==0" class="fz14 color333 alcenter">{{$t('system.content_noData')}}</p> <p v-show="dataList.length==0" class="fz14 color333 alcenter">{{$t('system.content_noData')}}</p>
</ul> </ul> -->
<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>
...@@ -900,6 +954,7 @@ ...@@ -900,6 +954,7 @@
}) })
}, },
goUrC(path, customerId) { goUrC(path, customerId) {
if(customerId){
this.$router.push({ this.$router.push({
name: path, name: path,
query: { query: {
...@@ -907,13 +962,23 @@ ...@@ -907,13 +962,23 @@
blank: 'y' blank: 'y'
} }
}) })
}else{
this.$router.push({
name: path,
query: {
blank: 'y'
}
})
}
}, },
goUrlT(path, id) { goUrlT(path, id) {
this.$router.push({ this.$router.push({
name: path, name: path,
query: { query: {
"id": id, "id": id,
"type": 8 "type": 8,
blank: 'y'
} }
}) })
}, },
...@@ -933,6 +998,7 @@ ...@@ -933,6 +998,7 @@
this.total = res.data.data.count; this.total = res.data.data.count;
this.loading = false; this.loading = false;
} }
console.log("this.dataList",this.dataList)
}, err => {}) }, err => {})
}, },
getCustomerBrandList() { // 获取品牌 getCustomerBrandList() { // 获取品牌
......
<style scoped>
._content_item{
display: flex;
flex-wrap: wrap;
}
._content_item ._item{
width: 220px;
position: relative;
transition: all linear .5s;
overflow: hidden;
margin: 5px 4px;
}
._content_item ._item:hover{
box-shadow: 0px 1px 13px 0px rgb(189, 189, 189);
}
._content_item ._top{
background-color: #F1BC69;
}
._content_item ._top ._time{
color: #A7711C;
}
._content_item ._top._blue{
background-color: #8794E2;
}
._content_item ._top._blue ._time{
color: #4C58A4;
}
._content_item div._top._gray{
background-color: #ccc !important;
}
._content_item div._top._gray ._overdue,._content_item div._top._gray ._info_bottom{
display: none
}
._content_item div._top._gray ._info_sale{
color: #FFFFFF !important;
}
._content_item div._top._gray ._time{
color: #777777 !important;
}
._top_raduis{
display: flex;
justify-content: space-between;
}
._top_raduis span{
display: inline-block;
width: 8px;
height: 8px;
margin: 3px;
border-radius: 50%;
background-color: white;
margin-top: -4px;
}
._item ._top ._overdue{
background-color: #E9F026;
color: #666666;
padding: 4px 6px;
position: absolute;
left: 0;
top: 0;
font-size: 12px;
}
._item ._top ._info_details{
padding: 15px 10px;
}
._item ._top ._info_details ._info_sale{
font-size: 30px;
color: white;
}
._item ._top ._info_details ._info_sale span{
font-size: 20px;
color: white;
}
._item ._top ._info_details ._info_full{
color: #FFFFFF;
font-size: 12px;
padding: 5px 0;
}
._item ._top ._info_details ._info_time{
font-size: 12px;
}
._item ._top ._info_details ._info_bottom{
padding: 1px 5px;
color: #A7711C;
font-size: 12px;
position: absolute;
border: 1px solid #A7711C;
border-radius: 4px;
right: 13px;
top: 24px;
cursor: pointer;
}
._item ._bottom{
padding: 15px 10px;
background-color: #F9F9F9;
}
._item ._bottom p{
font-size: 12px;
color: #333333;
font-weight: bold;
margin-bottom: 13px;
}
._item ._bottom p._bottom_info{
color: #666666;
font-weight: 300;
}
._item ._bottom p._margin_bt0{
margin-bottom: 0 !important;
}
p._info_coupon_name{
font-size: 18px !important;
max-width: 140px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: white;
}
._item .itemImg{
position: absolute;
right: 45px;
top: 42px;
}
</style>
<template>
<div class="_item">
<div class="itemImg">
<img v-if="item.fromPlatform=='0'" src="../../../assets/img/yhq/all.png" alt="">
<img v-if="item.fromPlatform=='1'" src="../../../assets/img/yhq/app.png" alt="">
<img v-if="item.fromPlatform=='2'" src="../../../assets/img/yhq/xcx.png" alt="">
<img v-if="item.fromPlatform=='3'" src="../../../assets/img/yhq/pc.png" alt="">
</div>
<div class="_top" :class="{'_blue':item.couponsType===1,'_gray':item.couponEffectStatus===3 || !Platfrom(item.fromPlatform)}">
<div class="_top_raduis">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="_overdue" v-if="item.warning">即将过期</div>
<div class="_info_details">
<p class="_info_coupon_name" :title="item.couponsName">{{item.couponsName}}</p>
<p class="_info_sale" v-if="item.couponsType !== 1">
{{item.denomination}}
<span></span>
</p>
<p class="_info_sale" v-else>
<span></span>
{{item.denomination}}
</p>
<p class="_info_full">{{item.useCondition}}可用</p>
<p class="_info_time _time">有效时间:{{item.effectDate | YMD}}-{{item.expirationDate | YMD}}</p>
<p class="_info_bottom" @click="goUrl('heel',true)">去使用</p>
</div>
</div>
<div class="_bottom">
<p class="_bottom_tit">可用线路及系列</p>
<p
class="_bottom_info"
>{{item.lineName === '' ? '不限' : item.lineName}}-{{item.lineTeamName === '' ? '不限' : item.lineTeamName}}</p>
<p class="_bottom_tit">优惠券来源</p>
<p class="_bottom_info _margin_bt0">{{item.remark}}</p>
</div>
</div>
</template>
<script>
export default {
props: ["item"],
data() {
return {};
},
methods: {
Platfrom(str){
if(str){
if(str.indexOf('0')!=-1 || str.indexOf('3')!=-1){
return true;
}
else{
return false;
}
}
},
goUrl(path) {
this.$router.push({ name: path });
}
},
mounted() {}
};
</script>
...@@ -2,19 +2,6 @@ ...@@ -2,19 +2,6 @@
<div class="customerTransfer flexOne"> <div class="customerTransfer flexOne">
<div class="query-box" style="border: none;"> <div class="query-box" style="border: none;">
<ul style="overflow: initial!important"> <ul style="overflow: initial!important">
<li>
<span class="fl mt10">
<em>{{$t('admin.admin_Department')}}</em>
</span>
<treeselect
class="w200 fl"
:options="departmentList"
@select="getEmployeeList"
v-model="DepartmentId"
:placeholder="$t('pub.unlimitedSel')"
:normalizer="normalizer"
/>
</li>
<li> <li>
<span> <span>
<em>{{$t('visaT.sale')}}</em> <em>{{$t('visaT.sale')}}</em>
...@@ -29,6 +16,8 @@ ...@@ -29,6 +16,8 @@
></el-option> ></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<span> <span>
<em>{{$t('salesModule.keyWords')}}</em> <em>{{$t('salesModule.keyWords')}}</em>
...@@ -48,6 +37,42 @@ ...@@ -48,6 +37,42 @@
</el-option> </el-option>
</el-select> </el-select>
</li> </li>
<li>
<span>
<em>关联状态</em>
</span>
<el-select filterable class='multiple_input' v-model='msg.OperationStatus ' :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" value=""></el-option>
<el-option label="正常" :value="1"></el-option>
<el-option label="释放" :value="2"></el-option>
</el-select>
</li>
<li>
<span>
<em>客户状态</em>
</span>
<el-select filterable class='multiple_input' v-model='msg.CustomerStatus' :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" value=""></el-option>
<el-option label="未审核" :value="1"></el-option>
<el-option label="已审核" :value="2"></el-option>
<el-option label="已拒绝" :value="3"></el-option>
<el-option label="黑名单" :value="4"></el-option>
</el-select>
</li>
<li>
<span class="fl mt10">
<em>{{$t('admin.admin_Department')}}</em>
</span>
<treeselect
class="w200 fl"
:options="departmentList"
@select="getEmployeeList"
v-model="DepartmentId"
:placeholder="$t('pub.unlimitedSel')"
:normalizer="normalizer"
/>
</li>
<li style="float:right;padding-top:10px;color:#111111">{{$t('salesModule.JYETJ')}}{{datainfo.sumMoney}}</li> <li style="float:right;padding-top:10px;color:#111111">{{$t('salesModule.JYETJ')}}{{datainfo.sumMoney}}</li>
<li> <li>
<input <input
...@@ -490,6 +515,8 @@ export default { ...@@ -490,6 +515,8 @@ export default {
DepartmentId: "-1", DepartmentId: "-1",
Brand:-1, Brand:-1,
allDepartment:0, allDepartment:0,
CustomerStatus:'',
OperationStatus:'',
}, },
RecipientMsg: { RecipientMsg: {
CustomerIdArr: [], CustomerIdArr: [],
......
...@@ -2190,6 +2190,15 @@ export default { ...@@ -2190,6 +2190,15 @@ export default {
title: '客户分析' title: '客户分析'
}, },
}, },
{ // 销售 客户分析
path: '/CouponsList',
name: 'CouponsList',
component: resolve => require(['@/components/SalesModule/CouponsList'], resolve),
meta: {
title: '优惠券列表'
},
},
{ // 销售 客户转交 { // 销售 客户转交
path: '/customerTransfer', path: '/customerTransfer',
......
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