You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

291 lines
11 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div class="d-container">
<div class="d-outter">
<div class="d-inner">
<v-label-div title="主题数据">
<v-btn @click="handlerBack"></v-btn>
</v-label-div>
<div class="d-inner-d1">
<span class="s1">时间{{setStartTime}} {{setEndTime}} </span>
<span class="s2">自定义</span>
<!-- <v-tab-group :value="tValue" :style="{ background: 'transparent' }" :btns="buttonTime" @change="handlerTime"></v-tab-group> -->
<a-range-picker show-time v-model="selTime" :disabled-date="disabledDate" @calendarChange="calendarPriceRangeChange" :size="$vuiSize" valueFormat="YYYY-MM-DD HH:mm:ss" @ok="handlerChangeTime">
<a-icon slot="suffixIcon" type="calendar" />
</a-range-picker>
</div>
<div class="d-inner-d1">
<span class="s1">渠道:</span>
<a-checkbox :disabled="noClick" :indeterminate="qdIndeterminate" :checked="qdCheckAll" @change="onCheckAllChangeQd">
{{quDaoAll}}
</a-checkbox>
<a-checkbox-group v-model="quDao" :disabled="noClick" :options="plainOptions" @change="(val) => onChange(val, 'quDao')" />
</div>
<div class="d-inner-d1">
<span class="s1">调性:</span>
<a-checkbox :disabled="noClick" :indeterminate="dxIndeterminate" :checked="dxCheckAll" @change="onCheckAllChangeDx">
全部
</a-checkbox>
<!-- <a-checkbox-group v-model="diaoXing" :disabled="noClick" :options="plainOptions1" @change="(val) => onChange(val, 'diaoXing')" /> -->
<a-checkbox-group v-model="diaoXing" :disabled="noClick" :options="plainOptions5" @change="(val) => onChange(val, 'diaoXing')" />
</div>
<div class="d-inner-d1">
<span class="s3">关键词:</span>
<a-select v-model="form.sTitleType" style="width: 80px" @change="handlerSearchMode">
<a-select-option :style="{ color: '#fff' }" v-for="item in plainOptions2" :value="item.key" :key="item.key">
{{ item.value }}
</a-select-option>
</a-select>
<a-input-search style="width: 250px" placeholder="请输入关键词" enter-button v-model="searchTitle" @search="onSearch"></a-input-search>
<span class="s4">时间排序:</span>
<v-tab-group :value="gValue" :style="{ background: 'transparent' }" :btns="btnTimes" @change="handlerSxTime"></v-tab-group>
<span class="s4">去重筛选:</span>
<v-tab-group :value="gValue2" :style="{ background: 'transparent' }" :btns="btnTimes2" @change="handlerTime2"></v-tab-group>
</div>
<div class="d-inner-d2">
<span class="s1">共计<span class="ss1">{{totalNum}}</span>条数据,已选中<span class="ss1">{{tableAll ? totalNum : sk.length}}</span>条数据</span>
<div>
<a-button type="primary" @click="goOutput">导出数据</a-button>
<a-button type="primary" @click="goThemeBoard" style="margin-left: 12px">数据看板</a-button>
</div>
</div>
<v-table ref="rtable" :row-selection="rowSelection" :columns="columns" :data="tbData" :loading="tableLoading" :pagination="pagination" @change="handlerPage">
<template slot="titlex" slot-scope="text, record">
<a :href="record.url" style="color: #fff" target="_blank"><span v-html="text"></span></a>
<a-tag color="#108ee9" v-if="record.affections === 1" style="margin-left: 0.6rem;margin-right: 0px;">正面</a-tag>
<a-tag color="#fece42" v-if="record.affections === 3" style="margin-left: 0.6rem;margin-right: 0px">中性</a-tag>
<a-tag color="#cb7632" v-if="record.affections === 2" style="margin-left: 0.6rem;margin-right: 0px">负面</a-tag>
<a-tag color="#d48c44" v-if="record.crisis === 1" style="margin-left: 0.6rem;margin-right: 0px;">低级危机</a-tag>
<a-tag color="#d46a46" v-if="record.crisis === 2" style="margin-left: 0.6rem;margin-right: 0px;">中级危机</a-tag>
<a-tag color="#d81c33" v-if="record.crisis === 3" style="margin-left: 0.6rem;margin-right: 0px;">高级危机</a-tag>
</template>
</v-table>
</div>
</div>
<v-modal :title="modalObj.title" :visible.sync="modalObj.visible" :eleStyle="{ width: '60rem', height: '36rem'}">
<div slot="body" style="padding: 1rem 1rem 1rem 1rem">
<a-form :form="execlForm" :label-col="{ span: 3 }" :wrapper-col="{ span: 8 }">
<a-form-item label="文件名称">
<a-input v-model="execlForm.sFileName" disabled placeholder="请输入文件名称"></a-input>
</a-form-item>
<a-form-item label="导出格式">
<span style="color: #63aecc; font-size: 14px">xlsx</span>
</a-form-item>
<a-form-item label="导出字段" :wrapper-col="{ span: 21 }">
<a-checkbox-group v-model="checkedIds" :options="plainOptions4" @change="fileTypeChange" />
</a-form-item>
<a-form-item label="导出条数">
<span style="color: #63aecc; font-size: 14px">{{execlForm.iNum}}条</span>
</a-form-item>
</a-form>
</div>
<div slot="footer">
<div class="epor" align="center">
<div class="epor-btn" @click="exportExcel">确定</div>
</div>
</div>
</v-modal>
</div>
</template>
<script>
import tableEvent from "./tableEvent";
import getApi from "./getApi";
import {rowSelection} from "./tableEvent";
export default {
name: "ThemeData",
computed: {
rowSelection
},
data() {
return {
//-数据导出-//
plainOptions4: [],
modalObj: {
title: "导出选项",
visible: false,
},
execlForm: {
action: "toExcel",
sFileName: "",
sCheckedIds: "",
iNum: 0,
sField: "",
},
checkedIds: [],
//
noClick: false,
tableAll: false,
totalNum: 0,
form: {
action: 'getList',
sTimeType: '',
sStartTime: '',
sEndTime: '',
sQuDao: '',
sQingGan: '',
sCrisis: '',
iPageIndex: 1,
iPageSize: 20,
sTitle: "",
token: "",
sType: "ZhuTiFenXiBl",
sGuid: '',
iGroupBy: '', //去重筛选 0不去重 1相似度去重
isSourcetype: '', //1 返回渠道 0 不返回
listType: '', //0默认 1影响力倒序 eventList事件脉络
sTitleType: -1,
website: '',
iTimeType: '' //时间筛选 0发布时间 1入库时间
},
//时间
// tValue: 0,
selVal: 4,
selTime: [],
timesSel: [],
// buttonTime: [],
selectPriceDate: "",
setStartTime: '',
setEndTime: '',
//渠道
quDao: [],
quDaoAll: '全部',
plainOptions: [],
qdIndeterminate: true,
qdCheckAll: false,
//调性
diaoXing: [],
plainOptions1: [],
dxIndeterminate: true,
dxCheckAll: false,
//时间筛选
gValue: 0,
btnTimes:['发布时间','入库时间'],
//去重筛选
gValue2: 0,
btnTimes2:['不去重','相似度去重'],
//搜索框
plainOptions2:[],
plainOptions3: [],
plainOptions5: [],
searchTitle: '',
//表格
columns: [
{
title: "标题及内容",
dataIndex: "title",
key: "title",
scopedSlots: { customRender: "titlex" },
},
{
title: "关键字",
dataIndex: "keywords",
key: "keywords",
},
{
title: "来源",
dataIndex: "source",
key: "source",
},
{
title: "作者",
dataIndex: "user_author",
key: "user_author",
},
{
title: "发布时间",
dataIndex: "sourcetime",
key: "sourcetime",
width: 200,
},
],
pagination: {
total: 0,
current: 1,
pageSize: 20,
},
tbData: [],
tableLoading: false,
selectedRows: [],
sk: [],
selectedRowKeys: "",
secIds: [],
}
},
created() {
this.initData();
},
methods: {
...tableEvent,
...getApi
},
filters: {
keyStr(str) {
}
}
}
</script>
<style lang="less">
.d-outter {
padding: 0px 16px 16px 16px;
}
.d-inner {
width: 100%;
height: 960px;
border: 2px solid #0f2a4d;
background: #091e36;
.d-inner-d1 {
width: 100%;
margin-top: 22px;
margin-left: 20px;
display: flex;
.s1 {
font-size: 14px;
color: #fff;
}
.s2 {
font-size: 14px;
color: #fff;
margin-left: 24px;
}
.s3 {
font-size: 14px;
color: #fff;
margin-top: 6px;
}
.s4 {
font-size: 14px;
color: #fff;
margin-left: 24px;
margin-top: 6px;
}
}
.d-inner-d2 {
display: flex;
justify-content: space-between;
padding: 24px 20px 10px 20px;
align-items: flex-end;
.s1 {
font-size: 14px;
color: #fff;
}
}
}
.epor {
width: 100%;
height: 80px;
.epor-btn {
width: 480px;
height: 80px;
background-image: url("../../assets/images/comm/img_bbut.png");
background-repeat: no-repeat;
background-size: cover;
text-align: center;
line-height: 80px;
color: #63aecc;
font-size: 28px;
cursor: pointer;
}
}
</style>