提交 c7c929fa authored 作者: 龙菲's avatar 龙菲

完善四渡赤水

上级 41cdcd6e
差异被折叠。
差异被折叠。
...@@ -96,11 +96,23 @@ ...@@ -96,11 +96,23 @@
"data": [ "data": [
{ {
"title": "苟坝会议", "title": "苟坝会议",
"txt": "1935年3月12日,中央政治局扩大会议在苟坝召开,分析了中央红军面临的局势,成立了由毛泽东、周恩来、王稼祥组成的新“三人团”,全权指挥军事,并对政治局负责。苟坝会议,从组织上进一步巩固和保证了毛泽东在党内、军内的领导地位。" "txt": "1935年3月12日,中央政治局扩大会议在苟坝召开,分析了中央红军面临的局势,成立了由毛泽东、周恩来、王稼祥组成的新“三人团”,全权指挥军事,并对政治局负责。苟坝会议,从组织上进一步巩固和保证了毛泽东在党内、军内的领导地位。",
"imgs": [
{
"url": "1.jpg",
"name": "苟坝会议会址"
}
]
}, },
{ {
"title": "鲁班场战斗", "title": "鲁班场战斗",
"txt": "苟坝会议后,中革军委决定向西南转移,调动周浑元、吴奇伟纵队。1935年3月15日,鲁班场战斗打响,红军向据守在鲁班场的国民党中央军周浑元纵队发起猛烈进攻。由于敌军依托坚固的碉堡工事拼命抵抗,且有飞机助战,红军激战一整天,取得了局部胜利,但受周浑元部以密集火炮压迫,不能扩大战果,双方成对峙状态。红军于当晚20时,撤出战斗,向茅台及其附近的地区转移。" "txt": "苟坝会议后,中革军委决定向西南转移,调动周浑元、吴奇伟纵队。1935年3月15日,鲁班场战斗打响,红军向据守在鲁班场的国民党中央军周浑元纵队发起猛烈进攻。由于敌军依托坚固的碉堡工事拼命抵抗,且有飞机助战,红军激战一整天,取得了局部胜利,但受周浑元部以密集火炮压迫,不能扩大战果,双方成对峙状态。红军于当晚20时,撤出战斗,向茅台及其附近的地区转移。",
"imgs": [
{
"url": "2.jpg",
"name": "鲁班场战斗遗址"
}
]
}, },
{ {
"title": "三渡赤水", "title": "三渡赤水",
...@@ -115,7 +127,13 @@ ...@@ -115,7 +127,13 @@
"data": [ "data": [
{ {
"title": "镇龙山战斗", "title": "镇龙山战斗",
"txt": "中央红军在茅台渡过赤水河以后,主力部队隐蔽在赤水河附近的山谷内集结待命,只派出一个团的兵力佯装主力,向古蔺方向前进,作出要北渡长江的态势。古蔺镇龙山的敌人突然遭到红军的猛烈进攻,纷纷溃散。只得急电上报:“红军围攻古蔺甚急,请求火速驰援。”这一行动给敌人造成红军又将北渡长江的假象。蒋介石赶忙调兵遣将部署江防。声称:剿匪成功、在此一举。" "txt": "中央红军在茅台渡过赤水河以后,主力部队隐蔽在赤水河附近的山谷内集结待命,只派出一个团的兵力佯装主力,向古蔺方向前进,作出要北渡长江的态势。古蔺镇龙山的敌人突然遭到红军的猛烈进攻,纷纷溃散。只得急电上报:“红军围攻古蔺甚急,请求火速驰援。”这一行动给敌人造成红军又将北渡长江的假象。蒋介石赶忙调兵遣将部署江防。声称:剿匪成功、在此一举。",
"imgs": [
{
"url": "1.png",
"name": "鲁班场战斗遗址"
}
]
}, },
{ {
"title": "四渡赤水", "title": "四渡赤水",
......
...@@ -18,31 +18,53 @@ ...@@ -18,31 +18,53 @@
<svg-icon :icon-class="onlyShow3d ? 'filter-s' : 'filter'"></svg-icon> <svg-icon :icon-class="onlyShow3d ? 'filter-s' : 'filter'"></svg-icon>
</div> --> </div> -->
<div class="search-item"> <div class="search-item">
<input type="text" v-model="keyword" placeholder="展览名称" @keyup.enter="search" /> <input
type="text"
v-model="keyword"
placeholder="展览名称"
@keyup.enter="search"
/>
<i class="el-icon-search" @click="search"></i> <i class="el-icon-search" @click="search"></i>
</div> </div>
</div> </div>
</div> </div>
<el-row class="type-group"> <el-row class="type-group">
<el-col :class="{ 'type-item': true, active: item.value == currentType }" v-for="(item, index) in typeList" <el-col
:key="index" :span="3" @click.native="handleClickTypeItem(item)"> :class="{ 'type-item': true, active: item.value == currentType }"
v-for="(item, index) in typeList"
:key="index"
:span="3"
@click.native="handleClickTypeItem(item)"
>
{{ item.label }} {{ item.label }}
</el-col> </el-col>
</el-row> </el-row>
<div class="content-wrapper"> <div class="content-wrapper">
<div class="content"> <div class="content">
<el-row :gutter="40" class="cr-list"> <el-row :gutter="40" class="cr-list">
<el-col :span="8" class="cr-item" @click.native="handleClick(item)" @mouseenter.native="handleEnterImg(item)" <el-col
@mouseleave.native="handleLeaveImg(item)" v-for="(item, index) in list.records" :key="index"> :span="8"
class="cr-item"
<div class="container wow animate__animated animate__fadeInUp" v-if="item.status == 1"> @click.native="handleClick(item)"
@mouseenter.native="handleEnterImg(item)"
@mouseleave.native="handleLeaveImg(item)"
v-for="(item, index) in list.records"
:key="index"
>
<div
class="container wow animate__animated animate__fadeInUp"
v-if="item.status == 1"
>
<div class="boutique-tag" v-if="isBoutique(item)"></div> <div class="boutique-tag" v-if="isBoutique(item)"></div>
<div class="img-container"> <div class="img-container">
<img :src=" <img
$getFullUrl(item.faceImagePressUrl || item.faceImageUrl) :src="
" width="100%" class="face-image" lazy /> $getFullUrl(item.faceImagePressUrl || item.faceImageUrl)
"
width="100%"
class="face-image"
lazy
/>
</div> </div>
<div class="desc"> <div class="desc">
<div class="name">{{ item.title }}</div> <div class="name">{{ item.title }}</div>
...@@ -62,11 +84,21 @@ ...@@ -62,11 +84,21 @@
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-empty description="暂无数据" v-if="list.records.length == 0"></el-empty> <el-empty
description="暂无数据"
v-if="list.records.length == 0"
></el-empty>
<div class="pagination-container"> <div class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" <el-pagination
:current-page="Number(list.current)" :page-sizes="[20, 40, 100]" :page-size="Number(list.size)" @size-change="handleSizeChange"
layout="total, prev, pager, next" :total="Number(list.total)" class="pagination"> @current-change="handleCurrentChange"
:current-page="Number(list.current)"
:page-sizes="[20, 40, 100]"
:page-size="Number(list.size)"
layout="total, prev, pager, next"
:total="Number(list.total)"
class="pagination"
>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
...@@ -102,36 +134,42 @@ export default { ...@@ -102,36 +134,42 @@ export default {
regionCode: [], regionCode: [],
regionTree: [], regionTree: [],
currentImg: null, currentImg: null,
typeList: [{ typeList: [
label: '全部', {
value: '' label: "全部",
}], value: "",
currentType: '', },
boutiqueTitles: ['神秘贵州', '四渡赤水出奇兵', '记忆与传承', '夜郎国的疑问'] ],
currentType: "",
boutiqueTitles: [
"神秘贵州",
"四渡赤水出奇兵",
"记忆与传承",
"夜郎国的疑问",
],
}; };
}, },
computed: { computed: {
...mapGetters(["dicts"]), ...mapGetters(["dicts"]),
isBoutique(item) { isBoutique(item) {
return (item) => { return (item) => {
return this.boutiqueTitles.indexOf(item.title) != -1 return this.boutiqueTitles.indexOf(item.title) != -1;
} };
} },
}, },
async created() { async created() {
// await this.$store.dispatch("dict/getDictList", ["displayType"]); // await this.$store.dispatch("dict/getDictList", ["displayType"]);
// 获取已经存在展览的字典 // 获取已经存在展览的字典
let res = await getDisplayExistDict() let res = await getDisplayExistDict();
this.typeList = [...this.typeList, ...res.data.typeList] this.typeList = [...this.typeList, ...res.data.typeList];
}, },
mounted() { mounted() {
let paramsType = this.$route.query.type let paramsType = this.$route.query.type;
if (paramsType) { if (paramsType) {
this.currentType = paramsType this.currentType = paramsType;
} }
this.loadData(); this.loadData();
this.loadRegionTree(); this.loadRegionTree();
}, },
// watch: { // watch: {
// keyword(value) { // keyword(value) {
...@@ -150,7 +188,7 @@ export default { ...@@ -150,7 +188,7 @@ export default {
title: this.keyword, title: this.keyword,
type: this.currentType, type: this.currentType,
regionCode: this.regionCode[this.regionCode.length - 1], regionCode: this.regionCode[this.regionCode.length - 1],
status: '1' status: "1",
}; };
let res = await getList(params); let res = await getList(params);
if (res.code == 0) { if (res.code == 0) {
...@@ -170,7 +208,7 @@ export default { ...@@ -170,7 +208,7 @@ export default {
}, },
handleClickTypeItem(item) { handleClickTypeItem(item) {
this.currentType = item.value this.currentType = item.value;
// debugger // debugger
// this.type = value; // this.type = value;
this.list.current = 1; this.list.current = 1;
...@@ -178,7 +216,7 @@ export default { ...@@ -178,7 +216,7 @@ export default {
}, },
handleClick(item) { handleClick(item) {
let index = this.boutiqueTitles.indexOf(item.title) let index = this.boutiqueTitles.indexOf(item.title);
// debugger // debugger
let newPage; let newPage;
if (index == -1) { if (index == -1) {
...@@ -186,14 +224,14 @@ export default { ...@@ -186,14 +224,14 @@ export default {
newPage = this.$router.resolve({ newPage = this.$router.resolve({
path: `display/${themeType}/${exhibitionId}`, path: `display/${themeType}/${exhibitionId}`,
}); });
} else { } else {
newPage = this.$router.resolve({ newPage = this.$router.resolve({
path: `/boutique/${item.title}`, path: `/boutique/${item.title}`,
}); });
} }
window.open(newPage.href, "_blank"); setTimeout(() => {
window.open(newPage.href, "_blank");
}, 300);
}, },
defImg(e) { defImg(e) {
e.target.src = require("@/assets/404_images/no-pic.png"); e.target.src = require("@/assets/404_images/no-pic.png");
...@@ -318,7 +356,8 @@ $text-indent: 16px; ...@@ -318,7 +356,8 @@ $text-indent: 16px;
margin-right: 20px; margin-right: 20px;
&:hover { &:hover {
-webkit-box-reflect: below 2px linear-gradient(transparent, rgba(0, 0, 0, 0.3)); -webkit-box-reflect: below 2px
linear-gradient(transparent, rgba(0, 0, 0, 0.3));
} }
} }
...@@ -345,9 +384,9 @@ $text-indent: 16px; ...@@ -345,9 +384,9 @@ $text-indent: 16px;
} }
&:hover { &:hover {
-webkit-box-reflect: below 2px linear-gradient(transparent, rgba(0, 0, 0, 0.5)); -webkit-box-reflect: below 2px
linear-gradient(transparent, rgba(0, 0, 0, 0.5));
} }
} }
.search-button { .search-button {
...@@ -364,7 +403,8 @@ $text-indent: 16px; ...@@ -364,7 +403,8 @@ $text-indent: 16px;
transition: all 0.2s ease; transition: all 0.2s ease;
&:hover { &:hover {
-webkit-box-reflect: below 2px linear-gradient(transparent, rgba(0, 0, 0, 0.3)); -webkit-box-reflect: below 2px
linear-gradient(transparent, rgba(0, 0, 0, 0.3));
} }
.svg-icon { .svg-icon {
...@@ -396,7 +436,6 @@ $text-indent: 16px; ...@@ -396,7 +436,6 @@ $text-indent: 16px;
background: $themeSecondaryColor; background: $themeSecondaryColor;
color: #fff; color: #fff;
} }
} }
.content-wrapper { .content-wrapper {
...@@ -448,7 +487,6 @@ $text-indent: 16px; ...@@ -448,7 +487,6 @@ $text-indent: 16px;
} }
.img-container { .img-container {
.deco-left-top, .deco-left-top,
.deco-left-bottom, .deco-left-bottom,
.deco-right-top, .deco-right-top,
...@@ -606,7 +644,6 @@ $text-indent: 16px; ...@@ -606,7 +644,6 @@ $text-indent: 16px;
} }
::v-deep .el-pagination { ::v-deep .el-pagination {
.btn-prev, .btn-prev,
.btn-next { .btn-next {
background: transparent; background: transparent;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论