|
@@ -1,7 +1,7 @@
|
1
|
1
|
<template>
|
2
|
2
|
<div>
|
3
|
3
|
<div class="screenBox">
|
4
|
|
- <div class="flex-align-center" style="flex-wrap: wrap;margin-right: 60px;">
|
|
4
|
+ <div class="flex-align-center" style="flex-wrap: wrap;margin-right: 60px;min-height: 60px;">
|
5
|
5
|
<datePicker title="创建时间" :quickFlag="false" :afferent_time="default_time" :clearFlag='true' :reset="resetFlag" @changeTime="onChangeTime" style="margin-right: 10px;" />
|
6
|
6
|
<!-- 企微主体 -->
|
7
|
7
|
<!-- <selfSelectCorp style="margin-right: 30px;" v-model="filter.corpid" @change="onChangeCorpid" /> -->
|
|
@@ -11,7 +11,7 @@
|
11
|
11
|
<customerServiceCorpV2 title="群主" :reset="resetFlag" :isRequired="false" @customerDefine="onChangeMultiCorpUsers" />
|
12
|
12
|
</div>
|
13
|
13
|
<div class="reset" @click="resetEvent">重置</div>
|
14
|
|
- <!-- <el-button v-if="isCanExport" class="export-btn" type="primary" size="mini" @click="onClickExport">导出Excel</el-button> -->
|
|
14
|
+ <el-button v-if="isCanExport" class="export-btn" type="primary" size="mini" @click="onClickExport">导出Excel</el-button>
|
15
|
15
|
</div>
|
16
|
16
|
<div class="dataInfoBox" v-loading="dataLoading">
|
17
|
17
|
<div class="dataInfoItem" v-for="(item, index) in dataInfoArrs" :key="index">
|
|
@@ -184,7 +184,7 @@ export default {
|
184
|
184
|
this.dataLoading = false
|
185
|
185
|
}
|
186
|
186
|
},
|
187
|
|
- async init (page, type) {
|
|
187
|
+ async init (page) {
|
188
|
188
|
this.page = page ? page : this.page;
|
189
|
189
|
this.loading = true
|
190
|
190
|
const url = `${this.URL.BASEURL}${this.URL.dataBoard_chatGroupData_list}`
|
|
@@ -282,6 +282,65 @@ export default {
|
282
|
282
|
this.init_predata()
|
283
|
283
|
this.init(1)
|
284
|
284
|
},
|
|
285
|
+
|
|
286
|
+ // 监听点击"导出"按钮
|
|
287
|
+ async onClickExport() {
|
|
288
|
+ if (!this.total) return this.$message.warning('暂无数据可导出')
|
|
289
|
+ this.loading = true
|
|
290
|
+ const url = `${this.URL.BASEURL}${this.URL.dataBoard_chatGroupData_list}`
|
|
291
|
+ const params = {
|
|
292
|
+ corpid: this.filter.corpid,
|
|
293
|
+ owner: this.filter.owner,
|
|
294
|
+ owner_list: this.filter.multiple_senders,
|
|
295
|
+ create_time_st: this.filter.time[0] || '',
|
|
296
|
+ create_time_et: this.filter.time[1] || '',
|
|
297
|
+ page: 1,
|
|
298
|
+ page_size: this.$store.state.exportNumber,
|
|
299
|
+ }
|
|
300
|
+ try {
|
|
301
|
+ const { data: res = {} } = await this.$axios.post(url, params)
|
|
302
|
+ if (res && res.errno == 0) {
|
|
303
|
+ this.handleExport(res.rst.data)
|
|
304
|
+ } else if (res.errno != 4002) {
|
|
305
|
+ this.$message.warning(res.err)
|
|
306
|
+ }
|
|
307
|
+ } catch (error) {
|
|
308
|
+ console.log('error => ', error)
|
|
309
|
+ } finally {
|
|
310
|
+ this.loading = false
|
|
311
|
+ }
|
|
312
|
+ },
|
|
313
|
+ handleExport(list) {
|
|
314
|
+ let tHeader = []
|
|
315
|
+ let filterVal = []
|
|
316
|
+ let tableDatas = []
|
|
317
|
+
|
|
318
|
+ list.forEach(item => {
|
|
319
|
+ item['status'] = this.getChatGroupStatusDesc(item['status']).label
|
|
320
|
+ })
|
|
321
|
+
|
|
322
|
+ tHeader = [
|
|
323
|
+ ...this.desCol.map(d => `${d.label}`),
|
|
324
|
+ ]
|
|
325
|
+
|
|
326
|
+ filterVal = [
|
|
327
|
+ ...this.desCol.map(d => `${d.prop}`),
|
|
328
|
+ ]
|
|
329
|
+
|
|
330
|
+ tableDatas = [
|
|
331
|
+ ...list,
|
|
332
|
+ ]
|
|
333
|
+
|
|
334
|
+ const excelDatas = [
|
|
335
|
+ {
|
|
336
|
+ tHeader, // sheet表一头部
|
|
337
|
+ filterVal, // 表一的数据字段
|
|
338
|
+ tableDatas, // 表一的整体json数据
|
|
339
|
+ sheetName: ''// 表一的sheet名字
|
|
340
|
+ }
|
|
341
|
+ ]
|
|
342
|
+ this.$exportOrder({ excelDatas, name: `客户群数据统计(导出时间:${this.$getDay(0)})` })
|
|
343
|
+ },
|
285
|
344
|
}
|
286
|
345
|
}
|
287
|
346
|
</script>
|