|
@@ -1,10 +1,21 @@
|
1
|
1
|
<template>
|
2
|
2
|
<div>
|
|
3
|
+ <div class="flex-align-center" style="background: #fff;padding: 0 16px;margin-bottom: 10px;">
|
|
4
|
+ <!-- S 激活状态 -->
|
|
5
|
+ <div class="flex" style="margin-right: 20px;">
|
|
6
|
+ <span style="font-size: 14px; color: #666; margin-right: 8px;">激活状态</span>
|
|
7
|
+ <el-select class="select-cls" v-model="is_active" size="small" placeholder="请选择激活状态" clearable filterable :style="{width: '210px'}" @change="onChangeActiveStatus">
|
|
8
|
+ <el-option v-for="item in activeStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
|
|
9
|
+ </el-select>
|
|
10
|
+ </div>
|
|
11
|
+ <!-- E 激活状态 -->
|
|
12
|
+ <selfCustomerservice labelWidth="auto" style="margin-right: 20px;" title="成员" @customerDefine="onChangeUserIds" />
|
|
13
|
+ <selfinput :hasLabel="false" @inputChange="inputChange"></selfinput>
|
|
14
|
+ </div>
|
3
|
15
|
<div class="tableInfo">
|
4
|
16
|
<div class="flex">
|
5
|
17
|
<!-- 客户数据统计 -->
|
6
|
18
|
<div v-if="isShowCustomerData" class="totalCustom">
|
7
|
|
- <i class="el-icon-user-solid" />
|
8
|
19
|
共<span>{{ customerData.customer_count }}</span>个客户;
|
9
|
20
|
昨日新增<span>{{ customerData.user_add_yesterday }}</span>;
|
10
|
21
|
昨日流失<span>{{ customerData.user_loss_yesterday }}</span>;
|
|
@@ -15,11 +26,8 @@
|
15
|
26
|
共<span>{{total}}</span>个成员
|
16
|
27
|
</div>
|
17
|
28
|
</div>
|
18
|
|
- <div class="flex">
|
19
|
|
- <selfCustomerservice style="margin-right: 20px;" title="成员" @customerDefine="onChangeUserIds" />
|
20
|
|
- <selfinput :hasLabel="false" @inputChange="inputChange"></selfinput>
|
21
|
|
- </div>
|
22
|
29
|
</div>
|
|
30
|
+
|
23
|
31
|
<div style="display: flex;">
|
24
|
32
|
<div style="width: 300px;flex-shrink: 0;margin-right: 10px;background-color: #fff;padding: 15px">
|
25
|
33
|
<div class="fWeight600">
|
|
@@ -76,6 +84,31 @@
|
76
|
84
|
</el-table-column>
|
77
|
85
|
<el-table-column label="昨日流失客户数" prop="loss_contact_cnt" min-width="120" align="center" />
|
78
|
86
|
<el-table-column label="昨日新增客户数" prop="new_contact_cnt" min-width="120" align="center" />
|
|
87
|
+
|
|
88
|
+ <el-table-column label="激活时间" min-width="170" align="center">
|
|
89
|
+ <template slot-scope="{ row }">
|
|
90
|
+ <span>{{ row.active_time || '-' }}</span>
|
|
91
|
+ </template>
|
|
92
|
+ </el-table-column>
|
|
93
|
+ <el-table-column label="过期时间" min-width="170" align="center">
|
|
94
|
+ <!-- <template slot="header">
|
|
95
|
+ <span>过期时间</span>
|
|
96
|
+ <el-tooltip class="disinblock" placement="top">
|
|
97
|
+ <div slot="content">系统根据过期时间判断许可到期时间,到期前14天通知续费</div>
|
|
98
|
+ <i class="el-icon-question"></i>
|
|
99
|
+ </el-tooltip>
|
|
100
|
+ </template> -->
|
|
101
|
+ <template slot-scope="{ row }">
|
|
102
|
+ <div v-if="row.expire_time">
|
|
103
|
+ <div>{{ row.expire_time }}</div>
|
|
104
|
+ <!-- 无可用状态码 目前通过后端返回的文案判断 -->
|
|
105
|
+ <div v-if="row.active_desc === '已到期'" class="expired-tips">已到期</div>
|
|
106
|
+ <div v-if="row.active_desc === '即将到期'" class="expired-tips danger">即将到期</div>
|
|
107
|
+ </div>
|
|
108
|
+ <span v-else> - </span>
|
|
109
|
+ </template>
|
|
110
|
+ </el-table-column>
|
|
111
|
+
|
79
|
112
|
<el-table-column label="操作" align="center" min-width="110" fixed="right">
|
80
|
113
|
<template slot-scope="scope">
|
81
|
114
|
<span class="c-00B38A pointer" @click="detailEvent(scope.row)">详情</span>
|
|
@@ -160,6 +193,12 @@ const orderTypeDesc = new Map([
|
160
|
193
|
[String(orderTypeOptions.ADQ), 'ADQ'],
|
161
|
194
|
])
|
162
|
195
|
|
|
196
|
+// 激活状态选项
|
|
197
|
+const activeStatusOptions = [
|
|
198
|
+ { label: '未激活', value: 0 },
|
|
199
|
+ { label: '已激活', value: 1 },
|
|
200
|
+]
|
|
201
|
+
|
163
|
202
|
export default {
|
164
|
203
|
name: 'memberManage',
|
165
|
204
|
components: {
|
|
@@ -196,6 +235,9 @@ export default {
|
196
|
235
|
user_add_yesterday: 0,
|
197
|
236
|
user_loss_yesterday: 0,
|
198
|
237
|
},
|
|
238
|
+
|
|
239
|
+ is_active: '', // 激活状态
|
|
240
|
+ activeStatusOptions: Object.freeze(activeStatusOptions), // 激活状态选项
|
199
|
241
|
}
|
200
|
242
|
},
|
201
|
243
|
computed: {
|
|
@@ -249,6 +291,7 @@ export default {
|
249
|
291
|
user_name: keyword,
|
250
|
292
|
department_list: this.checkVals,
|
251
|
293
|
user_ids: this.user_ids ? this.user_ids.join(',') : '',
|
|
294
|
+ is_active: this.is_active,
|
252
|
295
|
page: this.page,
|
253
|
296
|
page_size: this.page_size
|
254
|
297
|
}
|
|
@@ -336,11 +379,34 @@ export default {
|
336
|
379
|
this.user_ids = val ? val : []
|
337
|
380
|
this.init(1, this.keyword)
|
338
|
381
|
},
|
|
382
|
+ // 监听激活状态变化
|
|
383
|
+ onChangeActiveStatus(val) {
|
|
384
|
+ this.is_active = val
|
|
385
|
+ this.init(1, this.keyword)
|
|
386
|
+ },
|
339
|
387
|
}
|
340
|
388
|
}
|
341
|
389
|
</script>
|
342
|
390
|
<style lang="scss" scoped>
|
343
|
391
|
@import "@/style/list.scss";
|
|
392
|
+.select-cls {
|
|
393
|
+ /deep/ .el-input__inner {
|
|
394
|
+ height: 30px;
|
|
395
|
+ line-height: 30px;
|
|
396
|
+ }
|
|
397
|
+ /deep/ .el-input__suffix {
|
|
398
|
+ border-top-right-radius: 4px;
|
|
399
|
+ border-bottom-right-radius: 4px;
|
|
400
|
+ border: 1px solid #DCDFE6;
|
|
401
|
+ right: 0;
|
|
402
|
+ width: 30px;
|
|
403
|
+ background-color: #F1F1F1;
|
|
404
|
+ .el-input__icon {
|
|
405
|
+ line-height: 26px;
|
|
406
|
+ color: #909399;
|
|
407
|
+ }
|
|
408
|
+ }
|
|
409
|
+}
|
344
|
410
|
.ml-6 {
|
345
|
411
|
margin-left: 6px;
|
346
|
412
|
}
|
|
@@ -364,4 +430,16 @@ export default {
|
364
|
430
|
flex-shrink: 0;
|
365
|
431
|
}
|
366
|
432
|
}
|
|
433
|
+
|
|
434
|
+.expired-tips {
|
|
435
|
+ display: inline-block;
|
|
436
|
+ padding: 0 4px;
|
|
437
|
+ border-radius: 2px;
|
|
438
|
+ background-color: #F2F2F2;
|
|
439
|
+ color: #AAAAAA;
|
|
440
|
+ &.danger {
|
|
441
|
+ background-color: #FDE3E3;
|
|
442
|
+ color: #EC808D;
|
|
443
|
+ }
|
|
444
|
+}
|
367
|
445
|
</style>
|