Merge remote-tracking branch 'origin/dev' into dev
							
								
								
									
										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  | 
@@ -13,7 +13,7 @@
 | 
			
		||||
        <div class="line"></div>
 | 
			
		||||
 | 
			
		||||
        <u-form-item label="活动封面图" prop="fileIds" required :border-bottom="false" class="avatars" label-position="top">
 | 
			
		||||
          <AiUploader :def.sync="forms.fileIds" multiple placeholder="上传图片" :limit="9"></AiUploader>
 | 
			
		||||
          <AiUploader :def.sync="forms.fileIds" multiple placeholder="上传图片" :limit="1"></AiUploader>
 | 
			
		||||
        </u-form-item>
 | 
			
		||||
 | 
			
		||||
        <div class="line"></div>
 | 
			
		||||
@@ -25,9 +25,7 @@
 | 
			
		||||
        </u-form-item>
 | 
			
		||||
 | 
			
		||||
        <u-form-item label="报名范围" prop="fanwe" required :border-bottom="false" right-icon="arrow-right">
 | 
			
		||||
          <u-input v-model="forms.fanwe" disabled placeholder="请选择报名范围" @click="showStstus = true" />
 | 
			
		||||
 | 
			
		||||
          <u-select v-model="showStstus" :list="$dict.getDict('realityStatus')" value-name="dictValue" label-name="dictName" @confirm="selectStatus"></u-select>
 | 
			
		||||
          <AiAreaPicker v-model="forms.areaId" :areaId="areaIdProps" @select="areaSelect" style="color: #333"></AiAreaPicker>
 | 
			
		||||
        </u-form-item>
 | 
			
		||||
 | 
			
		||||
        <u-form-item label="活动名额" prop="nums" required :border-bottom="false">
 | 
			
		||||
