Browse Source

首页组件

dev
jiangyy 4 years ago
parent
commit
d970a081aa
  1. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/1.png
  2. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/2.png
  3. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/3.png
  4. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/arrow_top_white_solid.png
  5. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/pavilion.png
  6. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/rank1.png
  7. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/rank2.png
  8. BIN
      epmet-oper-web/src/assets/img/modules/wx-mini/index-set/rank3.png
  9. 160
      epmet-oper-web/src/assets/scss/modules/wx-mini/group.scss
  10. 212
      epmet-oper-web/src/assets/scss/modules/wx-mini/heart.scss
  11. 278
      epmet-oper-web/src/assets/scss/modules/wx-mini/voice.scss
  12. 7
      epmet-oper-web/src/components/wx-index/cpt-item.vue
  13. 53
      epmet-oper-web/src/components/wx-index/group.vue
  14. 121
      epmet-oper-web/src/components/wx-index/heart.vue
  15. 143
      epmet-oper-web/src/components/wx-index/voice.vue
  16. 4
      epmet-oper-web/src/views/modules/productConfig/homeCustom/homepage.vue
  17. 13
      epmet-oper-web/src/views/modules/workPc/guidance/DetailForm.vue

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/arrow_top_white_solid.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/pavilion.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 B

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/rank1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/rank2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
epmet-oper-web/src/assets/img/modules/wx-mini/index-set/rank3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

160
epmet-oper-web/src/assets/scss/modules/wx-mini/group.scss

@ -1,6 +1,6 @@
@import "@/assets/scss/c/config.scss"; @import '@/assets/scss/c/config.scss';
@import "@/assets/scss/c/function.scss"; @import '@/assets/scss/c/function.scss';
@import "@/assets/scss/c/anime.scss"; @import '@/assets/scss/c/anime.scss';
//楼院小组-推荐小组 //楼院小组-推荐小组
.group { .group {
@ -56,7 +56,6 @@
height: 42px; height: 42px;
border-radius: 100%; border-radius: 100%;
} }
} }
.no { .no {
@ -65,8 +64,8 @@
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
font-style: italic; font-style: italic;
color: #FFFFFF; color: #ffffff;
background: linear-gradient(0deg, #F95C2C 0%, #E3271C 100%); background: linear-gradient(0deg, #f95c2c 0%, #e3271c 100%);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
@ -100,8 +99,8 @@
font-size: 11px; font-size: 11px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #F67F45; color: #f67f45;
border: 1px solid #F67F45; border: 1px solid #f67f45;
border-radius: 10px; border-radius: 10px;
} }
} }
@ -126,13 +125,156 @@
font-size: 11px; font-size: 11px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #E60000; color: #e60000;
line-height: 42px; line-height: 42px;
} }
} }
} }
}
}
}
.m-group {
position: relative;
margin: 0 auto;
margin-bottom: 5px;
padding-bottom: 12px;
background-color: #fff;
.cpt-title {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
// border-bottom: 1px solid #e7eeee;
line-height: 15px;
margin-left: 19px;
.cpt-title-t {
position: relative;
margin: 5px 0 0;
padding: 7px 23px 0;
font-size: 15px;
line-height: 20px;
font-family: Source Han Serif SC;
font-weight: 800;
color: #000000;
&::before {
content: '';
position: absolute;
top: 7px;
left: 0;
width: 5px;
height: 20px;
background: rgba(230, 0, 0, 1);
border-radius: 1px;
}
}
}
.wrap {
padding: 14px 0 0 0;
width: 100%;
overflow-y: scroll;
overflow-x: visible;
// overflow: hidden;
&::-webkit-scrollbar {
width: 0;
height: 0;
color: transparent;
}
.list {
width: 1000px;
// overflow: hidden;
margin-left: 7px;
.item {
width: 122px;
height: 169px;
background: #ffffff;
border-radius: 6px;
margin-left: 10px;
position: relative;
float: left;
box-sizing: border-box;
padding: 15px 12px;
box-shadow: 0px 2px 15px 0px rgba(63, 63, 63, 0.1);
text-align: center;
.item-no {
position: absolute;
width: 24px;
height: 24px;
top: 6px;
left: 50px;
img {
width: 24px;
height: 24px;
border-radius: 100%;
}
z-index: 100;
}
.item-right {
float: right;
width: 120px;
}
.item-operate {
clear: both;
margin-top: 5px;
display: flex;
justify-content: space-around;
}
.item-avatar {
justify-content: center;
overflow: hidden;
position: relative;
img {
width: 60px;
height: 60px;
border-radius: 100%;
}
}
.item-name {
@include toe;
margin-top: 11px;
font-size: 13px;
font-family: Source Han Serif SC;
font-weight: 400;
color: #000000;
}
.item-info {
@include toe;
font-size: 11px;
font-family: Source Han Sans SC;
font-weight: 300;
color: #bdbdbd;
margin-top: 7px;
}
.item-btn-view {
display: flex;
margin-top: 10px;
justify-content: center;
.item-btn {
width: 42px;
height: 20px;
background: #fff6ed;
border-radius: 3px;
span {
font-size: 11px;
font-family: Source Han Sans SC;
font-weight: 300;
line-height: 20px;
color: #828282;
}
}
}
}
} }
} }
} }

