Browse Source

首页组件

master
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. 230
      epmet-oper-web/src/assets/scss/modules/wx-mini/group.scss
  10. 272
      epmet-oper-web/src/assets/scss/modules/wx-mini/heart.scss
  11. 358
      epmet-oper-web/src/assets/scss/modules/wx-mini/voice.scss
  12. 7
      epmet-oper-web/src/components/wx-index/cpt-item.vue
  13. 55
      epmet-oper-web/src/components/wx-index/group.vue
  14. 163
      epmet-oper-web/src/components/wx-index/heart.vue
  15. 161
      epmet-oper-web/src/components/wx-index/voice.vue
  16. 6
      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

230
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/function.scss";
@import "@/assets/scss/c/anime.scss";
@import '@/assets/scss/c/config.scss';
@import '@/assets/scss/c/function.scss';
@import '@/assets/scss/c/anime.scss';
//楼院小组-推荐小组
.group {
@ -13,29 +13,29 @@
.list {
width: 1000px;
overflow: hidden;
padding:10px 10px;
.item_margin{
margin-left:10px;
padding: 10px 10px;
.item_margin {
margin-left: 10px;
}
.item {
width: 205px;
height:122px;
height: 122px;
position: relative;
float: left;
border-radius: 10px;
background-color: #ffffff;
// margin-left: 10px;
box-shadow: 3px 3px 24px 3px rgba(211, 211, 211, 0.26);
.row1{
display:flex;
margin:10px;
.left{
.row1 {
display: flex;
margin: 10px;
.left {
display: flex;
flex-direction:column;
flex-direction: column;
.avatar{
.avatar {
position: relative;
width: 50px;
height: 50px;
@ -56,83 +56,225 @@
height: 42px;
border-radius: 100%;
}
}
.no{
.no {
text-align: center;
font-size: 13px;
font-family: PingFang SC;
font-weight: bold;
font-style: italic;
color: #FFFFFF;
background: linear-gradient(0deg, #F95C2C 0%, #E3271C 100%);
color: #ffffff;
background: linear-gradient(0deg, #f95c2c 0%, #e3271c 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.right{
margin-left:10px;
.groupName{
.right {
margin-left: 10px;
.groupName {
font-size: 15px;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
}
.info{
margin-top:5px;
span{
.info {
margin-top: 5px;
span {
font-size: 13px;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
}
.span_info2{
margin-left:5px;
.span_info2 {
margin-left: 5px;
}
}
.type{
.type {
text-align: center;
margin-top:5px;
margin-top: 5px;
width: 35px;
font-size: 11px;
font-family: PingFang SC;
font-weight: 500;
color: #F67F45;
border: 1px solid #F67F45;
color: #f67f45;
border: 1px solid #f67f45;
border-radius: 10px;
}
}
}
.row2{
display:flex;
.row2 {
display: flex;
text-align: center;
justify-content:space-around;
margin:10px 20px;
justify-content: space-around;
margin: 10px 20px;
.operation{
.operation {
text-align: center;
img{
height:12px;
width:12px;
img {
height: 12px;
width: 12px;
}
span{
span {
text-align: center;
margin-left:3px;
margin-left: 3px;
font-size: 11px;
font-family: PingFang SC;
font-weight: 500;
color: #E60000;
color: #e60000;
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;
}
}
}
}
}
}
}

272
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/function.scss";
@import "@/assets/scss/c/anime.scss";
@import '@/assets/scss/c/config.scss';
@import '@/assets/scss/c/function.scss';
@import '@/assets/scss/c/anime.scss';
// 爱心互助-banner
.heart_banner {
position: relative;
margin-top: 10px;
padding: 10px 10px 15px 10px;
background-color: rgba(233, 233, 233, 0.26);
.subbanner {
.mw-cpt-banner {
// margin-top: 10px;
width: 100%;
background-color: #ffffff;
.d-cpt-subwrap {
position: relative;
height: 160px;
border-radius: 10px;
overflow: hidden;
overflow: hidden;
> img {
display: block;
width: 100%;
height: 160px;
height: 59px;
}
.d-title {
margin-top:1px;
.s-title {
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 {
line-height: 21px;
margin-left:4px;
margin-bottom:3px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: rgb(0, 0, 0);
vertical-align: middle;
}
.d-group-no {
position: absolute;
right: 10px;
top: 3px;
width: 50px;
height: 28px;
vertical-align: middle;
text-align: center;
img {
position: absolute;
z-index: 10;
left: 0;
top: 0;
width: 50px;
}
span {
position: relative;
z-index: 20;
vertical-align: middle;
font-size: 7px;
color: rgba(255, 255, 255, 1);
}
}
top: 10px;
right: 34px;
font-size: 13px;
font-family: Source Han Serif SC;
font-weight: 800;
color: #000000;
}
.d-group-no {
position: absolute;
right: 53px;
top: 33px;
width: 53px;
height: 18px;
background: #f2994a;
border-radius: 3px;
text-align: center;
> span {
font-size: 11px;
font-family: Source Han Sans SC;
font-weight: 400;
color: #ffffff;
}
}
}
}
// 爱心互助最新活动
.heart_news {
position: relative;
@ -98,7 +71,7 @@
border-bottom: 1px solid #e7eeee;
&::before {
content: "";
content: '';
position: absolute;
top: 7px;
left: 0;
@ -107,17 +80,17 @@
background: rgba(230, 0, 0, 1);
border-radius: 3px;
}
.more{
.more {
position: absolute;
top:13px;
right:10px;
top: 13px;
right: 10px;
font-size: 13px;
font-weight: normal;
color: rgb(151, 150, 150);
}
}
.list {
padding: 0 10px;
.item {
@ -133,13 +106,13 @@
position: absolute;
width: 110px;
height: 120px;
left: 0;
top: 11px;
border-radius: 5px;
}
.d-news-title {
margin-left:7px;
margin-left: 7px;
height: 40px;
font-size: 16px;
font-family: PingFang SC;
@ -158,20 +131,20 @@
overflow: hidden;
display: flex;
.d-news-time-title{
height: 20px ;
display:flex ;
align-items:center;
>img{
margin-right:2px;
.d-news-time-title {
height: 20px;
display: flex;
align-items: center;
> img {
margin-right: 2px;
width: 12px;
vertical-align: bottom;
}
>span{
> span {
vertical-align: bottom;
}
}
.d-news-time-item{
.d-news-time-item {
font-size: 13px;
width: 60%;
color: rgb(141, 141, 141);
@ -189,8 +162,8 @@
color: rgb(141, 141, 141);
line-height: 20px;
overflow: hidden;
display:flex ;
align-items:center;
display: flex;
align-items: center;
> img {
display: inline-block;
margin-right: 2px;
@ -213,18 +186,18 @@
color: rgb(141, 141, 141);
line-height: 20px;
overflow: hidden;
.d-news-state-limit{
.d-news-state-limit {
font-family: PingFang SC;
padding:3px 10px;
padding: 3px 10px;
font-weight: 500;
background-color: rgb(170, 169, 169);
color: rgb(58, 58, 58);
border-radius: 90px;
}
.d-news-state-act{
margin-left:10px;
.d-news-state-act {
margin-left: 10px;
font-family: PingFang SC;
padding:3px 10px;
padding: 3px 10px;
font-weight: 500;
background-color: rgb(255, 195, 195);
color: rgb(255, 38, 38);
@ -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;
}
}
}
}
}
}

358
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/function.scss";
@import "@/assets/scss/c/anime.scss";
@import '@/assets/scss/c/config.scss';
@import '@/assets/scss/c/function.scss';
@import '@/assets/scss/c/anime.scss';
// 党建声音-轮播新闻
.voice_swiper {
@ -66,16 +66,16 @@
overflow: hidden;
background: rgba(255, 255, 255, 1);
.tag{
.tag {
height: 40px;
display: flex;
justify-content: flex-start;
.tab_item{
margin:10px;
.tab_item_name{
padding:0 10px;
.tab_item {
margin: 10px;
.tab_item_name {
padding: 0 10px;
height: 25px;
background: #CCCCCC;
background: #cccccc;
opacity: 0.8;
border-radius: 6px;
text-align: center;
@ -85,17 +85,16 @@
color: #999999;
line-height: 25px;
}
.tab_item_focus{
background: #D32104;
.tab_item_focus {
background: #d32104;
font-size: 13px;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
color: #ffffff;
line-height: 25px;
opacity: 1;
}
}
}
.d-cpt-title {
@ -110,7 +109,7 @@
border-bottom: 1px solid #e7eeee;
&::before {
content: "";
content: '';
position: absolute;
top: 7px;
left: 0;
@ -171,88 +170,345 @@
vertical-align: bottom;
}
}
}
}
}
}
}
.rank_tabs{
margin:10px 15px 0px;
.rank_tabs {
margin: 10px 15px 0px;
display: flex;
padding:0px 0px;
padding: 0px 0px;
justify-content: space-start;
.title_focus{
.title_focus {
font-size: 17px;
font-family: PingFang SC;
font-weight: 800;
color: #333333;
text-align: center;
.red_line{
.red_line {
height: 3px;
width: 30px;
background-color: red;
margin-top: 5px;
border-radius:4px;
margin-left:20px;
border-radius: 4px;
margin-left: 20px;
}
}
.title_other{
.title_other {
font-size: 17px;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
margin-left:10px;
margin-left: 10px;
}
.rank_title_left{
.rank_title_left {
margin-left: 25px;
margin-top: 10px;
width:30%;
width: 30%;
font-size: 16px;
text-align: center;
font-family: PingFang-SC;
padding:0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
font-weight: 600;
color: rgb(0, 0, 0);
}
.rank_title_right{
margin-left: 70px;
margin-top: 12px;
width:30%;
font-size: 14px;
text-align: center;
font-family: PingFang-SC;
padding:0px 0px 0px 0px;
font-weight: 500;
color: rgb(171, 171, 171);
}
}
.rank_title_right {
margin-left: 70px;
margin-top: 12px;
width: 30%;
font-size: 14px;
text-align: center;
font-family: PingFang-SC;
padding: 0px 0px 0px 0px;
font-weight: 500;
color: rgb(171, 171, 171);
}
}
.more{
width:100%;
height:25px;
margin:10px;
.more {
width: 100%;
height: 25px;
margin: 10px;
position: relative;
font-size: 13px;
font-family: PingFang SC;
font-weight: 500;
color: #4896DE;
color: #4896de;
line-height: 24px;
.more_content{
.more_content {
position: absolute;
right:20px;
right: 20px;
}
}
.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'">
<div class="d-cpt-wrap">
<img v-if="item.demoData.ico"
:src="item.demoData.ico">
:src="item.demoData.ico"
mode="aspectFill">
<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>
</div>
</div>
@ -87,7 +89,6 @@
<p>上移</p>
</div>
<div class="d-cpt-btn"
@click="delCpt">
<img src="@/assets/img/modules/wx-mini/index-set/del.png">
<p>删除</p>

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

@ -5,9 +5,56 @@
@click="focusCpt">
<!-- 群组件 -->
<div v-if="item.componentFrontId==='resi-functionList-group-recommendGroupSlider'"
class="group">
<div class="list">
<div v-if="item.componentFrontId==='resi-functionList-group-recommendGroupSlider'">
<div class="m-group">
<div class="cpt-title">
<div class="cpt-title-t">热门小组</div>
</div>
<div class="wrap">
<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}]"
:key="subindex"
v-for="(subitem, subindex) in item.demoData.list">
@ -43,7 +90,7 @@
</div>
</div>
</div>
</div> -->
</div>
</div>

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

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

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

@ -26,81 +26,146 @@
</div>
<!-- 党建声音-最新发布 -->
<div class="voice_news"
v-else-if="item.componentFrontId==='resi-functionList-voice-newsList'">
<div class="content">
<div v-if="item.configuration.title"
class="d-cpt-title">{{item.configuration.title}}</div>
<div v-else
class="d-cpt-title">党建声音</div>
<div v-else-if="item.componentFrontId==='resi-functionList-voice-newsList'">
<div class="voice_m-news">
<div class="cpt-title">
<div class="cpt-title-t">{{item.configuration.title}}</div>
</div>
<div class="list">
<div class="item"
:key="subindex"
v-for="(subitem, subindex) in item.demoData.list">
<div class="news_title">{{ subitem.title }}</div>
<img v-if="subitem.pic"
:src="subitem.pic">
<img v-else
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 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"
:src="subitem.pic">
<img v-else
src="@/assets/img/modules/wx-mini/index-set/page/news-pic2.png">
</div>
</div>
</div>
</div>
</div>
<!-- 党建声音-最新发布带标签 -->
<div class="voice_news"
v-else-if="item.componentFrontId==='resi-functionList-voice-listwithtag'">
<div v-else-if="item.componentFrontId==='resi-functionList-voice-listwithtag'">
<div class="content">
<div v-if="item.configuration.title"
class="d-cpt-title">{{item.configuration.title}}</div>
<div v-else
class="d-cpt-title">党建声音</div>
<div class="voice_m-news">
<div class="cpt-title">
<div class="cpt-title-t">{{item.configuration.title}}</div>
</div>
<div v-if="item.configuration.tagList"
class="tag">
<div class="tab_item"
<div class="tags">
<div :class="['tag',{'z-on':subindex==0}]"
:key="subindex"
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 v-else
class="tag">
<div class="tab_item"
<div class="list">
<div class="item"
:key="subindex"
v-for="(subitem, subindex) in tagList">
<div :class="['tab_item_name',{'tab_item_focus':subindex==0}]">{{subitem}}</div>
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"
v-for="(subitem, subindex) in item.configuration.tagList">
<div class="item">{{subitem}}</div>
<div v-if="subindex!==tagList.length-1"
class="line"></div>
</div>
</div>
<div class="list">
<div class="item"
:key="subindex"
v-for="(subitem, subindex) in item.demoData.list">
<div class="news_title">{{ subitem.title }}</div>
<img v-if="subitem.pic"
:src="subitem.pic">
<img v-else
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 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 class="voice_news"
v-else-if="item.componentFrontId==='resi-functionList-voice-speciallist'">
<div class="content">
<!-- <div class="content">
<div class="rank_tabs"
v-if="item.configuration.tagList">
@ -144,7 +209,7 @@
<div class="more_content">查看更多</div>
</div>
</div>
</div> -->
</div>
<!-- 党建声音-特色文章组件 -->
@ -208,4 +273,4 @@ export default {
}
}
</script>
<style lang="scss" src="@/assets/scss/modules/wx-mini/voice.scss" ></style>
<style lang="scss" src="@/assets/scss/modules/wx-mini/voice.scss" ></style>

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

@ -580,7 +580,7 @@ export default {
//
this.globalIndex = index
if (this.isInPreview) return
if (this.focusedCpt.tempOnlyId === item.tempOnlyId || item.componentFrontId==='resi-titleList-home-gridNameTitle') {
if (this.focusedCpt.tempOnlyId === item.tempOnlyId || item.componentFrontId === 'resi-titleList-home-gridNameTitle') {
this.cleanFocusCpt()
} else {
this.focusedCpt = { ...cloneDeep(item), demoData: JSON.stringify(item.demoData), configuration: JSON.stringify(item.configuration), demoIsUnfold: true, confIsUnfold: false }
@ -610,6 +610,7 @@ export default {
if (item.tempOnlyId === focusedCpt.tempOnlyId) {
focusedCpt.demoData = JSON.stringify(item.demoData)
focusedCpt.configuration = JSON.stringify(item.configuration)
this.cntCptList[this.globalIndex].configuration = item.configuration
return true
} else {
return false
@ -652,7 +653,8 @@ export default {
this.focusedCpt.configuration = {
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.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 {
data () {
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: '',
customerId: '',
formType: '', // A/U D()

Loading…
Cancel
Save