Browse Source

融媒体

master
changtong 7 months ago
parent
commit
0663046538
  1. 8
      config/index.js
  2. 2
      src/router/router.js
  3. 2
      src/views/screen/car-warring.vue
  4. 8
      src/views/screen/components/MainTitle.vue
  5. 41
      src/views/screen/components/mediaBigScreen/content.vue
  6. 22
      src/views/screen/county-screen.vue
  7. 3
      src/views/screen/cultural-center.vue
  8. 2
      src/views/screen/culture-place.vue
  9. 2
      src/views/screen/emergency-extend.vue
  10. 6
      src/views/screen/emergency-screen.vue
  11. 12
      src/views/screen/gov-service.vue
  12. 237
      src/views/screen/media-screen.vue
  13. 8
      src/views/screen/museum-center.vue
  14. 2
      src/views/screen/person-warring.vue
  15. 10
      src/views/screen/rrt-home.vue
  16. 2
      src/views/screen/video-structuring.vue

8
config/index.js

@ -13,20 +13,20 @@ module.exports = {
proxyTable: {
'/api': {
target: 'http://localhost:9990',
// target: 'http://60.255.185.166:9030/api',
// target: 'http://60.255.186.185:9024/api',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
},
'/localImage': {
// target: 'http://60.255.185.166:9030/',
// target: 'http://60.255.186.185:9024/',
target: 'http://localhost:9990/',
changeOrigin: true,
},
'/socket.io': {
// target: 'http://localhost:19990/',
target: 'http://60.255.185.166:9030/',
target: 'http://localhost:19990/',
// target: 'http://60.255.185.166:9024/',
changeOrigin: true,
}
},

2
src/router/router.js

@ -65,7 +65,7 @@ export const screenRouter = [
{
path: "/mediaBigScreen",
name: "mediaBigScreen",
title: "媒体融合",
title: "三江翠屏",
component: () =>
import("@/views/screen/media-screen.vue")
},

2
src/views/screen/car-warring.vue

@ -23,7 +23,7 @@
</div>
</div>
<div class="right">
<div class="title-box-680" style="width: 600px">
<div class="title-box-680" style="width: 100%">
<span>预警信息</span>
</div>
<div class="content-info">

8
src/views/screen/components/MainTitle.vue

@ -298,7 +298,7 @@ export default {
routerPath: "/new-media",
},
{
meumItem: "翠屏",
meumItem: "三江翠屏",
routerPath: "/mediaBigScreen",
},
{
@ -366,7 +366,7 @@ export default {
this.currentName = "首页";
break;
case "/mediaBigScreen":
this.currentName = "翠屏";
this.currentName = "三江翠屏";
break;
case "/emergencyScreen":
this.currentName = "应急广播";
@ -570,8 +570,8 @@ export default {
});
return
}
if (item.areaName != "红岩村") {
this.$message.info("除红岩村,其余尚未建设!");
if (item.areaName != "高桥村") {
this.$message.info("除高桥村,其余尚未建设!");
return;
}
if (this.currentType == "village") {

41
src/views/screen/components/mediaBigScreen/content.vue

@ -13,14 +13,14 @@
:key="index"
>
<div class="back">
<img :src="item.img" @error="imageError($event, index)" />
<img :src="item.image_url" @error="imageError($event, index)" />
</div>
<div
class="content-box"
:class="{ 'special-box': item.jumpContentType == '15' }"
>
<div>{{ item.title }}</div>
<div>{{ item.publishTime || item.startTime }}</div>
<div>{{ item.pubDate || item.startTime }}</div>
</div>
</div>
<div v-if="scrollData.length == 0 && !parentLoad" class="noData">
@ -170,42 +170,7 @@ export default {
},
//
queryDetail (item) {
switch (item.contentType) {
case 12:
this.jumpWindow(item.linkUrl, item.title);
break;
case 9:
let url = item.shareUlr || item.shareUrl
this.jumpWindow(url, item.title);
break;
case 5:
this.getContentById(item);
break;
case "tvLive":
this.getTvLiveById(item)
break;
default:
break;
}
},
getTvLiveById(item) {
let url = "/links/getLiveRoomInfo";
let params = {
jumpId: item.id,
};
this.$http.post(url, this.common.request(params)).then((res) => {
if (res && res.data.code >= 200 && res.data.code < 400) {
let data = res.data.data;
// this.showDetail = true
// this.detailData = data
this.jumpWindow(data.shareUrl, data.title);
} else {
this.$Message.error("获取数据失败");
}
});
this.jumpWindow(item.url, item.title);
},
getContentById(item) {
let url = "/links/getImageTextContentById";

22
src/views/screen/county-screen.vue

@ -233,6 +233,8 @@ import { Swiper, SwiperSlide } from "vue-awesome-swiper";
import * as echarts from "echarts";
import { echartsFocus, echartsClear } from "@/utils/autoEcharts";
import CommonModal from "@/views/common-components/common-modal.vue";
import axios from "axios";
export default {
name: "CountyScreen",
components: {
@ -370,6 +372,14 @@ export default {
menuItem: "媒体融合",
routerPath: "/new-media",
},
{
menuItem: "三江翠屏",
routerPath: "/mediaBigScreen",
},
{
menuItem: "人人通",
routerPath: "/rrt-screen",
},
],
},
{
@ -566,8 +576,8 @@ export default {
},
methods: {
jumpSystem(item) {
this.currentMenu = item
this.appState = true
this.currentMenu = item;
this.appState = true;
},
//
initDataInfo(type, callback) {
@ -1035,7 +1045,7 @@ export default {
echartsFocus(myChart, xdata.length);
},
toMenu(index) {
let item = this.currentMenu.children[index]
let item = this.currentMenu.children[index];
if (item.routerPath && !item.isShowTwon) {
this.$router.push(item.routerPath);
} else if (item.isShowTwon) {
@ -1064,7 +1074,7 @@ export default {
}
this.townModal = true;
} else if (item.url) {
window.open(item.url)
window.open(item.url);
}
},
goTown() {
@ -1105,8 +1115,8 @@ export default {
});
return;
}
if (item.areaName != "红岩村") {
this.$message.info("除红岩村,其余尚未建设!");
if (item.areaName != "高桥村") {
this.$message.info("除高桥村,其余尚未建设!");
return;
}
if (this.currentType == "village") {

3
src/views/screen/cultural-center.vue

@ -93,7 +93,7 @@
<div class="databox" @click="openLatestNews($event)">
<vueSeamlessScroll :data="queryContentInfoList" :class-option="activityOption"
class="scrollBox"
style="font-size: 18px;color: #fff;padding: 0 20px;box-sizing: border-box">
style="font-size: 18px;color: #fff;padding: 0 20px;box-sizing: border-box;width: 100%;">
<div class="activityItem"
style="display: flex;overflow: hidden;gap: 15px;margin-bottom: 10px"
v-for="(item, index) in queryContentInfoList" :key="index" :data-index="index"
@ -1116,7 +1116,6 @@ export default {
.title-box-samll {
width: 100%;
padding-right: 12px;
margin-left: 12px;
}
.zixun_list_content {

2
src/views/screen/culture-place.vue

@ -528,7 +528,7 @@ export default {
align-items: center;
.main-menu {
.content-pub-style(439px, 872px);
.content-pub-style(100%, calc(100% - 44px));
.tree-box {
height: 100%;

2
src/views/screen/emergency-extend.vue

@ -61,7 +61,7 @@
</vue-seamless-scroll>
</div>
<div class="right">
<div class="title-box-680" style="width: 600px">
<div class="title-box-680" style="width: 550px">
<span>预警信息</span>
</div>
<div class="content-info">

6
src/views/screen/emergency-screen.vue

@ -1030,7 +1030,7 @@ export default {
align-items: center;
.databox {
.content-pub-style(439px, 252px);
.content-pub-style(100%, calc(100% - 44px));
display: flex;
padding-top: 20px;
flex-direction: column;
@ -1046,7 +1046,7 @@ export default {
align-items: center;
.databox {
.content-pub-style(439px, 252px);
.content-pub-style(100%, calc(100% - 44px));
display: flex;
padding-top: 20px;
flex-direction: column;
@ -1062,7 +1062,7 @@ export default {
align-items: center;
.databox {
.content-pub-style(439px, 272px);
.content-pub-style(100%, calc(100% - 44px));
display: flex;
flex-direction: column;
align-items: center;

12
src/views/screen/gov-service.vue

@ -769,7 +769,7 @@ export default {
z-index: 99;
.databox {
.content-pub-style(761px, 176px);
.content-pub-style(100%, calc(100% - 44px));
padding: 20px;
display: flex;
@ -830,7 +830,7 @@ export default {
align-items: center;
.databox {
.content-pub-style(761px, 304px);
.content-pub-style(100%, calc(100% - 44px));
padding: 20px;
display: flex;
justify-content: space-between;
@ -912,7 +912,7 @@ export default {
flex-direction: column;
align-items: center;
.databox {
.content-pub-style(761px, 272px);
.content-pub-style(100%, calc(100% - 44px));
display: flex;
flex-direction: column;
align-items: center;
@ -983,7 +983,7 @@ export default {
align-items: center;
.databox {
.content-pub-style(991px, 534px);
.content-pub-style(100%, calc(100% - 44px));
padding: 20px;
display: flex;
@ -1236,7 +1236,7 @@ export default {
flex-direction: column;
align-items: center;
.databox {
.content-pub-style(663px, 272px);
.content-pub-style(100%, calc(100% - 44px));
display: flex;
justify-content: center;
align-items: center;
@ -1362,7 +1362,7 @@ export default {
justify-content: space-between;
align-items: center;
.databox {
.content-pub-style(291px, 272px);
.content-pub-style(100%, calc(100% - 44px));
display: flex;
justify-content: center;
align-items: center;

237
src/views/screen/media-screen.vue

@ -16,7 +16,9 @@
<div class="box-icon-text">
<!-- 右边标题 -->
<div class="left-title">
<span class="title-text">{{ item.columnName }}</span>
<span class="title-text">{{
item.columnName
}}</span>
</div>
</div>
</div>
@ -66,34 +68,75 @@ import Content from "./components/mediaBigScreen/content";
export default {
data() {
return {
title: "媒体融合",
title: "三江翠屏",
flog: 0,
dataFilter: {
page: 1,
pageSize: 20,
total: 0,
},
tagTitle: [],
tagTitle: [
{
columnName: "翠屏",
columnId: "3f7adceb-fcf9-4adb-956d-7987b42cd10f",
},
{
columnName: "部门动态",
columnId: "16653738-7af1-45d3-b6a3-ab13c49b2760",
},
{
columnName: "电视新闻",
columnId: "9d3fe8a8-a994-475e-981c-aac2bce70c9b",
},
{
columnName: "微视频",
columnId: "bdb2782e-eaba-4bd9-9f1e-09d85e32c73d",
},
{
columnName: "镇村动态",
columnId: "28009c03-4766-40eb-b86d-fe09bb11ac21",
},
{
columnName: "法治翠屏",
columnId: "1d15515f-e7d5-4efd-bcdb-12d65104c14d",
},
{
columnName: "医保动态",
columnId: "972136f0-172f-436e-9fa9-332ea58fa3d4",
},
{
columnName: "办事指南",
columnId: "cd775f6e-d6f5-4b10-a78f-80042e0aa6de",
},
{
columnName: "医保政策",
columnId: "a914aa8c-27b9-4ff3-ba83-54811b41fe0b",
},
{
columnName: "直播",
columnId: "08d99eb1-b653-4386-955a-53a43c5139c3",
},
],
scrollData: [],
tenantDomainName: "",
tabJumpId: "",
loadState: false,
settingData: {},
infoState: true,
currentColumnName: ""
currentColumnName: "",
};
},
components: { MainTitle, Content, },
components: { MainTitle, Content },
mounted() {
const { calcRate, windowDraw } = useIndex(this.$refs.appRef);
calcRate();
windowDraw();
this.queryTagTitle();
this.onClick(this.tagTitle[0], 0);
},
created() {},
methods: {
openInfo (data) {
this.infoState = data
openInfo(data) {
this.infoState = data;
},
//
// tag
@ -103,137 +146,29 @@ export default {
this.flog = index;
this.dataFilter.page = 1;
this.dataFilter.total = 0;
this.tabJumpId = item.columnId
this.infoState = true
this.currentColumnName = item.columnName
if (item.columnName == "电视直播") {
this.queryTvLiveList()
return
}
if (item.columnName == "综合广播") {
this.queryGdList()
return
}
if (item.columnName == "电视新闻") {
this.queryTvList()
return
}
this.tabJumpId = item.columnId;
this.infoState = true;
this.currentColumnName = item.columnName;
this.queryScrollDataList(item);
},
//
queryTvLiveList () {
let url = "/links/listLiveRoom";
let params = {
page: this.dataFilter.page - 1,
};
this.$http.post(url, this.common.request(params)).then((res) => {
if (res && res.data.code >= 200 && res.data.code < 400) {
this.loadState = false;
let data = res.data.data.list
this.scrollData = data.map((item) => {
item.img = item.imgUrl
item.contentType = "tvLive"
return item
})
if (res.data.data.total) {
this.dataFilter.total = Number(res.data.data.total);
}
} else {
this.$Message.error("获取数据失败");
}
});
},
// 广
queryGdList () {
let url = "/links/getBroadcastInfoPage";
let params = {
page: this.dataFilter.page - 1,
};
this.$http.post(url, this.common.request(params)).then((res) => {
if (res && res.data.code >= 200 && res.data.code < 400) {
this.loadState = false;
this.loadState = false;
this.scrollData = res.data.data.contentList;
this.scrollData.forEach((item) => {
if (item.imgUrl) {
item.img = item.imgUrl;
}
});
if (res.data.data.total) {
this.dataFilter.total = Number(res.data.data.total);
}
} else {
this.$Message.error("获取数据失败");
}
});
},
//
queryTvList () {
let url = "/links/getTVInfoPage";
let params = {
page: this.dataFilter.page - 1,
};
this.$http.post(url, this.common.request(params)).then((res) => {
if (res && res.data.code >= 200 && res.data.code < 400) {
this.loadState = false;
this.loadState = false;
this.scrollData = res.data.data.contentList;
this.scrollData.forEach((item) => {
if (item.imgUrl) {
item.img = item.imgUrl;
}
});
if (res.data.data.total) {
this.dataFilter.total = Number(res.data.data.total);
}
} else {
this.$Message.error("获取数据失败");
}
});
},
queryTagTitle() {
this.$http
.post(
"links/listMemberSubscribe",
this.common.request({})
)
.then((res) => {
if (res && res.data.code >= 200 && res.data.code < 400) {
let data = res.data.data.array;
if (data.length > 0) {
this.tagTitle = data
this.tagTitle.push(...[{columnName: "电视直播"}, {columnName: "综合广播"}, {columnName: "电视新闻"},])
}
this.onClick(this.tagTitle[0], 0);
} else {
this.$Message.error("获取数据失败");
}
});
},
//
queryScrollDataList (item) {
let url = "/links/getColumnInfoPage";
queryScrollDataList(item) {
let url = "/convergenceMedia/selectByAppSpecial";
let params = {
jumpId: item.columnId,
page: this.dataFilter.page - 1,
appInfoId: 516,
columnId: item.columnId,
pageNum: this.dataFilter.page - 1,
pageSize: 10,
url: "http://hongqi.wengegroup.com:9001/newNews/getNewsColumnData",
userId: "",
};
this.$http.post(url, this.common.request(params)).then((res) => {
if (res && res.data.code >= 200 && res.data.code < 400) {
console.log(res.data.data);
this.loadState = false;
this.scrollData = res.data.data.contentList;
this.scrollData.forEach((item) => {
if (item.imgList.length > 0) {
item.img = item.imgList[0].url;
}
});
if (res.data.data.total) {
this.dataFilter.total = Number(res.data.data.total);
this.scrollData = res.data.data[0].list;
if (res.data.data[0].total) {
this.dataFilter.total = res.data.data[0].total
}
} else {
this.$Message.error("获取数据失败");
@ -241,26 +176,24 @@ export default {
});
},
//
queryPageList () {
this.scrollData = []
this.loadState = true
let url = "/links/getColumnInfoPage";
queryPageList() {
this.scrollData = [];
this.loadState = true;
let url = "/convergenceMedia/selectByAppSpecial";
let params = {
jumpId: this.tabJumpId,
page: this.dataFilter.page - 1,
appInfoId: 516,
columnId: this.tabJumpId,
pageNum: this.dataFilter.page - 1,
pageSize: 10,
url: "http://hongqi.wengegroup.com:9001/newNews/getNewsColumnData",
userId: "",
};
this.$http.post(url, this.common.request(params)).then((res) => {
if (res && res.data.code >= 200 && res.data.code < 400) {
console.log(res.data.data);
this.loadState = false;
this.scrollData = res.data.data.contentList;
this.scrollData.forEach((item) => {
if (item.imgList.length > 0) {
item.img = item.imgList[0].url;
}
});
if (res.data.data.total) {
this.dataFilter.total = Number(res.data.data.total);
this.scrollData = res.data.data[0].list;
if (res.data.data[0].total) {
this.dataFilter.total = res.data.data[0].total
}
} else {
this.$Message.error("获取数据失败");
@ -271,22 +204,8 @@ export default {
* @description 分页更换事件回调
*/
pageChange(p) {
console.log(p);
this.dataFilter.page = p;
if (this.currentColumnName == "电视直播") {
this.queryTvLiveList()
return
}
if (this.currentColumnName == "综合广播") {
this.queryGdList()
return
}
if (this.currentColumnName == "电视新闻") {
this.queryTvList()
return
}
this.queryPageList();
// this.initData();
},
},
};

8
src/views/screen/museum-center.vue

@ -172,9 +172,7 @@
<div class="videoBox">
<LivePlayer
ref="livePlayer"
:poster="
videoInfo.deviceImg || videoInfo.coverImage
"
:poster="videoInfo.coverImage"
:videoUrl="videoUrl"
fluent
:autoplay="true"
@ -317,7 +315,7 @@
</div>
<div class="databox">
<div
class="content-info"
style="width: 100%; height: 100%;"
@click="
openInfo($event, queryContentInfoList)
"
@ -435,7 +433,7 @@ export default {
},
data() {
return {
title: "叙永博物馆大数据中心",
title: "翠屏博物馆大数据中心",
imgTextModal: false,
info: {},
collectionList: [],

2
src/views/screen/person-warring.vue

@ -23,7 +23,7 @@
</div>
</div>
<div class="right">
<div class="title-box-680" style="width: 600px">
<div class="title-box-680" style="width: 100%">
<span>预警信息</span>
</div>
<div class="content-info">

10
src/views/screen/rrt-home.vue

@ -86,7 +86,7 @@
</div>
<div class="center-bottom-box">
<div style="width: 49%">
<div class="title-box-samll">
<div class="title-box-samll" style="width: 100%;">
<span>活跃用户数</span>
</div>
<div class="news-content-box" style="height: 300px">
@ -97,7 +97,7 @@
</div>
</div>
<div style="width: 49%">
<div class="title-box-samll">
<div class="title-box-samll" style="width: 100%;">
<span>喜爱节目排行</span>
</div>
<div class="news-content-box" style="height: 300px">
@ -184,6 +184,8 @@
</div>
</div>
<div class="page-bottom-bg"></div>
<div class="page-left-bg"></div>
<div class="page-right-bg"></div>
<commonModal
v-model="newsModal"
:title="newsInfoItem.title"
@ -1033,7 +1035,7 @@ export default {
height: 920px;
position: absolute;
top: 100px;
padding: 0px 20px 20px 20px;
padding: 0px 30px 20px 30px;
display: flex;
flex-direction: row;
justify-content: space-between;
@ -1147,7 +1149,7 @@ export default {
.news-content-box {
width: 100%;
padding: 0 10px;
.content-pub-style(calc(458px - 13px), calc(100% - 42px));
.content-pub-style(100%, calc(100% - 44px));
overflow: hidden;
.news-content-item {

2
src/views/screen/video-structuring.vue

@ -1019,7 +1019,7 @@ export default {
height: 30%;
.content-info {
.content-pub-style(100%, calc(100% - 42px));
.content-pub-style(100%, calc(100% - 44px));
color: #ffffff;
.new-alarm-box {

Loading…
Cancel
Save