路由页面
							
								
								
									
										44
									
								
								src/apps/AppPageBasic/AppPageBasic.vue
									
									
									
									
									
										Normal 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>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageBasic/img/hytz.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageBasic/img/shgk.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 222 KiB  | 
							
								
								
									
										49
									
								
								src/apps/AppPageCivilization/AppPageCivilization.vue
									
									
									
									
									
										Normal 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>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageCivilization/img/hjsq.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 271 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageCivilization/img/hrhs.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 89 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageCivilization/img/whjt.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 87 KiB  | 
							
								
								
									
										49
									
								
								src/apps/AppPageInteraction/AppPageInteraction.vue
									
									
									
									
									
										Normal 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>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageInteraction/img/jmhd.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 40 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageInteraction/img/wjbd.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 22 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageInteraction/img/xcxgg.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 31 KiB  | 
							
								
								
									
										54
									
								
								src/apps/AppPageParty/AppPageParty.vue
									
									
									
									
									
										Normal 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>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageParty/img/djyw.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 118 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageParty/img/dyxx.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 100 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageParty/img/shyk.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 107 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageParty/img/zxdt.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 74 KiB  | 
							
								
								
									
										49
									
								
								src/apps/AppPageResident/AppPageResident.vue
									
									
									
									
									
										Normal 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>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageResident/img/jmda.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 28 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageResident/img/jmqgl.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/apps/AppPageResident/img/jmxxgl.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 30 KiB  | 
@@ -57,12 +57,14 @@ export default {
 | 
			
		||||
      showStstus: false,
 | 
			
		||||
      flag: false,
 | 
			
		||||
      areaIdProps: '',
 | 
			
		||||
      moduleId: ''
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: { ...mapState(['user']) },
 | 
			
		||||
  onLoad(o) {
 | 
			
		||||
    console.log(o)
 | 
			
		||||
    this.id = o.id
 | 
			
		||||
    this.moduleId = o.moduleId
 | 
			
		||||
    this.areaIdProps = this.user.areaId
 | 
			
		||||
    this.$dict.load('realityStatus').then(() => {
 | 
			
		||||
      this.getDetail()
 | 
			
		||||
@@ -113,6 +115,7 @@ export default {
 | 
			
		||||
              // images: JSON.stringify(imgs) || [],
 | 
			
		||||
              images: imgs || [],
 | 
			
		||||
              id: this.id,
 | 
			
		||||
              moduleId: this.moduleId
 | 
			
		||||
            })
 | 
			
		||||
            .then((res) => {
 | 
			
		||||
              if (res.code == 0) {
 | 
			
		||||
 
 | 
			
		||||
@@ -66,6 +66,7 @@ export default {
 | 
			
		||||
      pages: 0,
 | 
			
		||||
      deletShow: false,
 | 
			
		||||
      deletId: '',
 | 
			
		||||
      moduleId: ''
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
@@ -76,8 +77,9 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  watch: {},
 | 
			
		||||
  onLoad() {
 | 
			
		||||
  onLoad(o) {
 | 
			
		||||
    this.areaId = this.user.areaId
 | 
			
		||||
    this.moduleId = o.moduleId
 | 
			
		||||
    this.getList()
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {},
 | 
			
		||||
@@ -90,6 +92,7 @@ export default {
 | 
			
		||||
            current: this.current,
 | 
			
		||||
            areaId: this.areaId,
 | 
			
		||||
            title: this.keyword,
 | 
			
		||||
            moduleId: this.moduleId
 | 
			
		||||
          },
 | 
			
		||||
        })
 | 
			
		||||
        .then((res) => {
 | 
			
		||||
@@ -116,7 +119,7 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
      if (type == null) {
 | 
			
		||||
        console.log('添加')
 | 
			
		||||
        uni.navigateTo({ url: `./Add` })
 | 
			
		||||
        uni.navigateTo({ url: `./Add?moduleId=${this.moduleId}` })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										86
									
								
								src/components/AppListPage/AppListPage.vue
									
									
									
									
									
										Normal 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>
 | 
			
		||||