Commit a83b1217 by caoyanzhi

Merge branch 'feature/7月迭代-会员' into test

parents 37f974b6 0c82d27c
......@@ -51,7 +51,7 @@
padding: 20px;
background: #fff;
.contain-header {
// margin-bottom: 20px;
margin-bottom: 20px;
.top-header {
display: flex;
align-items: center;
......@@ -69,10 +69,9 @@
color: #606266;
}
}
.action-wrap {
display: flex;
justify-content: space-between;
align-items: center;
.el-form-item {
margin-bottom: 0;
}
.left {
font-size: 0;
}
......@@ -90,7 +89,6 @@
.senior-search-content {
margin-top: 20px;
}
}
}
/deep/.el-table {
th > .cell:first-child,
......
......@@ -24,7 +24,7 @@
<el-form inline>
<el-form-item>
<el-input
style="width:300px;"
style="width:260px;"
v-model="pageParam.phoneNameCard"
prefix-icon="el-icon-search"
placeholder="输入姓名/昵称/手机号/会员卡号"
......@@ -36,7 +36,7 @@
<vue-gic-select-tree :options="selectTreeOptions" @change="onSelectTreeChange" style="display: inline-block;margin:0 10px; height: 32px" />
</el-form-item>
<el-form-item style="margin-right:10px;">
<vue-gic-select-tree :options="selectChannelList" @change="onSelectChannelChange" style="display: inline-block;height: 32px" />
<vue-gic-select-tree :options="selectChannelList" @change="onSelectChannelChange" style="display: inline-block;height: 32px;" />
</el-form-item>
<el-form-item>
<el-button type="text" @click="showSearch = !showSearch" class="senior-search">
......
......@@ -2,7 +2,7 @@
<div style="padding:20px">
<div class="logTop">
<el-cascader
style="width:260px;"
style="width:260px;height:32px;margin-bottom:3px"
placeholder="全部类型/全部事由"
:options="options"
filterable
......@@ -13,7 +13,7 @@
<el-date-picker style="width: 256px; margin-left:10px;" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" value-format="yyyy-MM-dd" @change="handleSearch" :clearable="false"> </el-date-picker>
<p class="font14 tip-p" v-if="!memberId">展示近一年的日志</p>
</div>
<el-table :data="tableData" style="width: 100%">
<el-table :data="tableData" style="width: 100%; min-height: 210px;">
<el-table-column prop="createTime" label="时间" min-width="138px">
<template slot-scope="scope">
{{ scope.row.createTime | formatDate('ymd') }} <br /> {{ scope.row.createTime | formatDate('hms') }}
......@@ -22,19 +22,24 @@
<el-table-column prop="operType" label="日志类型" min-width="166px" :formatter="(row, col, val) => val || '--'" />
<el-table-column prop="operReason" label="事由" min-width="138px" :formatter="(row, col, val) => val || '--'" />
<el-table-column prop="operContent" label="日志详情" min-width="301px" show-overflow-tooltip :formatter="(row, col, val) => val || '--'"/>
<el-table-column prop="operRemark" label="备注" min-width="290px" show-overflow-tooltip>
<el-table-column prop="operRemark" label="备注" min-width="290px">
<template slot-scope="{ row }">
<span v-if="row.operRemark" v-html="row.operRemark" />
<div v-if="row.operRemark" style="width: 100%" ref="operRemark">
<el-tooltip placement="top" :disabled="row.hideTip">
<div style="max-width: 400px" slot="content" v-html="row.operRemark"></div>
<span style="display:inline-block; max-width: 90%;overflow: hidden; text-overflow:ellipsis;white-space:nowrap;vertical-align:middle" v-html="row.operRemark"></span>
</el-tooltip>
<el-button v-if="memberId && (row.operType == '客户合并' && row.referLogId && (row.referLogId != -1 && row.referLogId != ''))" type="text" @click="goLink('/customerLog',row.referLogId)">查看</el-button>
</div>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column prop="" label="操作" min-width="77px" v-if="memberId">
<!-- <el-table-column prop="" label="操作" min-width="77px" v-if="memberId">
<template slot-scope="{ row }">
<el-button v-if="row.operType == '客户合并' && row.referLogId && (row.referLogId != -1 && row.referLogId != '')" type="text" @click="goLink('/customerLog',row.referLogId)">查看</el-button>
<p v-else>--</p>
<!-- <el-button @click="goLink('/customerLog',row.referLogId)">查看</el-button> -->
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<div class="page mTop20" v-if="totalCount > 0">
<dm-pagination
......@@ -140,6 +145,20 @@ export default {
return el;
});
this.totalCount = res.data.result.page.totalCount;
this.$nextTick(() => {
const maxWidth = this.$refs.operRemark.clientWidth;
const div = document.createElement('div');
div.style.position = 'fixed';
div.style.zIndex = -1;
div.style.opacity = 0;
document.body.appendChild(div);
this.tableData = this.tableData.map(el => {
div.innerHTML = el.operRemark;
el.hideTip = div.clientWidth / maxWidth < 0.8;
return el;
})
document.body.removeChild(div);
})
} else {
checkFalse(res.data.message);
return false;
......@@ -192,13 +211,22 @@ export default {
},
};
</script>
<style>
/* .el-cascader-menu {
min-width: 130px !important;
width: 130px !important;
} */
.el-tooltip__popper {
max-width: 400px;
}
</style>
<style lang="scss" scoped>
.logTop {
margin-bottom: 20px;
display: flex;
align-items: center;
margin-right: 10px;
line-height: normal;
// line-height: normal;
vertical-align: middle;
}
.tip-p{
......
......@@ -263,6 +263,7 @@
}
}
&.is-clique {
width: 387px;
padding: 17px 13px 17px 18px;
border-radius: 8px;
border: 1px solid #E4E7ED;
......@@ -291,6 +292,7 @@
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
height: 48px;
cursor: pointer;
.score-icon {
color: #FFCB48;
......@@ -319,7 +321,7 @@
vertical-align: middle;
}
.score-detail-value {
font-size: 20px;
font-size: 16px;
font-weight: bold;
color: #303133;
line-height: 19px;
......@@ -999,4 +1001,9 @@
line-height: 1;
color: #909399;
}
}
.text-over{
text-overflow: ellipsis;
overflow: hidden;
white-space: wrap;
}
\ No newline at end of file
......@@ -373,50 +373,50 @@
<!-- 积分相关 -->
<div :class="['scores', { 'is-clique': showClique }]">
<div class="scores-box" v-if="showClique" @click="goLinkWithClique('/enterpriseIntegralDataPage')">
<div class="scores-info">
<icon-label-value label="集团积分" :value="memberInfo.totalPointEnterprise || 0">
<div class="scores-info" style="width: 368px;">
<icon-label-value label="集团积分" :value="memberInfo.totalPointEnterprise || 0" style="width: 51%;">
<div class="score-icon" slot="icon">
<i class="iconfont icon-jifenjiabei"></i>
</div>
</icon-label-value>
<div class="score-detail">
<p class="score-detail-item">
<span class="score-detail-label">可用积分</span>
<span class="score-detail-value">{{ memberInfo.cliqueMemberIntegral ? memberInfo.cliqueMemberIntegral : 0 }}</span>
<div class="score-detail" style="margin-left: 0;width: 49%;">
<p class="score-detail-item flex">
<span class="score-detail-label width-84">可用积分</span>
<span class="score-detail-value text-over">{{ memberInfo.cliqueMemberIntegral ? memberInfo.cliqueMemberIntegral : 0 }}</span>
</p>
<p class="score-detail-item">
<span class="score-detail-label">
<p class="score-detail-item flex">
<span class="score-detail-label width-84">
不可用积分
<el-tooltip content="不可用原因:积分为冻结/预扣状态,详情可查看客户日志" placement="top">
<i class="iconfont icon-QuestionCircleOutlined" style="font-size: 14px;color: #606266"/>
</el-tooltip>
</span>
<span class="score-detail-value">{{ memberInfo.cliqueMemberInvalidIntegral ? memberInfo.cliqueMemberInvalidIntegral : 0 }}</span>
<span class="score-detail-value text-over">{{ memberInfo.cliqueMemberInvalidIntegral ? memberInfo.cliqueMemberInvalidIntegral : 0 }}</span>
</p>
</div>
</div>
<i class="el-icon-arrow-right" style="font-size: 16px;color: #909399"></i>
</div>
<div class="scores-box" @click="goLink('/integralDataPage')">
<div class="scores-info">
<icon-label-value label="积分" :value="memberInfo.totalPoint || 0">
<div class="scores-box" @click="goLink('/integralDataPage')" >
<div class="scores-info" style="width: 368px;">
<icon-label-value label="积分" :value="memberInfo.totalPoint || 0" style="width: 51%;">
<div class="score-icon" slot="icon">
<i class="iconfont icon-jifenduihuan"></i>
</div>
</icon-label-value>
<div class="score-detail">
<p class="score-detail-item">
<span class="score-detail-label">可用积分</span>
<span class="score-detail-value">{{ memberInfo.accumulatPoints ? memberInfo.accumulatPoints : 0 }}</span>
<div class="score-detail" style="margin-left: 0;width: 49%;">
<p class="score-detail-item flex">
<span class="score-detail-label width-84">可用积分</span>
<span class="score-detail-value text-over">{{ memberInfo.accumulatPoints ? memberInfo.accumulatPoints : 0 }}</span>
</p>
<p class="score-detail-item">
<span class="score-detail-label">
<p class="score-detail-item flex">
<span class="score-detail-label width-84">
不可用积分
<el-tooltip content="不可用原因:积分为冻结/预扣状态,详情可查看客户日志" placement="top">
<i class="iconfont icon-QuestionCircleOutlined" style="font-size: 14px;color: #606266"/>
</el-tooltip>
</span>
<span class="score-detail-value">{{ memberInfo.invalidIntegral ? memberInfo.invalidIntegral : 0 }}</span>
<span class="score-detail-value text-over">{{ memberInfo.invalidIntegral ? memberInfo.invalidIntegral : 0 }}</span>
</p>
</div>
</div>
......@@ -902,4 +902,16 @@ export default { ...action };
.subTitle .line {
margin-right: 8px !important;
}
.text-over{
text-overflow: ellipsis;
overflow: hidden;
white-space: wrap;
}
.width-84{
min-width: 100px;
max-width: 100px
}
.flex{
display: flex;
}
</style>
......@@ -27,7 +27,7 @@ export default {
collapseTags: true,
allCheckText: '全部关联渠道',
placeholder: '全部关联渠道',
width: 260
width: 200
},
treeOptions: {
data: [
......@@ -124,7 +124,7 @@ export default {
collapseTags: false,
allCheckText: '全部客户',
placeholder: '全部客户',
width: 260
width: 240
},
treeOptions: {
data: [
......
......@@ -63,7 +63,7 @@
:data="memberData"
tooltip-effect="dark"
ref="multipleTable"
max-height="659"
:max-height="height"
>
<el-table-column
prop="createTime"
......@@ -100,29 +100,15 @@
prop="brandName"
label="来源品牌"
min-width="150px"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tooltip placement="top">
<div slot="content">
<p>{{scope.row.brandName}}</p>
</div>
<div class="integral-box text-ellipsis-2 line-20">{{ scope.row.brandName }}</div>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
prop="remark"
label="备注"
min-width="160px"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tooltip placement="top">
<div slot="content">
<p>{{scope.row.remark}}</p>
</div>
<div class="integral-box text-ellipsis-2 line-20">{{ scope.row.remark }}</div>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<div
......@@ -172,6 +158,7 @@ export default {
},
data() {
return {
height: document.body.clientHeight - 262,
page: {
currentPage: 1,
pageSize: 20,
......@@ -234,7 +221,7 @@ export default {
doFetch(url.enterpriseIntegralDetailData, para)
.then(res => {
if (res.data.errorCode === 0) {
this.memberData = res.data.result.page.result;
this.memberData = res.data.result.page.result || [];
this.page.currentPage = res.data.result.page.currentPage;
this.page.totalCount = res.data.result.page.totalCount;
} else {
......@@ -279,7 +266,7 @@ export default {
};
</script>
<style lang="scss">
<style lang="scss" scoped>
.search-top{
display: flex;
justify-content:space-between;
......@@ -313,4 +300,13 @@ export default {
display: -webkit-box;
-webkit-box-orient: vertical;
}
.table-content{
/deep/ .el-table {
th > .cell:first-child,
td > .cell:first-child {
padding-left: 10px;
}
}
}
</style>
......@@ -11,8 +11,8 @@
:picker-options="pickerOptions()" value-format="yyyy-MM-dd" @change="handleSearch" :clearable="false"> </el-date-picker>
</div>
</div>
<div>
<el-table :data="memberData" tooltip-effect="dark" ref="multipleTable" max-height="659">
<div class="table-content">
<el-table :data="memberData" tooltip-effect="dark" ref="multipleTable" :max-height="height">
<el-table-column prop="createTime" label="时间" min-width="130px">
<template slot-scope="scope">
<div class="line-20">{{ scope.row.createTime | formatYMD }}</div>
......@@ -45,35 +45,11 @@
<div v-else>无截止时间</div>
</template>
</el-table-column>
<el-table-column prop="relationId" label="关联id" min-width="160px">
<template slot-scope="scope">
<el-tooltip placement="top">
<div slot="content">
<p>{{scope.row.relationId}}</p>
</div>
<div class="integral-box text-ellipsis-2 line-20">{{ scope.row.relationId }}</div>
</el-tooltip>
</template>
<el-table-column prop="relationId" label="关联id" min-width="160px" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="openStoreName" label="积分成本主体" min-width="170px">
<template slot-scope="scope">
<el-tooltip placement="top">
<div slot="content">
<p>{{scope.row.openStoreName}}</p>
</div>
<div class="integral-box text-ellipsis-2 line-20">{{ scope.row.openStoreName }}</div>
</el-tooltip>
</template>
<el-table-column prop="openStoreName" label="积分成本主体" min-width="170px" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="intervalEffect" label="备注信息" min-width="140px">
<template slot-scope="scope">
<el-tooltip placement="top">
<div slot="content">
<p>{{scope.row.intervalEffect}}</p>
</div>
<div class="integral-box text-ellipsis-2 line-20">{{ scope.row.intervalEffect }}</div>
</el-tooltip>
</template>
<el-table-column prop="intervalEffect" label="备注信息" min-width="140px" show-overflow-tooltip>
</el-table-column>
</el-table>
<div class="page mTop20">
......@@ -114,6 +90,7 @@ export default {
},
data() {
return {
height: document.body.clientHeight - 262,
memberData: [],
page: {
currentPage: 1,
......@@ -158,7 +135,7 @@ export default {
.then(res => {
this.loading = false;
if (res.data.errorCode === 0) {
this.memberData = res.data.result.page.result;
this.memberData = res.data.result.page.result || [];
this.page.currentPage = res.data.result.page.currentPage;
this.page.totalCount = res.data.result.page.totalCount;
} else {
......@@ -173,7 +150,6 @@ export default {
},
mounted() {
this.setDefalutTime()
console.log(this.memberId,1);
if(this.memberId){
this.getIntegralDataPage()
}
......@@ -183,6 +159,15 @@ export default {
};
</script>
<style lang="scss" scoped>
.table-content{
/deep/ .el-table {
th > .cell:first-child,
td > .cell:first-child {
padding-left: 10px;
}
}
}
.width160{
width: 160px;
}
......
......@@ -54,7 +54,7 @@
<el-option label="所有积分状态" :value=-1></el-option>
<el-option v-for="item in frozenStatusList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-date-picker style="width: 256px;" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" value-format="yyyy-MM-dd" @change="handleSearch" :clearable="false"> </el-date-picker>
<el-date-picker style="width: 256px;margin-bottom:1px;" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" value-format="yyyy-MM-dd" @change="handleSearch" :clearable="false"> </el-date-picker>
</div>
<el-button
v-if="getCodeAuth('memberAdjustIntegral')"
......@@ -501,5 +501,11 @@ export default {
overflow-y: auto;
box-sizing: border-box;
}
/deep/ .el-table {
th > .cell:first-child,
td > .cell:first-child {
padding-left: 10px;
}
}
}
</style>
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