Browse Source

金点子的接口

dongming-master
是小王呀\24601 9 months ago
parent
commit
2e1cdeb1b4
  1. 33
      src/api/peoSuggestion.js
  2. 6
      src/router/router.config.js
  3. 120
      src/views/peoSuggestion/explainSpecial.vue
  4. 69
      src/views/peoSuggestion/goldenIdea.vue
  5. 24
      src/views/peoSuggestion/goldenIdeaDetail.vue
  6. 32
      src/views/peoSuggestion/index.vue
  7. 3
      src/views/peoSuggestion/solicitationDaily.vue
  8. 7
      src/views/peoSuggestion/topicListDetail.vue

33
src/api/peoSuggestion.js

@ -6,18 +6,8 @@ export function icEventSpecialSubject(data) {
data
})
}
//金点子专题详情
// export function getDetail(data) {
// return request({
// url: `/governance/icEventSpecialSubject/getDetail`,
// method: 'get',
// data
// })
// }
//金点子详情
//获取处理进展
export function getDetail(params) {
//专题详细介绍
export function getDetailSpecial(params) {
return request({
url: `/governance/icEventSpecialSubject/getDetail`,
method: 'get',
@ -25,6 +15,25 @@ export function getDetail(params) {
params
})
}
//金点子专题详情
export function getDetail(data) {
return request({
url: `/governance/icEventOld/detail`,
method: 'post',
data
})
}
//金点子详情
//获取处理进展
// export function getDetail(params) {
// return request({
// url: `/governance/icEventSpecialSubject/getDetail`,
// method: 'get',
// message: '获取处理进展中...',
// params
// })
// }
export function icEventOldAdd(data) {
return request({

6
src/router/router.config.js

@ -150,6 +150,12 @@ export const constantRouterMap = [
component: () => import('@/views/peoSuggestion/explain.vue'),
meta: { title: '征集说明', keepAlive: false }
},
{
path: '/explainSpecial',
name: 'explainSpecial',
component: () => import('@/views/peoSuggestion/explainSpecial.vue'),
meta: { title: '专题征集说明', keepAlive: false }
},
{
path: '/solicitationDaily',
name: 'solicitationDaily',

120
src/views/peoSuggestion/explainSpecial.vue

@ -0,0 +1,120 @@
<template>
<div>
<div class="flex flex-mean flex-y" style="background-color: #FFFFFF; height: 200px;">
<img src="../../assets/images/peoSuggestion/6.jpg" style="width: 100%; height: 200px;" />
<div style="position: absolute;font-size: 30px;color: #ffff;text-align: center;width: 100%;">
<span>{{ title }}</span>
</div>
</div>
<div class='' style="position: relative;top: -10px;">
<div class="card">
<span>
{{ subjectContent }}
</span>
<br>
<!-- <span>&emsp;&emsp;为贯彻落实以人民为中心的发展思想,坚持新时代党的群众路线,践行大社会大治理大服务工作理念进一步畅通和规范人民建议征集通道,根据城阳区人民建议征集工作办法(试行)有关规定现征求您的建议注意事项:</span>
<br>
<span>
注意事项:
</span>
<br>
<span>1人民建议是指公民法人或社会组织(简称建议人)为了社会公共利益针对社会公共事务对我市经济建设政治建设文化建设社会建设生态文明建设等各级党委和政府反映情况并提出建议 </span>
<br>
<span>2申诉求决类检举控告类事项和依法应通过诉讼仲裁行政复议等法定途径可解决的事项不纳入人民征集事项范畴</span> -->
</div>
</div>
<div class="flex flex-center1 " style="position: fixed; bottom: 30px;left: 40px;">
<van-button block color="linear-gradient(to right, #81B5FB, #3E92FF)" style="width: 300px;" round @click="onClickdaily">开始填写</van-button>
</div>
<Android @send-number="handleNumber" />
</div>
</template>
<script>
import {sphereLifeSearcdetail } from "@/api/lingCircle"
import Share from "@/components/Share"
import registerDialog from '@/components/registerDialog';
import { setConfig } from '@/utils/jweixin'
import { Toast, Dialog } from 'vant'
export default {
data() {
return {
title:"",
subjectContent:"",
id:""
};
},
created() {
},
async mounted() {
this.title = this.$route.query.title
this.id = this.$route.query.id
this.subjectContent = this.$route.query.subjectContent
},
methods: {
//
onClickdaily(){
this.$router.push({path:`SpecialsolicitationFill`,query: { title:this.title,subjectContent: this.subjectContent,id:this.id
}},)
},
},
components: { Share, registerDialog },
computed: {
disabledRecord() {
return (item) => {
if (!item.cutOffTime || item.online != 1) return true
let flag = new Date(item.cutOffTime.replace(/-/g, '/')).getTime() < Date.now() || item.currentParticipants >= item.participants || item.currentParticipants >= item.participants;
return flag || false
}
},
},
watch: {},
}
</script>
<style lang='less' scoped>
.phone{
height: 50px;
bottom:8vh;
}
:deep img{
max-width: 100%;
}
:deep(.p0>.van-cell) {
padding: 0;
}
:deep(.van-cell) {
padding: 16px 8px;
}
:deep(.van-cell__title) {
color: #666666;
display: flex;
&>span {
flex: 1;
}
}
:deep(.van-cell__value) {
text-align: left;
}
:deep(.van-cell--required) {
&::before {
left: -5px;
}
}
</style>

69
src/views/peoSuggestion/goldenIdea.vue

@ -3,11 +3,7 @@
<div class="flex flex-mean" style="background-color: #FFFFFF;">
<van-search class="flex flex-1" v-model="subjectTitle" shape="round" placeholder="请输入搜索关键词">
<template #action>
<!-- 添加样式确保按钮显示并设置合适的宽高和对齐 -->
<!-- <div @click="onSearch"
style="display: flex; align-items: center; justify-content: center; padding: 0 10px; cursor: pointer;">
a搜索
</div> -->
</template>
</van-search>
<van-button round type="info" class="custom-button font-size13 m-top10 m-right12" @click="handleSearch">查询</van-button>
@ -18,11 +14,11 @@
<div class='container'>
<van-tabs @click="onClickTab()" v-model="tagActive">
<van-tab v-for="item in tagList" :key="item.id" :title="item.tagName">
<div class="flex flex-y flex1 flex-end" v-if="PublicityList.length !== 0">
<div class="flex flex-y flex1 flex-end">
<van-list :finished="finished" finished-text="没有更多了"
class="card" :offset="50">
<div v-if="!showGold" class="activity_content flex m-top10" v-for="(item, index) in goldIdealist"
:key="index" @click="$router.push({ path: `/goldenIdeaDetail`, query: { eventId: item.icEventId } })">
:key="index" @click="$router.push({ path: `/goldenIdeaDetail`, query: { eventId: item.icEventId, } })">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;">
<span class="van-multi-ellipsis--l2">
{{ item.subjectTitle }}
@ -42,18 +38,18 @@
</div>
</div>
<div v-if="showGold" class="activity_content flex m-top10" v-for="(item, index) in goldIdealList"
:key="index" @click="$router.push({ path: `/goldenIdeaDetail`, query: { eventId: item.id } })">
:key="index" @click="$router.push({ path: `/goldenIdeaDetail`, query: { eventId: item.icEventId,specialSubjectId:item.specialSubjectId} })">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;">
<span class="van-multi-ellipsis--l2">
{{ item.subjectTitle }}
</span>
<div class="flex flex-end flex-end gray m-top10 font-size13">
<div class="flex flex-center">
<span>{{ item.publicationPeopleName }} </span>
<span>{{ item.eventContent }} </span>
</div>
<div class="flex flex-x">
<div class="flex flex-center">
<span> {{ item.publicationTime }}</span>
<span> {{ item.createdTime }}</span>
</div>
</div>
@ -63,9 +59,9 @@
</div>
</van-list>
</div>
<div v-else class="no-data">
<!-- <div v-else class="no-data">
暂无数据~
</div>
</div> -->
</van-tab>
</van-tabs>
@ -85,28 +81,6 @@ export default {
return {
tagActive:"",
showGold:false,
PublicityList: [
{
title:"70岁以上高龄老人补贴福利发放于1月1日",
name:"胡冰",
time:"2024-09-10 09:30"
},
{
title:"70岁以上高龄老人补贴福利发放于1月1日",
name:"胡冰",
time:"2024-09-10 09:30"
},
{
title:"70岁以上高龄老人补贴福利发放于1月1日",
name:"胡冰",
time:"2024-09-10 09:30"
},
{
title:"70岁以上高龄老人补贴福利发放于1月1日",
name:"胡冰",
time:"2024-09-10 09:30"
},
],
tagList:[{
id:"0",
tagName:"日常征集"
@ -163,7 +137,7 @@ export default {
}
let res = await icEventSpecialSubject(parm)
if (res.code === 0) {
this.eventList = res.data.list.slice(0, 4);
this.eventList = res.data.list;
}
},
//
@ -175,14 +149,15 @@ export default {
eventContent:"",
operationType:4,
openFlag:"",
specialSubjectId:"",
specialSubjectId:"all",
subjectTitle:this.subjectTitle,
goldenIdeaFlag:1,
agencyId:"",
reportUserId:""
}
let res = await icEventSpecialSubject(parm)
let res = await ideaList(parm)
if (res.code === 0) {
this.goldIdealList=[]
this.goldIdealList = res.data.list;
// this.tagList.unshift({ tagName: '', id: 'new' })
}
@ -197,13 +172,14 @@ export default {
operationType:4,
openFlag:"",
specialSubjectId:"",
subjectTitle:"",
subjectTitle:this.subjectTitle,
goldenIdeaFlag:1,
agencyId:"",
reportUserId:""
}
let res = await ideaList(parm)
if (res.code === 0) {
this.goldIdealist=[]
this.goldIdealist = res.data.list;
// this.tagList.unshift({ tagName: '', id: 'new' })
}
@ -212,7 +188,8 @@ export default {
this.$router.push({name:'goldenIdeaDetail',query:{id:item.id}})
},
handleSearch(){
this.PublicityList = [];
this.goldIdealist = [];
this.eventList=[]
this.pageNo = 1;
this.icEventSpecialSubjectGold()
this.ideaList()
@ -220,19 +197,7 @@ export default {
filterTagId(tagId) {
return this.tagList.filter(item => item.id === tagId)[0].tagName || '--';
},
// async advertisingTag() {
// let parm = {
// pageSize: 10,
// pageNo: 1,
// status: 1,
// tagName: null
// }
// let res = await advertisingTag(parm)
// if (res.code === 0) {
// this.tagList = res.data.list;
// this.tagList.unshift({ tagName: '', id: 'new' })
// }
// },
extractChineseCharactersAndPunctuation(str) {
const chineseCharsAndPunctuation = str.match(/[\u4e00-\u9fa5\u3000-\u303F\uff00-\uffef]/g);
return chineseCharsAndPunctuation ? chineseCharsAndPunctuation.join('') : '';

24
src/views/peoSuggestion/goldenIdeaDetail.vue

@ -3,14 +3,14 @@
<div class='container' style="height: 85vh; overflow: auto;">
<div class="card flex flex-y ">
<h2>{{ ProblemDescription.subjectTitle }}</h2>
<div class="m-bottom5">{{ ProblemDescription.subjectContent }}</div>
<div class="m-bottom5">{{ ProblemDescription.eventContent }}</div>
<div class="font-size13 gray">{{ ProblemDescription.createdTime }}</div>
<div class="image-grid" v-for="item in ProblemDescription.imageList" >
<div class="grid-item ">
<img :src="item" style="width: 105px; height: 75px;">
</div>
</div>
<div class="flex flex-y flex-center1 flex-center2 gray back_color m-top15">
<!-- <div class="flex flex-y flex-center1 flex-center2 gray back_color m-top15">
<div class="flex m-top16 flex-center1 flex-center2 vote white">
<div :style="{ width:support1Width}">
<span class="van-ellipsis" style="width: 100px;">支持 {{ ProblemDescription.supportNum }}</span>
@ -22,19 +22,19 @@
</div>
<div class="gray font-size13 p-12">{{dataValue}}人参与</div>
</div> -->
</div>
</div>
<div class="bot_btn flex flex-x flex-mean m-bot50 back_color back_color">
<!-- <van-button :disabled="disableAllButtons" round class="support"
<!-- <div class="bot_btn flex flex-x flex-mean m-bot50 back_color back_color">
<van-button :disabled="disableAllButtons" round class="support"
:icon="require('@/assets/images/icons/support.png')" type="info" @click="handelClicsupport">
支持
</van-button> -->
</van-button>
<van-button :disabled="disableAllButtons" round class="support"
:icon="require('@/assets/images/icons/oppose.png')" type="info" @click="handelClicopposeNum">
反对
</van-button>
</div>
</div> -->
</div>
<Android/>
</div>
@ -59,14 +59,15 @@ export default {
disableAllButtons: false,
eventId: "",
ProblemDescription: {},
vote: {}
vote: {},
specialSubjectId:""
};
},
components:{},
created() {
this.specialSubjectId=this.$route.query.specialSubjectId
console.log(this.$route.query.eventId);
this.eventId = this.$route.query.eventId
this.id = this.$route.query.eventId
this.agencyId = this.$store.state.app.agencyId;
@ -91,11 +92,12 @@ export default {
async getDetail() {
console.log(this.eventId, "this.id");
let parm = {
id: this.eventId
icEventId: this.eventId,
specialSubjectId:this.specialSubjectId
}
await getDetail(parm).then(res => {
this.ProblemDescription = res.data;
this.ProblemDescription.subjectContent= this.ProblemDescription.subjectContent.replace(/<[^>]*>/g, '')
// this.ProblemDescription.subjectContent= this.ProblemDescription.subjectContent.replace(/<[^>]*>/g, '')
this.dataValue = res.data.opposeNum + res.data.supportNum
})
},

32
src/views/peoSuggestion/index.vue

@ -64,7 +64,7 @@
</van-tabs>
<div v-if="!showGold" class="activity_content flex m-top10" v-for="(item, index) in goldIdealist"
:key="index" @click="$router.push({ path: `/discusionDetail`, query: { eventId: item.eventId } })">
:key="index" @click="$router.push({ path: `/goldenIdeaDetail`, query: { eventId: item.icEventId,specialSubjectId:item.specialSubjectId } })">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;">
<span class="van-multi-ellipsis--l2">
{{ item.subjectTitle }}
@ -84,27 +84,7 @@
</div>
</div>
<div v-if="showGold" class="activity_content flex m-top10" v-for="(item, index) in goldIdealList"
:key="index" @click="$router.push({ path: `/discusionDetail`, query: { eventId: item.eventId } })">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;">
<span class="van-multi-ellipsis--l2">
{{ item.subjectTitle }}
</span>
<div class="flex flex-end flex-end gray m-top10 font-size13">
<div class="flex flex-center">
<span>{{ item.publicationPeopleName }} </span>
</div>
<div class="flex flex-x">
<div class="flex flex-center">
<span> {{ item.publicationTime }}</span>
</div>
</div>
</div>
</div>
</div>
<div class="activity_content flex m-top10" v-for="(item, index) in goldIdealist" :key="index"
@click="$router.push({ path: `/discusionDetail`, query: { eventId: item.eventId } })">
:key="index" @click="$router.push({ path: `/goldenIdeaDetail`, query: { eventId: item.icEventId,specialSubjectId:item.specialSubjectId } })">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;">
<span class="van-multi-ellipsis--l2">
{{ item.subjectTitle }}
@ -123,6 +103,7 @@
</div>
</div>
</div>
</div>
</div>
<div style="position: fixed; right: 0px; bottom:40px;display: flex; flex-direction:column;">
@ -239,13 +220,13 @@ export default {
eventContent:"",
operationType:4,
openFlag:"",
specialSubjectId:"",
specialSubjectId:"all",
subjectTitle:"",
goldenIdeaFlag:1,
agencyId:"",
reportUserId:""
}
let res = await icEventSpecialSubject(parm)
let res = await ideaList(parm)
if (res.code === 0) {
this.goldIdealList = res.data.list.slice(0, 4);
// this.tagList.unshift({ tagName: '', id: 'new' })
@ -268,7 +249,8 @@ export default {
}
let res = await ideaList(parm)
if (res.code === 0) {
this.goldIdealist = res.data.list.slice(0, 4);
this.goldIdealist=[]
this.goldIdealist = res.data.list.slice(0,4)
// this.tagList.unshift({ tagName: '', id: 'new' })
}
},

3
src/views/peoSuggestion/solicitationDaily.vue

@ -35,7 +35,7 @@
<div class="block">
<van-cell title="上传图片/视频">
<template #label>
<van-uploader :after-read="afterRead" :max-count="3" accept="image/*,video/*"
<van-uploader v-model="fileList" :preview-image="true" :after-read="afterRead" :max-count="3" accept="image/*,video/*"
:max-size="10 * 1024 * 1024" />
</template>
</van-cell>
@ -95,6 +95,7 @@ export default {
},
radio:"",
fileList:[]
};
},
created() {

7
src/views/peoSuggestion/topicListDetail.vue

@ -47,7 +47,7 @@
<script>
import {
getDetail
getDetailSpecial
} from "@/api/peoSuggestion"
export default {
data() {
@ -86,7 +86,8 @@ export default {
},
methods: {
onClickdaily(){
this.$router.push({path:'peoSuggestionexplain',query: { title:this.ProblemDescription.subjectTitle,subjectContent: this.ProblemDescription.subjectContent
this.$router.push({path:'explainSpecial',query: { title:this.ProblemDescription.subjectTitle,
subjectContent: this.ProblemDescription.subjectContent,id:this.eventId
} })
},
async handelClicsupport() {
@ -118,7 +119,7 @@ export default {
let parm = {
id: this.eventId
}
await getDetail(parm).then(res => {
await getDetailSpecial(parm).then(res => {
this.ProblemDescription = res.data;
this.ProblemDescription.subjectContent= this.ProblemDescription.subjectContent.replace(/<[^>]*>/g, '')
this.dataValue = res.data.opposeNum + res.data.supportNum

Loading…
Cancel
Save