d8eb6a5e069c2ac230e68d09846d48d299f21b33.svn-base 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. <!-- -->
  2. <template>
  3. <div>
  4. <div class="simple_header">
  5. <div class="simple_header_icon"></div>
  6. <div class="simple_header_text">舆情</div>
  7. <div class="simple_header_text" style="float:right;margin-right:.5vw;">
  8. <el-button type="text" icon="el-icon-d-arrow-right" @click="showMore()">更多</el-button>
  9. </div>
  10. </div>
  11. <div class="left_PublicSentiment_content" id="left_PublicSentiment_content">
  12. <el-radio-group class="myRadio" v-model="activeName2" size="mini" style="margin: 0px;width: 96%;overflow-x: auto;display: flex;padding: .5vh .4vw;text-align: center;">
  13. <el-radio-button label="0" style=" background-color: rgba(0,0,0,0) !important;font-size:x-large !important;">新闻</el-radio-button>
  14. <el-radio-button label="1" style=" background-color: rgba(0,0,0,0) !important;font-size:x-large !important;">论坛</el-radio-button>
  15. <el-radio-button label="2" style=" background-color: rgba(0,0,0,0) !important;font-size:x-large !important;">博客</el-radio-button>
  16. <el-radio-button label="3" style=" background-color: rgba(0,0,0,0) !important;font-size:x-large !important;">微博</el-radio-button>
  17. <el-radio-button v-if="radioForPad" label="4" style=" background-color: rgba(0,0,0,0) !important;font-size:x-large !important;">app</el-radio-button>
  18. <el-radio-button label="5" style=" background-color: rgba(0,0,0,0) !important;font-size:x-large !important;">微信</el-radio-button>
  19. <el-radio-button v-if="radioForPad" label="6" style=" background-color: rgba(0,0,0,0) !important;font-size:x-large !important;">电子报</el-radio-button>
  20. </el-radio-group>
  21. <div style="width: 100%;height: 77%;" id="building">
  22. <el-table :show-header="false" style="padding: 0 .4vw;border: none;" class="myTable" :data="tableResultData" v-loading="loading" :height="pubListHeight" @row-click="openTrsDetails" >
  23. <el-table-column prop="IR_URLTITLE" label="标题" min-width="120" show-overflow-tooltip></el-table-column>
  24. <el-table-column v-if="tableMiddle" prop="IR_SITENAME" label="来源" width="70" show-overflow-tooltip></el-table-column>
  25. <el-table-column prop="IR_URLTIME1" label="发布时间" width="100" show-overflow-tooltip></el-table-column>
  26. </el-table>
  27. <!-- <div class="block" style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;">
  28. <el-pagination class="myPagination"
  29. small
  30. @current-change="handleCurrentChange"
  31. :pager-count="5"
  32. :current-page.sync="pageIndex"
  33. :page-size="pageSize"
  34. layout="prev, pager, next"
  35. :total="allcount">
  36. </el-pagination>
  37. </div> -->
  38. </div>
  39. </div>
  40. <el-dialog title="舆情" :visible.sync="publicDialog" :close-on-click-modal="false" width="60%">
  41. <PublicMore v-if="publicDialog"></PublicMore>
  42. </el-dialog>
  43. </div>
  44. </template>
  45. <script>
  46. //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  47. //例如:import 《组件名称》 from '《组件路径》';
  48. import {dateFormat} from "../../utils/gw_date.js"
  49. import request from "../../utils/gw_ajax_request.js"
  50. import PublicMore from "./PublicMore";//更多舆情信息弹窗
  51. import axios from 'axios'
  52. // import theme from '../../store/theme'
  53. export default {
  54. //import引入的组件需要注入到对象中才能使用
  55. components: {
  56. PublicMore
  57. },
  58. data() {
  59. //这里存放数据
  60. return {
  61. radioForPad:true,
  62. activeName2:'0',
  63. tableResultData:[],
  64. loading:true,
  65. pageIndex:1,
  66. // pageSize:12,
  67. allcount:0,
  68. // pubListHeight:window.innerHeight * 0.38,
  69. pubListWidth:0,
  70. tableClass:'myTable',
  71. publicDialog:false
  72. };
  73. },
  74. //监听属性 类似于data概念
  75. computed: {
  76. pubListHeight(){
  77. if(window.innerWidth >= 1920){
  78. return window.innerHeight * 0.4;
  79. }else{
  80. return window.innerHeight * 0.35;
  81. }
  82. },
  83. pageSize(){
  84. if(window.innerWidth >= 1920){
  85. return 12;
  86. }else{
  87. return 7;
  88. }
  89. },
  90. tableMiddle(){
  91. if(window.innerWidth >= 1920){
  92. return true;
  93. }else{
  94. return false;
  95. }
  96. },
  97. msg(){
  98. // return theme.state.testMsg;
  99. return this.$store.state.theme.testMsg;
  100. },
  101. },
  102. //监控data中的数据变化
  103. watch: {
  104. activeName2:function(n,o){
  105. this.loading = true;
  106. this.getTrsDataList();
  107. },
  108. msg(n,o){
  109. if( n == 'dark' ){
  110. this.tableClass = 'myTable_dark';
  111. }else{
  112. this.tableClass = 'myTable';
  113. }
  114. },
  115. },
  116. //生命周期 - 创建完成(可以访问当前this实例)
  117. created() {},
  118. //生命周期 - 挂载完成(可以访问DOM元素)
  119. mounted() {
  120. // let h = document.getElementById('left_PublicSentiment_content').offsetHeight;
  121. // this.pubListHeight = h - 85;
  122. // console.log('pubListHeight'+this.pubListHeight);
  123. this.getTrsDataList();
  124. if(window.innerWidth <= 1024){
  125. this.radioForPad = false;
  126. }else{
  127. this.radioForPad = true;
  128. }
  129. },
  130. beforeCreate() {}, //生命周期 - 创建之前
  131. beforeMount() {}, //生命周期 - 挂载之前
  132. beforeUpdate() {}, //生命周期 - 更新之前
  133. updated() {}, //生命周期 - 更新之后
  134. beforeDestroy() {}, //生命周期 - 销毁之前
  135. destroyed() {}, //生命周期 - 销毁完成
  136. activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
  137. //方法集合
  138. methods: {
  139. showMore(){
  140. this.publicDialog = true;
  141. },
  142. getTrsDataList(){
  143. var _self = this;
  144. let endTime = dateFormat(new Date(),'yyyy-MM-dd hh:mm:ss');
  145. let startTime = dateFormat(new Date().getTime() - 7*24*60*60*1000,'yyyy-MM-dd hh:mm:ss');
  146. axios.get("/trs/om/cus",{params:{
  147. 'id':'9069e11e',
  148. 'key':'2515505d',
  149. 'sid':'63',
  150. 'pageNo':_self.pageIndex,
  151. 'pageSize':_self.pageSize,
  152. 'tid':_self.activeName2,
  153. 'startDate':startTime,
  154. 'endDate':endTime,
  155. }}).then((res)=>{
  156. var results = res.data;
  157. _self.loading = false;
  158. res.data.resultData.dataList.forEach((item)=>{
  159. item['IR_URLTIME1'] = item.IR_URLTIME.substring(0,10);
  160. })
  161. _self.tableResultData = res.data.resultData.dataList;
  162. _self.allcount = res.data.resultData.databasic.allcount;
  163. })
  164. // request({
  165. // url:"/trs/om/cus?id=9069e11e&key=2515505d&sid=57&pageNo="+_self.pageIndex+"&pageSize="+_self.pageSize+
  166. // "&tid="+_self.activeName2+"&startDate="+startTime+"&endDate="+endTime,
  167. // method:'get',
  168. // responseType:'json',
  169. // params:''
  170. // }).then((res)=>{
  171. // var results = res.data;
  172. // _self.loading = false;
  173. // res.data.resultData.dataList.forEach((item)=>{
  174. // item['IR_URLTIME1'] = item.IR_URLTIME.substring(0,10);
  175. // })
  176. // _self.tableResultData = res.data.resultData.dataList;
  177. // _self.allcount = res.data.resultData.databasic.allcount;
  178. // });
  179. },
  180. handleCurrentChange(val) {
  181. console.log(`当前页: ${val}`);
  182. this.loading = true;
  183. this.getTrsDataList();
  184. },
  185. openTrsDetails(row, event, column) {
  186. if(row.IR_URLNAME){
  187. window.open(row.IR_URLNAME);
  188. }
  189. },
  190. },
  191. };
  192. </script>
  193. <style lang="scss">
  194. //@import "@scss/home";
  195. @media screen and (min-width: 960px) {
  196. @import "@scss/homeForPad";
  197. }
  198. // @media screen and (min-width: 1024px) {
  199. // @import "@scss/home1024";
  200. // }
  201. @media screen and (min-width: 1024px) and (max-width:1920px){
  202. @import "@scss/home";
  203. }
  204. //暗色主表格字体颜色
  205. @mixin fontColor_dark{
  206. [data-theme="dark"] & {
  207. color:rgba(177, 210, 254, 1);
  208. }
  209. }
  210. @mixin tableHeader_dark{
  211. [data-theme="dark"] & {
  212. background:rgba(37, 68, 159, 1) !important;
  213. color:rgba(255, 255, 255, 1) !important;
  214. border-bottom: none;
  215. }
  216. }
  217. //滚动条样式
  218. @mixin scrollbarThumb{
  219. [data-theme="dark"] & {
  220. background-color: rgba(70, 74, 115, 1);
  221. }
  222. }
  223. //element表格行悬浮高亮样式修改暗色样式
  224. @mixin tableRowHighLight{
  225. [data-theme="dark"] & {
  226. background-color: #25449f;
  227. }
  228. }
  229. //element表格行悬浮高亮样式修改
  230. #building .el-table--enable-row-hover .el-table__body tr:hover>td {
  231. background-color: #e4e4e4;
  232. @include tableRowHighLight;
  233. }
  234. #building .el-table::before{
  235. background: none !important;
  236. }
  237. //浅色滚动条 滑槽样式
  238. .myTable ::-webkit-scrollbar-thumb{
  239. background-color: #cdcdcd;
  240. border-radius: 10px;
  241. @include scrollbarThumb;
  242. }
  243. .myTable ::-webkit-scrollbar-corner{
  244. background-color:transparent !important;
  245. }
  246. .myTable ::-webkit-scrollbar-track {
  247. background-color:transparent !important;
  248. }
  249. .myTable ::-webkit-scrollbar-track-piece {
  250. background-color:transparent !important;
  251. }
  252. .myTable ::before{
  253. background-color: none !important;
  254. }
  255. .myTable .el-table--border td{
  256. padding:0;
  257. }
  258. /* 浅色首页表格底色 */
  259. .myTable tr.el-table__row {
  260. background-color: transparent !important;
  261. @include fontColor_dark;
  262. }
  263. .myTable td {
  264. border-bottom:1px solid rgba(109, 118, 236, 0.2);
  265. padding:4px 0;
  266. }
  267. /* 这个样式是修改透明表格背景的关键 */
  268. .myTable, .el-table__expanded-cell {
  269. background-color: transparent;
  270. }
  271. .myTable .el-table__header th,.el-table__header tr{
  272. /* 浅色表头 */
  273. padding:2px 0;
  274. background:rgba(176, 230, 255, 1) !important;
  275. color: rgba(49, 63, 102, 1);
  276. @include tableHeader_dark;
  277. }
  278. .myRadio .el-radio-button__orig-radio:checked+.el-radio-button__inner {
  279. padding:.8vh .5vw;
  280. background-color: #409EFF;
  281. }
  282. .myRadio .el-radio-button--mini .el-radio-button__inner {
  283. padding: .8vh .38vw;
  284. font-size: 12px;
  285. }
  286. .myRadio .el-radio-button__inner{
  287. border: 1px solid #409EFF;
  288. border-left: none;
  289. color: #409EFF;
  290. }
  291. .myRadio .el-radio{
  292. margin-right: 1vw;
  293. }
  294. .myTable_dark tr.el-table__row {
  295. background-color:rgba(38, 44, 97, 1) !important;
  296. }
  297. .myRadio .el-radio__label{
  298. font-size: 12px;
  299. }
  300. .myRadio .el-radio__inner{
  301. width:12px;
  302. height:12px;
  303. }
  304. /* 浅色分页 */
  305. .myPagination .el-pager li{
  306. background-color: transparent;
  307. @include fontColor_dark;
  308. }
  309. .myPagination .btn-next{
  310. background-color: transparent;
  311. @include fontColor_dark;
  312. }
  313. .myPagination .btn-prev{
  314. background-color: transparent;
  315. @include fontColor_dark;
  316. }
  317. .myPagination button:disabled{
  318. background-color: transparent;
  319. @include fontColor_dark;
  320. }
  321. .myRadio .el-radio-button--mini .el-radio-button__inner {
  322. background-color: transparent;
  323. }
  324. </style>
  325. <style>
  326. @media screen and (min-width: 1920px) {
  327. @import "../../assets/sass/home1920.scss";
  328. .myRadio .el-radio-button--mini .el-radio-button__inner {
  329. padding: .8vh .69vw;
  330. font-size: 12px;
  331. }
  332. }
  333. </style>