212
epmet-oper-web/src/assets/scss/modules/wx-mini/heart.scss

@ -1,81 +1,54 @@
@import "@/assets/scss/c/config.scss"; @import '@/assets/scss/c/config.scss';
@import "@/assets/scss/c/function.scss"; @import '@/assets/scss/c/function.scss';
@import "@/assets/scss/c/anime.scss"; @import '@/assets/scss/c/anime.scss';
// 爱心互助-banner // 爱心互助-banner
.heart_banner { .mw-cpt-banner {
position: relative; // margin-top: 10px;
margin-top: 10px; width: 100%;
padding: 10px 10px 15px 10px;
background-color: rgba(233, 233, 233, 0.26); background-color: #ffffff;
.subbanner {
.d-cpt-subwrap {
position: relative; position: relative;
height: 160px;
border-radius: 10px;
overflow: hidden; overflow: hidden;
> img { > img {
display: block;
width: 100%; width: 100%;
height: 160px; height: 59px;
} }
.d-title {
margin-top:1px;
position: absolute;
border-radius: 5px;
top: 0;
right: 0;
width:230px;
padding: 0 10px;
background: rgb(255, 255, 255);
overflow: hidden;
.left-log {
vertical-align: middle;
z-index: 10;
width: 15px;
margin-bottom:3px;
}
.s-title { .s-title {
line-height: 21px; position: absolute;
margin-left:4px; top: 10px;
margin-bottom:3px; right: 34px;
font-size: 12px; font-size: 13px;
font-family: PingFang SC; font-family: Source Han Serif SC;
font-weight: 500; font-weight: 800;
color: rgb(0, 0, 0); color: #000000;
vertical-align: middle;
} }
.d-group-no { .d-group-no {
position: absolute; position: absolute;
right: 10px; right: 53px;
top: 3px; top: 33px;
width: 50px; width: 53px;
height: 28px; height: 18px;
vertical-align: middle; background: #f2994a;
border-radius: 3px;
text-align: center; text-align: center;
img { > span {
position: absolute; font-size: 11px;
z-index: 10; font-family: Source Han Sans SC;
left: 0; font-weight: 400;
top: 0; color: #ffffff;
width: 50px;
}
span {
position: relative;
z-index: 20;
vertical-align: middle;
font-size: 7px;
color: rgba(255, 255, 255, 1);
}
} }
} }
} }
} }
// 爱心互助最新活动 // 爱心互助最新活动
.heart_news { .heart_news {
position: relative; position: relative;
@ -98,7 +71,7 @@
border-bottom: 1px solid #e7eeee; border-bottom: 1px solid #e7eeee;
&::before { &::before {
content: ""; content: '';
position: absolute; position: absolute;
top: 7px; top: 7px;
left: 0; left: 0;
@ -235,8 +208,129 @@
} }
} }
.m-news {
position: relative;
margin: 0 auto;
margin-top: 5px;
background-color: #fff;
.cpt-title {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
// border-bottom: 1px solid #e7eeee;
line-height: 15px;
margin-left: 19px;
.cpt-title-t {
position: relative;
margin: 5px 0 0;
padding: 7px 11px 0;
font-size: 15px;
line-height: 20px;
font-family: Source Han Serif SC;
font-weight: 800;
color: #000000;
&::before {
content: '';
position: absolute;
top: 7px;
left: 0;
width: 4px;
height: 20px;
background: rgba(230, 0, 0, 1);
border-radius: 1px;
}
}
}
.list {
padding: 0 19px 0 20px;
.item {
position: relative;
padding: 16px 0;
min-height: 127px;
border-bottom: 1px solid #eee;
display: flex;
&:first-child {
padding-top: 10px;
}
.img {
position: relative;
.d-news-img-state {
position: absolute;
font-family: PingFang SC;
padding: 2px 7px;
font-weight: 400;
font-size: 12px;
left: 0;
top: 0;
background-color: rgba(170, 170, 170, 0.767);
color: rgb(255, 255, 255);
border-radius: 0 0 5px 0;
}
> img {
width: 94px;
height: 127px;
}
}
.info {
margin-left: 11px;
display: flex;
flex-direction: column;
.d-news-title {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
position: relative;
margin: 0 0 5px;
font-size: 16px;
font-family: Source Han Serif SC;
font-weight: 400;
color: #000000;
line-height: 24px;
}
// .d-news-time {
// overflow: hidden;
// white-space: nowrap;
// text-overflow: ellipsis;
// }
.d-news-else {
margin-top: 11px;
font-size: 12px;
font-family: Source Han Sans SC;
font-weight: 300;
color: #bdbdbd;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.d-news-state {
margin-top: 15px;
font-size: 14px;
font-family: Source Han Serif SC;
color: #4f4f4f;
font-weight: 500;
.d-news-state-limit {
font-weight: 800;
}
.d-news-state-act {
color: #e50f00;
}
}
}
}
}
}

