通知公告弹出详情功能开发

init
gongdi 4 years ago
parent 39a9d20e55
commit 9eecd003f7

@ -5,6 +5,7 @@
<a-list-item slot="renderItem" slot-scope="item">
<span :class="'title-span ' + getTitleFlagStyle(item)">{{getTitleText(item)}}</span>
<span class="title-span tz-title"
v-on:click="showNoticeDetail(item)"
:title="item.create_time + ' ' + item.notice_title">{{item.create_time + " " + item.notice_title}}</span>
</a-list-item>
</a-list>
@ -21,11 +22,16 @@
<div v-else class="show-loading-div">
<a-spin/>
</div>
<FusionModalPanel key="noticePanel" v-bind="modalObject" @callback="modalCallback" :style="{display:'block'}">
<component v-if="modalObject.show" :is="childDom" v-bind="modalObject.params"></component>
</FusionModalPanel>
</div>
</template>
<script>
import interConfig from './interConfig';
import {List, Icon, Spin} from 'ant-design-vue';
import FusionModalPanel from '../../../../../../../components/common/fusionModal/FusionModalPanel';
export default{
data(){
return {
@ -35,11 +41,26 @@
totalPage: 0,
totolNum: 0,
showLoading: true,
modalObject:{
show:false,
modalTitle:'',
destroyOnClose:true,
OKButton:true,
CancelButton:true,
modalWidth:'50%',
modalClassName:'',
zIndex:100
},
}
},
mounted(){
this.getNoticeList();
},
computed:{
childDom:function () {
return this.modalObject && this.modalObject.url !== ""?() => import(`@/${this.modalObject.url}`):null;
},
},
methods: {
getNoticeList: function () {
let param = {
@ -119,13 +140,26 @@
this.pageNumber++;
}
this.getNoticeList();
}
},
showNoticeDetail:function (notice) {
notice.appId = "view_notice";
this.modalObject.url = "views/superFusionPlatform/application/PopupOfficeApp.vue";
this.modalObject.params = notice;
this.modalObject.modalTitle = "查看通知";
this.modalObject.OKButton = false;
this.modalObject.show = true;
},
modalCallback:function(){
this.modalObject.show = false;
this.getNoticeList();
},
},
components: {
AList: List,
AListItem: List.Item,
AIcon: Icon,
ASpin: Spin
ASpin: Spin,
FusionModalPanel
},
}
</script>

@ -14,7 +14,9 @@
<div class="notice-tz-l-title">
<div class="notice-tz-1-title-div">
<span :class="'notice-type-flag ' + (getLevelStyle(item))">{{ item.level_name }}</span>
<span :title="item.notice_title"> {{ item.notice_title }}</span>
<span :title="item.notice_title"
v-on:click="showNoticeDetail(item)"
> {{ item.notice_title }}</span>
</div>
<div class="notice-tz-1-flag-div">
<span :class="parseInt(item.is_read) == 0?'no-readed':''">{{getReadTitleText(item)}}</span>
@ -37,6 +39,9 @@
<div v-else class="show-loading-div">
<a-spin/>
</div>
<FusionModalPanel key="noticeLargePanel" v-bind="modalObject" @callback="modalCallback" :style="{display:'block'}">
<component v-if="modalObject.show" :is="childDom" v-bind="modalObject.params"></component>
</FusionModalPanel>
</div>
</template>
<script>
@ -44,6 +49,7 @@
import {List, Icon, Spin} from 'ant-design-vue';
import Portrait from '../common/portrait';
import TabComp from '../common/tabComp.vue';
import FusionModalPanel from '../../../../../../../components/common/fusionModal/FusionModalPanel';
export default{
data(){
return {
@ -60,11 +66,26 @@
totolNum: 0,
showLoading: true,
tabIndex: 0,
modalObject:{
show:false,
modalTitle:'',
destroyOnClose:true,
OKButton:true,
CancelButton:true,
modalWidth:'50%',
modalClassName:'',
zIndex:100
},
}
},
mounted(){
this.getNoticeList();
},
computed:{
childDom:function () {
return this.modalObject && this.modalObject.url !== ""?() => import(`@/${this.modalObject.url}`):null;
},
},
methods: {
changeTab: function (param) {
if (this.tabIndex != param.index) {
@ -229,7 +250,19 @@
break;
}
return levelStyle;
}
},
showNoticeDetail:function (notice) {
notice.appId = "view_notice";
this.modalObject.url = "views/superFusionPlatform/application/PopupOfficeApp.vue";
this.modalObject.params = notice;
this.modalObject.modalTitle = "查看通知";
this.modalObject.OKButton = false;
this.modalObject.show = true;
},
modalCallback:function(){
this.modalObject.show = false;
this.getNoticeList();
},
},
components: {
AList: List,
@ -237,7 +270,8 @@
AIcon: Icon,
ASpin: Spin,
Portrait,
TabComp
TabComp,
FusionModalPanel
},
}
</script>

