路由页面

This commit is contained in:
liuye
2021-12-23 11:03:06 +08:00
parent f4a377955f
commit f520a17c68
23 changed files with 339 additions and 2 deletions

View File

@@ -0,0 +1,44 @@
<template>
<div class="AppPageBasic">
<AppListPage :label="label" :appList="appList" />
</div>
</template>
<script>
import AppListPage from '@/components/AppListPage/AppListPage'
export default {
name: 'AppPageBasic',
appName: '工作台(基层办公)',
components: { AppListPage },
data() {
return {
label: '基层办公',
appList: [
{
name: '会议通知',
icon: require('./img/hytz.png'),
url: '../AppMeetingNotice/AppMeetingNotice'
},
{
name: '三务公开',
icon: require('./img/shgk.png'),
url: '../AppServicePublic/AppServicePublic?moduleId=b03d1ea68c8449ecb00685644e3f0192'
}
]
}
},
methods: {
},
}
</script>
<style lang="scss" scoped>
uni-page-body{
height: 100%;
}
.AppPageBasic{
height: 100%;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

View File

@@ -0,0 +1,49 @@
<template>
<div class="AppPageCivilization">
<AppListPage :label="label" :appList="appList" />
</div>
</template>
<script>
import AppListPage from '@/components/AppListPage/AppListPage'
export default {
name: 'AppPageCivilization',
appName: '工作台(文明乡风)',
components: { AppListPage },
data() {
return {
label: '文明乡风',
appList: [
{
name: '婚丧嫁娶',
icon: require('./img/hjsq.png'),
url: '../AppMarryAndDie/AppMarryAndDie'
},
{
name: '好人好事',
icon: require('./img/hrhs.png'),
url: '../AppServicePublic/AppServicePublic?moduleId=5da220f3182047aba92d64ac08b93b55'
},
{
name: '五好家庭',
icon: require('./img/whjt.png'),
url: '../AppServicePublic/AppServicePublic?moduleId=6afadf4cd44f4b73be29390b30ca88bb'
}
]
}
},
methods: {
},
}
</script>
<style lang="scss" scoped>
uni-page-body{
height: 100%;
}
.AppPageCivilization{
height: 100%;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -0,0 +1,49 @@
<template>
<div class="AppPageInteraction">
<AppListPage :label="label" :appList="appList" />
</div>
</template>
<script>
import AppListPage from '@/components/AppListPage/AppListPage'
export default {
name: 'AppPageInteraction',
appName: '工作台(居民互动)',
components: { AppListPage },
data() {
return {
label: '居民互动',
appList: [
{
name: '居民活动',
icon: require('./img/jmhd.png'),
url: '../AppResidentActivitie/AppResidentActivities'
},
{
name: '小程序公告',
icon: require('./img/xcxgg.png'),
url: '../AppUniMsg/AppUniMsg'
},
{
name: '问卷表单',
icon: require('./img/wjbd.png'),
url: '../AppAskForm/AppForm'
}
]
}
},
methods: {
},
}
</script>
<style lang="scss" scoped>
uni-page-body{
height: 100%;
}
.AppPageInteraction{
height: 100%;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,54 @@
<template>
<div class="AppPageParty">
<AppListPage :label="label" :appList="appList" />
</div>
</template>
<script>
import AppListPage from '@/components/AppListPage/AppListPage'
export default {
name: 'AppPageParty',
appName: '工作台(基层党建)',
components: { AppListPage },
data() {
return {
label: '基层党建',
appList: [
{
name: '三会一课',
icon: require('./img/shyk.png'),
url: '../party/AppThreeSessions/AppThreeSessions'
},
{
name: '党建要闻',
icon: require('./img/djyw.png'),
url: '../AppServicePublic/AppServicePublic?moduleId=95f0f1c509e44d528069bc9f9dc19e53'
},
{
name: '党员学习',
icon: require('./img/dyxx.png'),
url: '../party/AppPartyStudy/AppPartyStudy'
},
{
name: '在线答题',
icon: require('./img/zxdt.png'),
url: '../party/AppOnlineAnswer/AppOnlineAnswer'
}
]
}
},
methods: {
},
}
</script>
<style lang="scss" scoped>
uni-page-body{
height: 100%;
}
.AppPageParty{
height: 100%;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View File

@@ -0,0 +1,49 @@
<template>
<div class="AppPageResident">
<AppListPage :label="label" :appList="appList" />
</div>
</template>
<script>
import AppListPage from '@/components/AppListPage/AppListPage'
export default {
name: 'AppPageResident',
appName: '工作台(居民)',
components: { AppListPage },
data() {
return {
label: '居民管理',
appList: [
{
name: '居民信息管理',
icon: require('./img/jmxxgl.png'),
url: '../AppResidentFile/AppResidentFile?tabIndex=1'
},
{
name: '居民群管理',
icon: require('./img/jmqgl.png'),
url: '../AppResidentFile/AppResidentFile?tabIndex=2'
},
{
name: '居民档案',
icon: require('./img/jmda.png'),
url: '../AppResidentFile/AppResidentFile'
}
]
}
},
methods: {
},
}
</script>
<style lang="scss" scoped>
uni-page-body{
height: 100%;
}
.AppPageResident{
height: 100%;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -57,12 +57,14 @@ export default {
showStstus: false, showStstus: false,
flag: false, flag: false,
areaIdProps: '', areaIdProps: '',
moduleId: ''
} }
}, },
computed: { ...mapState(['user']) }, computed: { ...mapState(['user']) },
onLoad(o) { onLoad(o) {
console.log(o) console.log(o)
this.id = o.id this.id = o.id
this.moduleId = o.moduleId
this.areaIdProps = this.user.areaId this.areaIdProps = this.user.areaId
this.$dict.load('realityStatus').then(() => { this.$dict.load('realityStatus').then(() => {
this.getDetail() this.getDetail()
@@ -113,6 +115,7 @@ export default {
// images: JSON.stringify(imgs) || [], // images: JSON.stringify(imgs) || [],
images: imgs || [], images: imgs || [],
id: this.id, id: this.id,
moduleId: this.moduleId
}) })
.then((res) => { .then((res) => {
if (res.code == 0) { if (res.code == 0) {

View File

@@ -66,6 +66,7 @@ export default {
pages: 0, pages: 0,
deletShow: false, deletShow: false,
deletId: '', deletId: '',
moduleId: ''
} }
}, },
computed: { computed: {
@@ -76,8 +77,9 @@ export default {
}, },
}, },
watch: {}, watch: {},
onLoad() { onLoad(o) {
this.areaId = this.user.areaId this.areaId = this.user.areaId
this.moduleId = o.moduleId
this.getList() this.getList()
}, },
mounted() {}, mounted() {},
@@ -90,6 +92,7 @@ export default {
current: this.current, current: this.current,
areaId: this.areaId, areaId: this.areaId,
title: this.keyword, title: this.keyword,
moduleId: this.moduleId
}, },
}) })
.then((res) => { .then((res) => {
@@ -116,7 +119,7 @@ export default {
} }
if (type == null) { if (type == null) {
console.log('添加') console.log('添加')
uni.navigateTo({ url: `./Add` }) uni.navigateTo({ url: `./Add?moduleId=${this.moduleId}` })
} }
}, },

View File

@@ -0,0 +1,86 @@
<template>
<section class="AppListPage">
<div class="content">
<div class="title">{{label}}</div>
<div class="app-list">
<div class="item" v-for="(item, index) in appList" :key="index" @click="linkTo(item.url)">
<div class="icon" :style="`backgroundImage: url(${item.icon});`"></div>
<p>{{item.name}}</p>
</div>
</div>
</div>
</section>
</template>
<script>
export default {
name: "AppListPage",
props: {
label: String,
appList: Array,
},
methods: {
linkTo(url) {
console.log(url)
uni.navigateTo({url})
}
}
}
</script>
<style lang="scss" scoped>
.AppListPage {
padding-top: 20px;
.content{
margin: 0 20px 20px;
width: calc(100% - 40px);
background: #FFF;
border-radius: 16px;
.title{
line-height: 70px;
border-bottom: 1px solid #eee;
padding-left: 20px;
font-size: 26px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #999;
}
.app-list{
overflow: hidden;
.item{
text-align: center;
padding-bottom: 38px;
border-right: 1px solid #eee;
border-top: 1px solid #eee;
width: calc(33% - 1px);
float: left;
.icon{
display: inline-block;
width: 58px;
height: 58px;
margin: 40px 0 18px 0;
background-size: 100% 100%;
text-align: center;
}
p{
font-size: 28px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #3D434A;
line-height: 40px;
}
}
.item:nth-of-type(3n) {
border-right: 0;
}
.item:nth-child(1),
.item:nth-child(2),
.item:nth-child(3) {
border-top: 0;
}
}
}
}
</style>