@@ -194,11 +192,11 @@ export default {
 | 
			
		||||
 | 
			
		||||
          this.flag = true
 | 
			
		||||
          this.$http
 | 
			
		||||
            .post(`/app/appvisitvondolence/addOrUpdate`, {
 | 
			
		||||
            .post(`/app/appvillageactivityinfo/addOrUpdate`, {
 | 
			
		||||
              title: this.forms.title,
 | 
			
		||||
              content: this.forms.content,
 | 
			
		||||
              // images: JSON.stringify(imgs) || [],
 | 
			
		||||
              images: imgs || [],
 | 
			
		||||
              images: JSON.stringify(imgs) || [],
 | 
			
		||||
              // images: imgs || [],
 | 
			
		||||
 | 
			
		||||
              status: this.forms.statusValue ? this.forms.statusValue : this.forms.status,
 | 
			
		||||
              fanwe: this.forms.fanwe,
 | 
			
		||||
@@ -217,7 +215,7 @@ export default {
 | 
			
		||||
              if (res.code == 0) {
 | 
			
		||||
                this.$u.toast('发布成功')
 | 
			
		||||
                this.flag = false
 | 
			
		||||
                uni.navigateTo({ url: `./AppActive` })
 | 
			
		||||
                uni.navigateTo({ url: `./AppResidentActivities` })
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -255,6 +253,7 @@ export default {
 | 
			
		||||
  padding-bottom: 112px;
 | 
			
		||||
 | 
			
		||||
  .header-description {
 | 
			
		||||
    padding-bottom: 112px;
 | 
			
		||||
    ::v-deep .u-form {
 | 
			
		||||
      .u-form-item {
 | 
			
		||||
        padding: 0 45px !important;
 | 
			
		||||
 
 | 
			
		||||
@@ -7,32 +7,32 @@
 | 
			
		||||
 | 
			
		||||
      <div class="dataRight">
 | 
			
		||||
        <span>共</span>
 | 
			
		||||
        <span class="specialColor">12</span>
 | 
			
		||||
        <span class="specialColor">{{ total }}</span>
 | 
			
		||||
        <span>个活动</span>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <template v-if="datas.length > 0">
 | 
			
		||||
      <AiCard v-for="(item, i) in 6" :key="i" @click.native="toDetail(item, 1)">
 | 
			
		||||
      <AiCard v-for="(item, i) in datas" :key="i" @click.native="toDetail(item, 1)">
 | 
			
		||||
        <template #custom>
 | 
			
		||||
          <div class="left">
 | 
			
		||||
            <div class="titles">【敬老爱幼】带你在洞庭湖兜兜风 寻觅江豚的身影</div>
 | 
			
		||||
            <div class="titles">{{ item.title }}</div>
 | 
			
		||||
 | 
			
		||||
            <div class="nums">
 | 
			
		||||
              <span class="specialColor">6人</span>
 | 
			
		||||
              <span class="specialColor">{{ item.realNum }}人</span>
 | 
			
		||||
              <span>已报名</span>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="times">
 | 
			
		||||
              <span class="timesCont">2021-12-16</span>
 | 
			
		||||
              <span class="timesCont">{{ item.beginTime }}</span>
 | 
			
		||||
 | 
			
		||||
              <span>| 2天</span>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="areaNmae">湖南省岳阳市岳阳县荣家湾镇六…湖南省岳阳市岳阳县荣家湾镇六…</div>
 | 
			
		||||
            <div class="areaNmae">{{ item.areaName }}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <img src="./yan.jpg" alt="" />
 | 
			
		||||
          <img :src="item.url[0].url" alt="" />
 | 
			
		||||
        </template>
 | 
			
		||||
      </AiCard>
 | 
			
		||||
    </template>
 | 
			
		||||
@@ -44,6 +44,8 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { mapState } from 'vuex'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'AppResidentActivities',
 | 
			
		||||
  appName: '居民活动',
 | 
			
		||||
@@ -62,16 +64,45 @@ export default {
 | 
			
		||||
      ],
 | 
			
		||||
      currentTabs: 0,
 | 
			
		||||
      current: 1,
 | 
			
		||||
      size: 6,
 | 
			
		||||
      total: '',
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {},
 | 
			
		||||
  computed: {
 | 
			
		||||
    ...mapState(['user']),
 | 
			
		||||
  },
 | 
			
		||||
  watch: {},
 | 
			
		||||
  onLoad() {
 | 
			
		||||
    this.getList()
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {},
 | 
			
		||||
  methods: {
 | 
			
		||||
    getList() {},
 | 
			
		||||
    getList() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post('/app/appvillageactivityinfo/list', null, {
 | 
			
		||||
          params: {
 | 
			
		||||
            size: this.size,
 | 
			
		||||
            current: this.current,
 | 
			
		||||
            createUserId: this.currentTabs == 1 ? this.user.id : '',
 | 
			
		||||
          },
 | 
			
		||||
        })
 | 
			
		||||
        .then((res) => {
 | 
			
		||||
          if (res.code == 0) {
 | 
			
		||||
            this.datas = this.current > 1 ? [...this.datas, ...res.data.records] : res.data.records
 | 
			
		||||
            this.total = res.data.total
 | 
			
		||||
            this.pages = res.data.pages
 | 
			
		||||
 | 
			
		||||
            if (this.datas) {
 | 
			
		||||
              this.datas.map((item) => {
 | 
			
		||||
                if (item.url) {
 | 
			
		||||
                  item.url = JSON.parse(item.url || '[]')
 | 
			
		||||
                }
 | 
			
		||||
                return item
 | 
			
		||||
              })
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    change(index) {
 | 
			
		||||
      this.currentTabs = index
 | 
			
		||||
@@ -83,8 +114,7 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    toDetail(item) {
 | 
			
		||||
      uni.navigateTo({ url: `./Detail` })
 | 
			
		||||
      // uni.navigateTo({ url: `./Detail?id=${item.id}` })
 | 
			
		||||
      uni.navigateTo({ url: `./Detail?id=${item.id}` })
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  onReachBottom() {
 | 
			
		||||
@@ -149,16 +179,19 @@ uni-page-body {
 | 
			
		||||
            overflow: hidden;
 | 
			
		||||
          }
 | 
			
		||||
          .nums {
 | 
			
		||||
            margin-top: 8px;
 | 
			
		||||
            .specialColor {
 | 
			
		||||
              color: #4181ff;
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          .times {
 | 
			
		||||
            margin-top: 8px;
 | 
			
		||||
            .timesCont {
 | 
			
		||||
              margin-right: 10px;
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          .areaNmae {
 | 
			
		||||
            margin-top: 8px;
 | 
			
		||||
            overflow: hidden;
 | 
			
		||||
            text-overflow: ellipsis;
 | 
			
		||||
            white-space: nowrap;
 | 
			
		||||
 
 | 
			
		||||
@@ -103,7 +103,7 @@
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="addicon" @click="toPublicPage()">
 | 
			
		||||
    <!-- <div class="addicon" @click="toPublicPage()">
 | 
			
		||||
      <u-icon name="plus" color="#1365DD" size="50"></u-icon>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@@ -129,21 +129,21 @@
 | 
			
		||||
 | 
			
		||||
    <div class="btn" v-if="detail.realNum == detail.total && detail.status == 1 && detail.status == 1 && detail.total != 0">
 | 
			
		||||
      <div class="max">已满员</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    </div> -->
 | 
			
		||||
 | 
			
		||||
    <div class="btn" v-if="detail.myReport == 1 && detail.status == 2">
 | 
			
		||||
    <!-- <div class="btn" v-if="detail.myReport == 1 && detail.status == 2">
 | 
			
		||||
      <div class="edit" @click="callPhone(detail.contactPhone)">联系负责人</div>
 | 
			
		||||
      <div class="public" style="background: #ffd8df; color: #ff4466" v-if="detail.allow1 == 0">未签到</div>
 | 
			
		||||
      <div class="public" style="background: #3671ee; color: #ffffff" v-if="detail.allow1 == 1" @click="sign(0)">签到</div>
 | 
			
		||||
      <div class="public" style="background: #cbead9; color: #20bc65" v-if="detail.allow1 == 2">已签到</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    </div> -->
 | 
			
		||||
 | 
			
		||||
    <div class="btn" v-if="detail.status == 5">
 | 
			
		||||
    <!-- <div class="btn" v-if="detail.status == 5">
 | 
			
		||||
      <div class="edit" @click="callPhone(detail.contactPhone)">联系负责人</div>
 | 
			
		||||
      <div class="public" style="background: #cbead9; color: #20bc65" v-if="detail.allow2 == 1" @click="sign(1)">离场签到</div>
 | 
			
		||||
      <div class="public" style="background: #cbead9; color: #20bc65" v-if="detail.allow2 == 2">已离场签到</div>
 | 
			
		||||
      <div class="public" style="background: #ffd8df; color: #ff4466" v-if="detail.allow2 == 0">未离场签到</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    </div> -->
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@@ -180,7 +180,7 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getDetail() {
 | 
			
		||||
      this.$instance.post(`/app/appactivityinfo/queryDetailById?id=${this.id}&partyId=${this.user.partyId}`).then((res) => {
 | 
			
		||||
      this.$http.post(`/app/appactivityinfo/queryDetailById?id=${this.id}&partyId=${this.user.partyId}`).then((res) => {
 | 
			
		||||
        if (res?.data) {
 | 
			
		||||
          res.data.beginTime = res.data.beginTime.substring(0, 16)
 | 
			
		||||
          res.data.endTime = res.data.endTime.substring(0, 16)
 | 
			
		||||
@@ -191,7 +191,7 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    getActiveList() {
 | 
			
		||||
      this.$instance.post(`/app/apppostinfo/list?activityId=${this.id}`).then((res) => {
 | 
			
		||||
      this.$http.post(`/app/apppostinfo/list?activityId=${this.id}`).then((res) => {
 | 
			
		||||
        if (res?.data) {
 | 
			
		||||
          this.activeList = res.data.records
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -136,6 +136,7 @@ export default {
 | 
			
		||||
  props: {},
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      indexBar: '',
 | 
			
		||||
      lists: [
 | 
			
		||||
        {
 | 
			
		||||
          iconPath: 'home',
 | 
			
		||||
@@ -198,9 +199,16 @@ export default {
 | 
			
		||||
    ...mapState(['user', 'global']),
 | 
			
		||||
  },
 | 
			
		||||
  watch: {},
 | 
			
		||||
  onLoad() {
 | 
			
		||||
  onLoad(o) {
 | 
			
		||||
    if (o.index) {
 | 
			
		||||
      this.indexBar = o.index
 | 
			
		||||
    }
 | 
			
		||||
    this.getEchart1()
 | 
			
		||||
    this.getEchart2()
 | 
			
		||||
    this.getList()
 | 
			
		||||
    this.getList2()
 | 
			
		||||
 | 
			
		||||
    this.currentTabBar = this.indexBar
 | 
			
		||||
    this.areaId = this.user.areaId
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
 
 | 
			
		||||
@@ -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}` })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,13 +17,7 @@
 | 
			
		||||
            <div class="plan">
 | 
			
		||||
              <span>审批进度:</span>
 | 
			
		||||
 | 
			
		||||
              <span class="business_status" v-if="item.approvalStatus == 0"> {{ $dict.getLabel('listApprovalStatusHb', item.approvalStatus) }}</span>
 | 
			
		||||
 | 
			
		||||
              <span class="business_status_blue" v-if="item.approvalStatus == 1"> {{ $dict.getLabel('listApprovalStatusHb', item.approvalStatus) }}</span>
 | 
			
		||||
 | 
			
		||||
              <span class="business_status_gray" v-if="item.approvalStatus == 2">
 | 
			
		||||
                {{ $dict.getLabel('listApprovalStatusHb', item.approvalStatus) }}
 | 
			
		||||
              </span>
 | 
			
		||||
              <span class="business_status" :style="{ color: item.approvalStatus == 0 ? '#FF9B2B' : item.approvalStatus == 1 ? '#3078E1' : '#666666' }"> {{ $dict.getLabel('listApprovalStatusHb', item.approvalStatus) }}</span>
 | 
			
		||||
            </div>
 | 
			
		||||
          </view>
 | 
			
		||||
 | 
			
		||||
@@ -111,7 +105,7 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    goDetail(item) {
 | 
			
		||||
      uni.navigateTo({ url: `./detail?id=${item.id}&listType=${this.listType}` })
 | 
			
		||||
      uni.navigateTo({ url: `./Detail?id=${item.id}&listType=${this.listType}` })
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    change(index) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1388
									
								
								src/apps/AppWorkonline/Detail.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										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>
 | 
			
		||||