278
epmet-oper-web/src/assets/scss/modules/wx-mini/voice.scss

@ -1,6 +1,6 @@
@import "@/assets/scss/c/config.scss"; @import '@/assets/scss/c/config.scss';
@import "@/assets/scss/c/function.scss"; @import '@/assets/scss/c/function.scss';
@import "@/assets/scss/c/anime.scss"; @import '@/assets/scss/c/anime.scss';
// 党建声音-轮播新闻 // 党建声音-轮播新闻
.voice_swiper { .voice_swiper {
@ -75,7 +75,7 @@
.tab_item_name { .tab_item_name {
padding: 0 10px; padding: 0 10px;
height: 25px; height: 25px;
background: #CCCCCC; background: #cccccc;
opacity: 0.8; opacity: 0.8;
border-radius: 6px; border-radius: 6px;
text-align: center; text-align: center;
@ -86,16 +86,15 @@
line-height: 25px; line-height: 25px;
} }
.tab_item_focus { .tab_item_focus {
background: #D32104; background: #d32104;
font-size: 13px; font-size: 13px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #FFFFFF; color: #ffffff;
line-height: 25px; line-height: 25px;
opacity: 1; opacity: 1;
} }
} }
} }
.d-cpt-title { .d-cpt-title {
@ -110,7 +109,7 @@
border-bottom: 1px solid #e7eeee; border-bottom: 1px solid #e7eeee;
&::before { &::before {
content: ""; content: '';
position: absolute; position: absolute;
top: 7px; top: 7px;
left: 0; left: 0;
@ -172,9 +171,7 @@
} }
} }
} }
} }
} }
} }
@ -243,7 +240,7 @@
font-size: 13px; font-size: 13px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #4896DE; color: #4896de;
line-height: 24px; line-height: 24px;
.more_content { .more_content {
@ -252,7 +249,266 @@
} }
} }
.voice_m-news {
position: relative;
margin: 0 auto;
margin-top: 5px;
background-color: #fff;
.cpt-title {
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
// border-bottom: 1px solid #e7eeee;
line-height: 30px;
margin-left: 16px;
.cpt-title-t {
position: relative;
margin: 5px 0 0;
padding: 7px 12px 0;
font-size: 15px;
line-height: 20px;
font-family: Source Han Serif SC;
font-weight: 800;
color: #000000;
&::before {
content: '';
position: absolute;
top: 7px;
left: 0;
width: 4px;
height: 20px;
background: rgba(230, 0, 0, 1);
border-radius: 1px;
}
}
}
.hint {
text-align: center;
line-height: 75px;
font-size: 12px;
color: #999;
}
.tags {
width: 100%;
margin-top: 20px;
overflow-y: scroll;
overflow-x: visible;
// overflow: hidden;
&::-webkit-scrollbar {
width: 0;
height: 0;
color: transparent;
}
display: flex;
// width:10000px;
padding: 0 8px;
.tag {
flex: none;
font-size: 16px;
font-family: Source Han Serif SC;
font-weight: 400;
color: #000000;
display: flex;
align-items: center;
// border-right: 1px solid #eee;
.item {
padding: 0 11px;
}
.line {
width: 1px;
height: 12px;
background-color: #eee;
}
&.z-on {
color: #e72418;
}
}
}
.list {
padding: 5px 19px 2px 21px;
.item {
display: flex;
justify-content: space-between;
padding: 16px 0 13px;
border-bottom: 1px solid #eee;
&:first-child {
padding-top: 8px;
}
&:last-child {
border-bottom: none;
}
.left {
// height: 63px;
flex: 1 1 auto;
display: flex;
flex-direction: column;
justify-content: space-between;
.title {
font-size: 16px;
font-family: Source Han Serif SC;
font-weight: 400;
color: #000000;
line-height: 18px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
}
.info {
// padding-bottom: 28px;
// margin-top: 30px;
font-size: 12px;
font-family: Source Han Sans SC;
font-weight: 300;
color: #bdbdbd;
display: flex;
> img {
display: inline-block;
margin-left: 14px;
width: 13px;
height: 13px;
// vertical-align: bottom;
}
.publishname_text {
margin-left: 3px;
}
}
}
.right {
flex: 0 0 128px;
> img {
width: 128px;
// height: 63px;
border-radius: 5px;
}
}
}
.item2 {
position: relative;
padding: 10px 0;
border-bottom: 1px solid #eee;
&:last-child {
border-bottom: none;
}
.title {
height: 20px;
font-size: 16px;
font-family: Source Han Serif SC;
font-weight: 400;
color: #000000;
line-height: 20px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.content {
@include toe;
margin-top: 12px;
height: 20px;
font-size: 15px;
font-family: Source Han Serif SC;
font-weight: 400;
color: #333333;
}
.info {
padding: 12px 0 5px 0;
line-height: 26px;
font-size: 12px;
font-family: Source Han Sans SC;
font-weight: 300;
color: #bdbdbd;
> img {
display: inline-block;
margin-right: 5px;
width: 22px;
height: 22px;
vertical-align: bottom;
border-radius: 100%;
}
> span {
@include toe;
display: inline-block;
max-width: 65%;
vertical-align: bottom;
}
}
}
.item3 {
position: relative;
padding: 10px 0;
border-bottom: 1px solid #eee;
&:last-child {
border-bottom: none;
}
.title {
font-size: 16px;
font-family: Source Han Serif SC;
font-weight: 400;
color: #000000;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.content {
@include toe;
margin-top: 7px;
font-size: 15px;
font-family: Source Han Serif SC;
font-weight: 400;
line-height: 20px;
}
.info {
padding: 12px 0 5px 0;
line-height: 13px;
font-size: 12px;
font-family: Source Han Sans SC;
font-weight: 300;
color: #bdbdbd;
overflow: hidden;
> img {
display: inline-block;
margin-right: 5px;
width: 13px;
height: 13px;
vertical-align: bottom;
}
> span {
@include toe;
display: inline-block;
max-width: 65%;
vertical-align: bottom;
}
}
}
}
}

7
epmet-oper-web/src/components/wx-index/cpt-item.vue

@ -13,9 +13,11 @@
v-else-if="item.componentFrontId==='resi-floatingList-mine-newMessageButton'"> v-else-if="item.componentFrontId==='resi-floatingList-mine-newMessageButton'">
<div class="d-cpt-wrap"> <div class="d-cpt-wrap">
<img v-if="item.demoData.ico" <img v-if="item.demoData.ico"
:src="item.demoData.ico"> :src="item.demoData.ico"
mode="aspectFill">
<img v-else <img v-else
src="@/assets/img/modules/wx-mini/index-set/page/msg.png"> src="@/assets/img/modules/wx-mini/index-set/page/msg.png"
mode="aspectFill">
<span>{{ item.demoData.text }}</span> <span>{{ item.demoData.text }}</span>
</div> </div>
</div> </div>
@ -87,7 +89,6 @@
<p>上移</p> <p>上移</p>
</div> </div>
<div class="d-cpt-btn" <div class="d-cpt-btn"
@click="delCpt"> @click="delCpt">
<img src="@/assets/img/modules/wx-mini/index-set/del.png"> <img src="@/assets/img/modules/wx-mini/index-set/del.png">
<p>删除</p> <p>删除</p>

53
epmet-oper-web/src/components/wx-index/group.vue

@ -5,9 +5,56 @@
@click="focusCpt"> @click="focusCpt">
<!-- 群组件 --> <!-- 群组件 -->
<div v-if="item.componentFrontId==='resi-functionList-group-recommendGroupSlider'" <div v-if="item.componentFrontId==='resi-functionList-group-recommendGroupSlider'">
class="group">
<div class="m-group">
<div class="cpt-title">
<div class="cpt-title-t">热门小组</div>
</div>
<div class="wrap">
<div class="list"> <div class="list">
<div class="item"
:key="subindex"
v-for="(subitem, subindex) in item.demoData.list">
<div class="item-no">
<img v-if=" subindex===0 "
src="@/assets/img/modules/wx-mini/index-set/1.png"
mode="aspectFill" />
<img v-if=" subindex===1 "
src="@/assets/img/modules/wx-mini/index-set/2.png"
mode="aspectFill" />
<img v-if=" subindex===2 "
src="@/assets/img/modules/wx-mini/index-set/3.png"
mode="aspectFill" />
</div>
<div class="item-avatar">
<img src="@/assets/img/modules/wx-mini/index-set/page/avatar.jpg">
</div>
<div class="item-name">{{ subitem.title }}</div>
<div class="item-info">
<span>{{ subitem.info2 }}</span>
<span> 党员{{ subitem.info3 }}</span>
</div>
<div class="item-btn-div">
<div class="item-btn">
<span>加入</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <div class="list">
<div :class="['item',{'item_margin':subindex>0}]" <div :class="['item',{'item_margin':subindex>0}]"
:key="subindex" :key="subindex"
v-for="(subitem, subindex) in item.demoData.list"> v-for="(subitem, subindex) in item.demoData.list">
@ -43,7 +90,7 @@
</div> </div>
</div> </div>
</div> </div> -->
</div> </div>
</div> </div>

121
epmet-oper-web/src/components/wx-index/heart.vue

@ -6,108 +6,111 @@
@click="focusCpt"> @click="focusCpt">
<!-- 爱心互助banner组件 --> <!-- 爱心互助banner组件 -->
<div v-if="item.componentFrontId==='resi-functionList-heart-banner'" <div v-if="item.componentFrontId==='resi-functionList-heart-banner'">
class="heart_banner"> <div class="mw-cpt-banner">
<div class="subbanner"> <div catchtap="toHeartHome"
<img v-if="item.configuration.pic" class="d-cpt-subwrap">
:src="item.configuration.pic">
<img v-if="item.configuration.url"
:src="item.configuration.url"
mode="aspectFill">
<img v-else <img v-else
src="@/assets/img/modules/wx-mini/index-set/page/heart-banner.png"> src="@/assets/img/modules/wx-mini/index-set/page/heart-banner.png"
<div class="d-title"> mode="aspectFill">
<img class="left-log"
src="@/assets/img/modules/wx-mini/index-set/heart-logo.png">
<span v-if="item.configuration.title"
class="s-title">{{ item.configuration.title }}</span>
<span v-else
class="s-title">{{ '您报名的活动即将开始' }}</span>
<div v-if="true"
class="s-title">您报名的活动即将开始</div>
<div class="d-group-no"> <div class="d-group-no">
<span>点击进入</span>
<img src="@/assets/img/modules/wx-mini/index-set/heart-back.png">
<span>{{'点击进入'}}</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- 爱心互助最新活动组件 --> <!-- 爱心互助最新活动组件 -->
<div class="heart_news" <div v-if="item.componentFrontId==='resi-functionList-heart-new'">
v-if="item.componentFrontId==='resi-functionList-heart-new'"> <div class="m-news">
<div v-if="item.configuration.title" <div class="cpt-title">
class="d-cpt-title">{{item.configuration.title}}</div> <div class="cpt-title-t">{{item.configuration.title}}</div>
<div v-else
class="d-cpt-title">{{item.configuration.title}}
<!-- <div class="more">查看更多</div> -->
</div> </div>
<div class="list"> <div class="list">
<div class="item" <div data-id=" subitem.actId "
class="item"
:key="subindex" :key="subindex"
v-for="(subitem, subindex) in item.demoData.list"> v-for="(subitem, subindex) in item.demoData.list">
<div class="img">
<img v-if="subitem.pic" <img v-if="subitem.pic"
:src="subitem.pic"> :src="subitem.pic">
<img v-else <img v-else
src="@/assets/img/modules/wx-mini/index-set/page/news-pic.png"> src="@/assets/img/modules/wx-mini/index-set/page/news-pic.png">
<div class="d-news-title">{{ subitem.title }}</div>
<div class="d-news-time">
<div class="d-news-time-title">
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span>活动时间</span>
</div>
<div class="d-news-time-item">
<span>{{ subitem.time1 }}</span>
<span>{{ subitem.time2 }}</span>
</div>
</div> </div>
<div class="d-news-adress">
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span>活动地点{{ subitem.adress }}</span>
<div class="info">
<div class="d-news-title">{{ subitem.title }}</div>
<div class="d-news-time">时间{{ subitem.time2 }}</div>
<div class="d-news-else">
<span>地点{{ subitem.adress }}</span>
</div> </div>
<div class="d-news-state"> <div class="d-news-state">
<span class="d-news-state-limit">活动名额 12</span> <span class="d-news-state-limit">活动名额 12</span>
<span class="d-news-state-act">已报名 9</span> <span class="d-news-state-act">已报名 9</span>
</div> </div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
<!-- 爱心互助历史回顾组件 --> <!-- 爱心互助历史回顾组件 -->
<div class="heart_news" <div v-if="item.componentFrontId==='resi-functionList-heart-history'">
v-if="item.componentFrontId==='resi-functionList-heart-history'"> <div class="m-news">
<div v-if="item.configuration.title" <div class="cpt-title">
class="d-cpt-title">{{item.configuration.title}}</div> <div class="cpt-title-t">{{item.configuration.title}}</div>
<div v-else
class="d-cpt-title">{{item.configuration.title}}
<!-- <div class="more">查看更多</div> -->
</div> </div>
<div class="list"> <div class="list">
<div class="item" <div data-id=" subitem.actId "
class="item"
:key="subindex" :key="subindex"
v-for="(subitem, subindex) in item.demoData.list"> v-for="(subitem, subindex) in item.demoData.list">
<div class="img">
<img v-if="subitem.pic" <img v-if="subitem.pic"
:src="subitem.pic"> :src="subitem.pic">
<img v-else <img v-else
src="@/assets/img/modules/wx-mini/index-set/page/news-pic.png"> src="@/assets/img/modules/wx-mini/index-set/page/news-pic.png">
<div class="d-news-title">{{ subitem.title }}</div>
<div class="d-news-time">
<div class="d-news-time-title">
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span>活动时间</span>
</div> </div>
<div class="d-news-time-item">
<span>{{ subitem.time1 }}</span> <div class="info">
<span>{{ subitem.time2 }}</span> <div class="d-news-title">{{ subitem.title }}</div>
<div class="d-news-time">时间{{ subitem.time2 }}</div>
<div class="d-news-else">
<span>地点{{ subitem.adress }}</span>
</div> </div>
<div class="d-news-state">
<span class="d-news-state-limit">活动名额 12</span>
<span class="d-news-state-act">已报名 9</span>
</div> </div>
<div class="d-news-adress"> </div>
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span>活动地点{{ subitem.adress }}</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -127,8 +130,12 @@ export default {
isFocused: Boolean, isFocused: Boolean,
item: Object item: Object
}, },
mounted () {
console.log(this.item)
},
methods: { methods: {
focusCpt () { focusCpt () {
this.$emit('focusCpt', this.item) this.$emit('focusCpt', this.item)
} }

143
epmet-oper-web/src/components/wx-index/voice.vue

@ -26,81 +26,146 @@
</div> </div>
<!-- 党建声音-最新发布 --> <!-- 党建声音-最新发布 -->
<div class="voice_news" <div v-else-if="item.componentFrontId==='resi-functionList-voice-newsList'">
v-else-if="item.componentFrontId==='resi-functionList-voice-newsList'"> <div class="voice_m-news">
<div class="content">
<div v-if="item.configuration.title" <div class="cpt-title">
class="d-cpt-title">{{item.configuration.title}}</div> <div class="cpt-title-t">{{item.configuration.title}}</div>
<div v-else
class="d-cpt-title">党建声音</div> </div>
<div class="list"> <div class="list">
<div class="item" <div class="item"
:key="subindex" :key="subindex"
v-for="(subitem, subindex) in item.demoData.list"> v-for="(subitem, subindex) in item.demoData.list">
<div class="news_title">{{ subitem.title }}</div>
<div class="left">
<div class="title">{{ subitem.title }}</div>
<div class="info">
<span>{{ subitem.date }}</span>
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span class="publishname_text">{{ subitem.author }}</span>
</div>
</div>
<div class="right">
<!-- <img
src="/assets/images/index/wailian-bg.jpg"
mode="aspectFill" /> -->
<img v-if="subitem.pic" <img v-if="subitem.pic"
:src="subitem.pic"> :src="subitem.pic">
<img v-else <img v-else
src="@/assets/img/modules/wx-mini/index-set/page/news-pic2.png"> src="@/assets/img/modules/wx-mini/index-set/page/news-pic2.png">
<div class="news_grid">
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span>来源{{ subitem.author }}</span>
<span class="f-fr">{{ subitem.date }}</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- 党建声音-最新发布带标签 --> <!-- 党建声音-最新发布带标签 -->
<div class="voice_news" <div v-else-if="item.componentFrontId==='resi-functionList-voice-listwithtag'">
v-else-if="item.componentFrontId==='resi-functionList-voice-listwithtag'">
<div class="content"> <div class="voice_m-news">
<div v-if="item.configuration.title" <div class="cpt-title">
class="d-cpt-title">{{item.configuration.title}}</div> <div class="cpt-title-t">{{item.configuration.title}}</div>
<div v-else
class="d-cpt-title">党建声音</div>
<div v-if="item.configuration.tagList" </div>
class="tag">
<div class="tab_item" <div class="tags">
<div :class="['tag',{'z-on':subindex==0}]"
:key="subindex" :key="subindex"
v-for="(subitem, subindex) in item.configuration.tagList"> v-for="(subitem, subindex) in item.configuration.tagList">
<div :class="['tab_item_name',{'tab_item_focus':subindex==0}]">{{subitem}}</div> <div class="item">{{subitem}}</div>
<div v-if="subindex!==item.configuration.tagList.length-1"
class="line"></div>
</div> </div>
</div> </div>
<div v-else
class="tag"> <div class="list">
<div class="tab_item" <div class="item"
:key="subindex"
v-for="(subitem, subindex) in item.demoData.list">
<div class="left">
<div class="title">{{ subitem.title }}</div>
<div class="info">
<span>{{ subitem.date }}</span>
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span class="publishname_text">{{ subitem.author }}</span>
</div>
</div>
<div class="right">
<img v-if="subitem.pic"
:src="subitem.pic">
<img v-else
src="@/assets/img/modules/wx-mini/index-set/page/news-pic2.png">
</div>
</div>
</div>
</div>
</div>
<!-- 党建声音-专题文章 -->
<div v-else-if="item.componentFrontId==='resi-functionList-voice-speciallist'">
<div class="voice_m-news">
<div class="cpt-title">
<div class="cpt-title-t">党建声音</div>
</div>
<div class="tags"
v-if="item.configuration.tagList">
<div :class="['tag',{'z-on':subindex===0}]"
:key="subindex" :key="subindex"
v-for="(subitem, subindex) in tagList"> v-for="(subitem, subindex) in item.configuration.tagList">
<div :class="['tab_item_name',{'tab_item_focus':subindex==0}]">{{subitem}}</div> <div class="item">{{subitem}}</div>
<div v-if="subindex!==tagList.length-1"
class="line"></div>
</div> </div>
</div> </div>
<div class="list"> <div class="list">
<div class="item" <div class="item"
:key="subindex" :key="subindex"
v-for="(subitem, subindex) in item.demoData.list"> v-for="(subitem, subindex) in item.demoData.list">
<div class="news_title">{{ subitem.title }}</div>
<div class="left">
<div class="title">{{ subitem.title }}</div>
<div class="info">
<span>{{ subitem.date }}</span>
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span class="publishname_text">{{ subitem.author }}</span>
</div>
</div>
<div class="right">
<img v-if="subitem.pic" <img v-if="subitem.pic"
:src="subitem.pic"> :src="subitem.pic">
<img v-else <img v-else
src="@/assets/img/modules/wx-mini/index-set/page/news-pic2.png"> src="@/assets/img/modules/wx-mini/index-set/page/news-pic2.png">
<div class="news_grid">
<img src="@/assets/img/modules/wx-mini/index-set/pavilion.png">
<span>来源{{ subitem.author }}</span>
<span class="f-fr">{{ subitem.date }}</span>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- 党建声音-专题文章 --> <!-- <div class="content">
<div class="voice_news"
v-else-if="item.componentFrontId==='resi-functionList-voice-speciallist'">
<div class="content">
<div class="rank_tabs" <div class="rank_tabs"
v-if="item.configuration.tagList"> v-if="item.configuration.tagList">
@ -144,7 +209,7 @@
<div class="more_content">查看更多</div> <div class="more_content">查看更多</div>
</div> </div>
</div> </div> -->
</div> </div>
<!-- 党建声音-特色文章组件 --> <!-- 党建声音-特色文章组件 -->

4
epmet-oper-web/src/views/modules/productConfig/homeCustom/homepage.vue

@ -610,6 +610,7 @@ export default {
if (item.tempOnlyId === focusedCpt.tempOnlyId) { if (item.tempOnlyId === focusedCpt.tempOnlyId) {
focusedCpt.demoData = JSON.stringify(item.demoData) focusedCpt.demoData = JSON.stringify(item.demoData)
focusedCpt.configuration = JSON.stringify(item.configuration) focusedCpt.configuration = JSON.stringify(item.configuration)
this.cntCptList[this.globalIndex].configuration = item.configuration
return true return true
} else { } else {
return false return false
@ -652,7 +653,8 @@ export default {
this.focusedCpt.configuration = { this.focusedCpt.configuration = {
url: res.data.url url: res.data.url
} }
this.cntCptList[this.globalIndex].demoData.pic = res.data.url this.cntCptList[this.globalIndex].configuration.url = res.data.url
this.focusedCpt.configuration = JSON.stringify(this.focusedCpt.configuration) this.focusedCpt.configuration = JSON.stringify(this.focusedCpt.configuration)
this.focusedCpt.demoData = JSON.stringify(this.cntCptList[this.globalIndex].demoData) this.focusedCpt.demoData = JSON.stringify(this.cntCptList[this.globalIndex].demoData)
} }

13
epmet-oper-web/src/views/modules/workPc/guidance/DetailForm.vue

@ -143,18 +143,7 @@ let loading// 加载动画
export default { export default {
data () { data () {
return { return {
// editorInit: {
// language_url: '/tinymce/zh_CN.js', //
// language: 'zh_CN',//
// skin_url: '/tinymce/skins/ui/oxide',//
// height: 500,//
// browser_spellcheck: true, //
// branding: false, //
// elementpath: false, //
// statusbar: false, //
// paste_data_images: true, //
// menubar: false // menu
// },
defaultValue: '', defaultValue: '',
customerId: '', customerId: '',
formType: '', // A/U D() formType: '', // A/U D()

Loading…
Cancel
Save