@ -3,7 +3,9 @@
<div v-if="!showLoading">
<a-list item-layout="horizontal" :data-source="noticeList">
<a-list-item slot="renderItem" slot-scope="item">
<div class="gg-title-span" :title="item.create_time + ' ' + item.notice_title">
<div class="gg-title-span" :title="item.create_time + ' ' + item.notice_title"
v-on:click="showNoticeDetail(item)"
>
{{item.create_time + " " + item.notice_title}}
</div>
<span v-if="item.view_flag == 0" class="gg-no-readed">NEW</span>
@ -22,12 +24,16 @@
<div v-else class="show-loading-div">
<a-spin/>
</div>
<FusionModalPanel key="publicNoticePanel" v-bind="modalObject" @callback="modalCallback" :style="{display:'block'}">
<component v-if="modalObject.show" :is="childDom" v-bind="modalObject.params"></component>
</FusionModalPanel>
</div>
</template>
<script>
/*公告小号页面*/
import interConfig from './interConfig';
import {List, Icon, Spin} from 'ant-design-vue';
import FusionModalPanel from '../../../../../../../components/common/fusionModal/FusionModalPanel';
export default{
data(){
return {
@ -37,11 +43,26 @@
totalPage: 0,
totolNum: 0,
showLoading: true,
modalObject:{
show:false,
modalTitle:'',
destroyOnClose:true,
OKButton:true,
CancelButton:true,
modalWidth:'50%',
modalClassName:'',
zIndex:100
},
}
},
mounted(){
this.getNoticeList();
},
computed:{
childDom:function () {
return this.modalObject && this.modalObject.url !== ""?() => import(`@/${this.modalObject.url}`):null;
},
},
methods: {
getNoticeList: function () {
let param = {
@ -92,13 +113,26 @@
this.pageNumber++;
}
this.getNoticeList();
}
},
showNoticeDetail:function (notice) {
notice.appId = "view_public_notice";
this.modalObject.url = "views/superFusionPlatform/application/PopupOfficeApp.vue";
this.modalObject.params = notice;
this.modalObject.modalTitle = "查看公告";
this.modalObject.OKButton = false;
this.modalObject.show = true;
},
modalCallback:function(){
this.modalObject.show = false;
this.getNoticeList();
},
},
components: {
AList: List,
AListItem: List.Item,
AIcon: Icon,
ASpin: Spin
ASpin: Spin,
FusionModalPanel
},
}
</script>

@ -11,7 +11,9 @@
<span class="org-dep-span create-time">{{item.create_time}}</span>
</div>
<div class="notice-gg-l-title">
<div class="notice-gg-1-title-div" :title="item.notice_title">{{ item.notice_title }}</div>
<div class="notice-gg-1-title-div" :title="item.notice_title"
v-on:click="showNoticeDetail(item)"
>{{ item.notice_title }}</div>
<div v-if="item.view_flag == 0" class="notice-gg-1-no-readed-flag"><span>NEW</span></div>
</div>
</div>
@ -30,6 +32,9 @@
<div v-else class="show-loading-div">
<a-spin/>
</div>
<FusionModalPanel key="publicNoticeLargePanel" v-bind="modalObject" @callback="modalCallback" :style="{display:'block'}">
<component v-if="modalObject.show" :is="childDom" v-bind="modalObject.params"></component>
</FusionModalPanel>
</div>
</template>
<script>
@ -37,6 +42,7 @@
import interConfig from './interConfig';
import {List, Icon, Spin} from 'ant-design-vue';
import Portrait from '../common/portrait';
import FusionModalPanel from '../../../../../../../components/common/fusionModal/FusionModalPanel';
export default{
data(){
return {
@ -46,11 +52,26 @@
totalPage: 0,
totolNum: 0,
showLoading: true,
modalObject:{
show:false,
modalTitle:'',
destroyOnClose:true,
OKButton:true,
CancelButton:true,
modalWidth:'50%',
modalClassName:'',
zIndex:100
},
}
},
mounted(){
this.getNoticeList();
},
computed:{
childDom:function () {
return this.modalObject && this.modalObject.url !== ""?() => import(`@/${this.modalObject.url}`):null;
},
},
methods: {
getNoticeList: function () {
let param = {
@ -102,6 +123,18 @@
}
this.getNoticeList();
},
showNoticeDetail:function (notice) {
notice.appId = "view_public_notice";
this.modalObject.url = "views/superFusionPlatform/application/PopupOfficeApp.vue";
this.modalObject.params = notice;
this.modalObject.modalTitle = "查看公告";
this.modalObject.OKButton = false;
this.modalObject.show = true;
},
modalCallback:function(){
this.modalObject.show = false;
this.getNoticeList();
},
},
components: {
AList: List,
@ -109,6 +142,7 @@
AIcon: Icon,
ASpin: Spin,
Portrait,
FusionModalPanel
},
}
</script>

Loading…
Cancel
Save