Browse Source

加入接口

dev
是小王呀\24601 1 year ago
parent
commit
10f950837c
  1. 17
      src/api/demand.js
  2. 9
      src/api/event.js
  3. 25
      src/api/home.js
  4. 1
      src/api/user.js
  5. 2
      src/router/router.config.js
  6. 35
      src/views/activity/detail.vue
  7. 45
      src/views/appealDetail/index.vue
  8. 84
      src/views/discussion/index.vue
  9. 28
      src/views/event/index.vue
  10. 38
      src/views/home/index.vue
  11. 98
      src/views/search/index.vue
  12. 49
      src/views/userInfo/index.vue

17
src/api/demand.js

@ -29,6 +29,7 @@ export function getUserDemandUnSolvedDetail(params) {
params
})
}
// 需求类型
export function selectList(id) {
@ -37,3 +38,19 @@ export function selectList(id) {
method: 'get'
})
}
//诉求详情
export function icEventOldDetail(params) {
return request({
url: `/governance/icEventOld/detail`,
method: 'get',
params
})
}
//办理经过
export function icEventOldProcess(params) {
return request({
url: `/governance/icEventOld/process`,
method: 'get',
params
})
}

9
src/api/event.js

@ -10,6 +10,15 @@ export function saveOfficialAccountEvent(data) {
data
})
}
// 上报范围
export function checkAreaPoint(data) {
return request({
url: `/gov/org/agency/checkAreaPoint`,
method: 'post',
message: '上报事件中...',
data
})
}
// 获取事件列表
export function eventList(params) {

25
src/api/home.js

@ -17,4 +17,27 @@ export function icEventOldDiscuss(data) {
data
})
}
// 点赞
export function handelClicsupport(data) {
return request({
url: `/governance/icEventOldDiscuss/addDiscuss`,
method: 'post',
data
})
}
//搜索
export function keyWordSearch(data) {
return request({
url: `/actual/base/communityActivity/keyWordSearch`,
method: 'post',
data
})
}
//热门词语
export function popularSearch(data) {
return request({
url: `/actual/base/communityActivity/topWordList`,
method: 'post',
data
})
}

1
src/api/user.js

@ -18,6 +18,7 @@ export function checkWxmpRegister(params) {
params
})
}
// 获取用户信息
export function getUserWechatByUserId(id) {
return request({

2
src/router/router.config.js

@ -93,7 +93,7 @@ export const constantRouterMap = [
path: '/discussion',
name: 'discussion',
component: () => import('@/views/discussion'),
meta: { title: '社区议事', keepAlive: false }
meta: { title: '居民议事', keepAlive: false }
},
{
path: '/comMessages',

35
src/views/activity/detail.vue

@ -1,17 +1,17 @@
<template>
<div class='container m-bot50'>
<div class="card">
<img src="@/assets/images/zhishu.png" alt="" style="width: 100%;">
<img :src="item.coverPic" alt="" style="width: 100%;">
<div class="m-top15 p0">
<h2 style="margin: 0; font-size: 21px;">春天植树节邀您行</h2>
<h2 style="margin: 0; font-size: 21px;">{{ item.activityName }}</h2>
<van-cell class="m-top15" :border="false" :title-style="{ 'max-width': '80px' }" title="活动时间:"
value="2024-03-12 09:00 至 2024-03-12 17:00"></van-cell>
<van-cell :border="false" :title-style="{ 'max-width': '115px' }" title="报名开始时间:"
value="2024-03-12 09:00"></van-cell>
value=" item.startTime "></van-cell>
<van-cell :border="false" :title-style="{ 'max-width': '115px' }" title="报名截止时间:"
value="2024-03-12 09:00"></van-cell>
<van-cell :border="false" :title-style="{ 'max-width': '80px' }" title="活动地点:"
value="重庆南路90号嘉定山森林公园南门"></van-cell>
value="item.address"></van-cell>
<van-cell :border="false" :title-style="{ 'max-width': '65px' }" title="举办方:"
value="嘉定山社区 重庆路小学"></van-cell>
<van-divider />
@ -46,10 +46,11 @@
</template>
<script>
import { communityActivity } from '@/api/home';
export default {
data() {
return {
activityList:[],
signUp: [
{ name: "", mobile: "", remark: "" },
]
@ -64,7 +65,29 @@ export default {
},
handelDelResi() {
this.signUp.pop()
}
},
async communityActivity() {
let parm = {
pageSize: this.pageSize,
pageNo: this.pageNo++,
agencyId: this.agencyId,
activityName: "",
status: "",
typeId: "",
startTime: "",
endTime: "",
address: "",
assistingParty: ""
}
let res = await communityActivity(parm)
if (res) {
this.loading = false;
if (res.list.length < this.pageSize) {
this.finished = true;
}
this.activityList = this.activityList.concat(res.list);
}
},
},
components: {},
computed: {},

45
src/views/appealDetail/index.vue

@ -1,19 +1,19 @@
<template>
<div>
<div class="block container">
<div class="title fw500">{{ detail.content }}</div>
<div class="block container" v-for="(item, index) in ProblemDescription" :key="index">
<div class="title fw500">{{ item.sourceTypeName }}</div>
<div class="time">{{ detail.happenTime || detail.reportTime }}</div>
<div class="time">{{ item.happenTime || detail.reportTime }}</div>
<div class="imgs">
<van-image
fit="cover"
v-for="(item2, index2) in detail.imageList"
@click.prevent.stop="previewImage(index2, detail.imageList)"
v-for="(item2, index2) in item.imageList"
@click.prevent.stop="previewImage(index2, item.imageList)"
:src="item2"
:key="index2"
/>
</div>
<div class="address">详细地址{{ detail.address }}</div>
<div class="address">详细地址{{ item.address }}</div>
</div>
<div class="block container">
@ -49,10 +49,10 @@
>
</div>
</div>
<div class="block container">
<div class="block container" v-for="(item, index) in ProcessListL" :key="index">
<div class="title">处理进展</div>
<van-divider />
<van-steps v-if="process.length > 0 && detail.pageType === 'event'" direction="vertical" :active="0">
<van-steps v-if="ProcessListL.length > 0 && item.pageType === 'event'" direction="vertical" :active="0">
<van-step v-for="(item, index) in process" :key="index">
<div class="step-title" v-if="item.agencyId">指派</div>
<div class="step-title" v-if="!item.timeLimit">完成并回复</div>
@ -195,7 +195,7 @@
<script>
import { ImagePreview } from 'vant'
import { process, updateEvent } from '@/api/event'
import { getUserDemandUnSolvedDetail } from '@/api/demand'
import { getUserDemandUnSolvedDetail,icEventOldDetail,icEventOldProcess} from '@/api/demand'
export default {
name: 'appealDetail',
@ -206,15 +206,40 @@ export default {
return {
evaluate: 0,
detail: {},
process: []
process: [],
ProblemDescription:{},
ProcessListL:{}
}
},
mounted() {
this.detail = this.$route.query
this.icEventOldProcess()
this.icEventOldDetail()
this.getProcess()
console.log(this.detail)
},
methods: {
icEventOldDetail(){
console.log("1111");
let parm ={
icEventId: "1790257956802387970"
}
let res =icEventOldDetail(parm)
this.ProblemDescription=res.data.list
;
},
icEventOldProcess(){
console.log("1111");
let parm ={
icEventId: "1790257956802387970"
}
let res =icEventOldProcess(parm)
this.ProcessList=res.data.list
;
},
setEvaluate(val) {
if (this.detail.pageType === 'event') {
updateEvent({

84
src/views/discussion/index.vue

@ -5,18 +5,18 @@
<van-button round type="info" class="custom-button font-size13 m-top10 m-right12 ">查询</van-button>
</div>
<div class='container'>
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="communityActivity"
class="card" :offset="50">
<div class="activity_content " v-for="(item, index) in discussionList" :key="index"
@click="$router.push({ path: `/discusionDetail` })">
<div class="van-multi-ellipsis--l2 m-bottom10">
{{ item.title }}
<van-list class="card" :offset="50">
<div class="activity_content " v-for="(item, index) in discussionList" :key="index" >
<div class="van-multi-ellipsis--l2 m-bottom10" @click="$router.push({ path: `/discusionDetail` })">
{{ item.eventContent }}
</div>
<div class="flex flex-end">
<div class=""><img src="@/assets/images/icons/resi.png" class="img_17"> 参加{{ item.content }}
<div class=""><img src="@/assets/images/icons/resi.png" class="img_17"> 参加{{ item.total }}
</div>
<div><img src="@/assets/images/icons/support.png" class="img_17">支持{{ item.time }}</div>
<div><img src="@/assets/images/icons/oppose.png" class="img_17">反对{{ item.content }}</div>
<div><img src="@/assets/images/icons/support.png" class="img_17" @click="handelClicsupport(item.eventId)">支持{{ item.supportNum }}</div>
<div><img src="@/assets/images/icons/oppose.png" class="img_17" @click="handelClicopposeNum(item.eventId)">反对{{ item.opposeNum }}</div>
</div>
</div>
</van-list>
@ -29,53 +29,73 @@
</template>
<script>
import { communityActivity } from '@/api/home';
import { communityActivity,icEventOldDiscuss,handelClicsupport } from '@/api/home';
import registerDialog from '@/components/registerDialog';
export default {
data() {
return {
discussionList: [
{ title: '最近重庆南路60号院改造,很多居民反应希望 政府给楼外加保护层,冬天温度太低。', content: '111', time: '1111', address: '1111', people: '报名人数', state: '报名状态' },
{ title: '嘉定山社区路段维修时间比较长,耽误居民生 活,出行不便,望尽快维修。活动名称 gj gj fg gfj gf', content: '222', time: '2222', address: '222', people: '报名人数', state: '报名状态' },
{ title: '嘉定山社区路段维修时间比较长,耽误居民生 活,出行不便,望尽快维修。活动名称 dfsg dg fg dfh fh fdj ', content: '333', time: '333', address: '333', people: '报名人数', state: '报名状态' },
],
pageSize: 5,
pageNo: 1,
agencyId: null,
finished: false,
loading: true,
loading: false,
showRegister: false,
searchValue: ""
searchValue: "",
userId:""
};
},
created() {
this.agencyId = this.$store.state.app.agencyId;
this.communityActivity();
this.userId = this.$store.state.app.appId;
this.icEventOldDiscuss();
},
methods: {
async communityActivity() {
async handelClicsupport(data){
let parm = {
pageSize: this.pageSize,
pageNo: this.pageNo++,
eventId:data,
agencyId: this.agencyId,
activityName: "",
status: "",
typeId: "",
startTime: "",
endTime: "",
address: "",
assistingParty: ""
userId: this.userId,
opinionFlag:0
}
console.log(parm);
let res = await handelClicsupport(parm)
this.icEventOldDiscuss()
},
async handelClicopposeNum(data){
let parm = {
eventId:data,
agencyId: this.agencyId,
userId: this.userId,
opinionFlag:1
}
console.log(parm);
let res = await handelClicsupport(parm)
this.icEventOldDiscuss()
},
async icEventOldDiscuss(){
let parm = {
pageSize: 10,
pageNo: 1,
agencyId: null,
icEventId:null
}
let res = await communityActivity(parm)
let res = await icEventOldDiscuss(parm)
if (res) {
this.loading = false;
if (res.list.length < this.pageSize) {
this.finished = true;
}
this.activityList = this.activityList.concat(res.list);
console.log(res);
this.discussionList = res.list
}
},
handelClickJump(path) {
if (path === 'activityDetail') {
if (this.$store.state.app.userInfo.mobile) {

28
src/views/event/index.vue

@ -70,7 +70,7 @@ import Audio from '@/components/Audio'
import Map from '@/components/Map'
import appeal from '@/views/appeal'
import {uploadvariedfile} from '@/api/basic'
import {saveOfficialAccountEvent} from '@/api/event'
import {saveOfficialAccountEvent,checkAreaPoint} from '@/api/event'
import {mapKey} from '@/config'
export default {
@ -91,7 +91,8 @@ export default {
address: '',
eventContent: '',
name: '',
phone: ''
phone: '',
agencyId:''
}
},
mounted() {
@ -110,6 +111,8 @@ export default {
//
this.getMyLocation()
this.phone = this.$store.state.app.userInfo.phone
this.agencyId = this.$store.state.app.agencyId;
},
methods: {
//
@ -127,6 +130,27 @@ export default {
this.longitude = data.latlng.lng
this.latitude = data.latlng.lat
this.address = data.poiaddress
this.ifRange(this.longitude,this.latitude)
},
ifRange(longitude,latitude){
console.log(longitude,latitude,'经纬度');
let parm={
latitude,
longitude,
agencyId:this.agencyId
}
let res = checkAreaPoint(parm)
if(res.code==0){
if(res.data){
this.$toast.fail('该位置不在受理范围内,请重新选择位置,或者联系客服')
this.address=""
}
}else{
this.$toast.fail(msg)
}
},
errorPosition() {
console.log('定位失败,再次进行定位')

38
src/views/home/index.vue

@ -86,9 +86,9 @@
<div class="flex flex-end flex-center gray m-top10 font-size13">
<div class="flex flex-center"><img src="@/assets/images/icons/resi.png"
class="img_16 m-right7" alt=""><span>参与 {{ item.total }}</span></div>
<div class="flex flex-center"><img src="@/assets/images/icons/support.png" alt=""
<div class="flex flex-center" @click="handelClicsupport(item.eventId)"><img src="@/assets/images/icons/support.png" alt=""
class="img_16 m-right7"><span>支持 {{ item.supportNum }}</span></div>
<div class="flex flex-center"><img src="@/assets/images/icons/oppose.png" alt=""
<div class="flex flex-center" @click="handelClicopposeNum(item.eventId)" ><img src="@/assets/images/icons/oppose.png" alt=""
class="img_16 m-right7"><span>反对 {{ item.opposeNum }}</span></div>
</div>
</div>
@ -101,7 +101,7 @@
<script>
import registerDialog from '@/components/registerDialog';
import { communityActivity,icEventOldDiscuss } from '@/api/home';
import { communityActivity,icEventOldDiscuss,handelClicsupport} from '@/api/home';
export default {
data() {
return {
@ -135,15 +135,42 @@ export default {
],
activityList: [],
eventList: [],
showRegister: false
showRegister: false,
userId:""
};
},
created() {
console.log(this.$store.state.app);
this.agencyId = this.$store.state.app.agencyId;
this.userId = this.$store.state.app.appId;
this.communityActivity()//
this.icEventOldDiscuss()//
},
methods: {
async handelClicopposeNum(data){
let parm = {
eventId:data,
agencyId: this.agencyId,
userId: this.userId,
opinionFlag:1
}
console.log(parm);
let res = await handelClicsupport(parm)
this.icEventOldDiscuss()
},
async handelClicsupport(data){
let parm = {
eventId:data,
agencyId: this.agencyId,
userId: this.userId,
opinionFlag:0
}
console.log(parm);
let res = await handelClicsupport(parm)
this.icEventOldDiscuss()
},
async communityActivity() {
let parm = {
pageSize: 10,
@ -186,7 +213,8 @@ export default {
this.$router.push({ path: `/${path}` })
console.log("1111"+path);
}
}
},
},
components: { registerDialog },
computed: {},

98
src/views/search/index.vue

@ -2,13 +2,13 @@
<div>
<div class="flex flex-center2 search_box">
<van-search v-model="searchKey" shape="round" background="#fffff" placeholder="请输入搜索关键词" class="flex1" @blur="handelBlurSearch" />
<van-button type="info" round size="small" class="m-right10" @click
="handelClickSearch">搜索</van-button>
<van-button type="info" round size="small" class="m-right10" @click="handelClickSearch">搜索</van-button>
</div>
<span v-if="searchFlag" class="p-12 flex">按关键字“<span class="blue">{{searchKey}}</span>搜索到的结果如下</span>
<section class='card m-top10' v-else>
<div class="title"><span>热门搜索</span></div>
<van-button type="default" round size="small" class="m-right10 m-top10">测试</van-button>
<van-button type="default" round size="small" class="m-right10 m-top10" v-for="(item, index) in topWordList" :key="index" @click="handelClickTopSearch(item.name)">{{ item.name}}</van-button>
</section>
<div class="card" v-if="searchFlag">
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="getTable">
@ -23,6 +23,7 @@
</template>
<script>
import { keyWordSearch,popularSearch } from '@/api/home';
export default {
data() {
return {
@ -31,78 +32,69 @@ export default {
finished: false,
searchFlag:false,
tableList: [
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策2024年青岛市北区最新养老补贴发放政策2024年青岛市北区最新养老补贴发放政策2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
},
{
title: '2024年青岛市北区最新养老补贴发放政策',
date: '2022-09-01'
}
],
pageSize:20,
pageNo:1
pageNo:1,
topWordList:{}
};
},
created() {
if(this.$route.query.searchKey){
this.searchFlag = true;
}
this.popularSearch()
},
methods: {
handelBlurSearch(){
this.searchFlag = this.searchKey?true:false;
},
//
getTable() {
setTimeout(() => {
for (let i = 0; i < 10; i++) {
this.tableList.push({title:'这是新加的市北区',date:'2024-10-5'});
async getTable() {
let parm = {
pageSize: 10,
pageNo: 1,
keyWordList:this.searchKey
}
console.log(this.tableList);
//
this.loading = false;
// let res = await keyWordSearch(parm)
// console.log(res);
// setTimeout(() => {
// for (let i = 0; i < 10; i++) {
// this.tableList.push({title:'',date:'2024-10-5'});
// }
// console.log(this.tableList);
// //
// this.loading = false;
//
if (this.tableList.length >= 40) {
this.finished = true;
}
}, 1000);
// //
// if (this.tableList.length >= 40) {
// this.finished = true;
// }
// }, 1000);
},
handelClickTopSearch(parm){
console.log(parm);
this.searchFlag = true;
this.pageNo = 1;
this.searchKey = parm;
this.getTable();
},
handelClickSearch(){
this.searchFlag = true;
this.pageNo = 1;
this.getTable();
},
async popularSearch(){
const res = await popularSearch()
if(res.code==0){
this.topWordList = res.data
console.log("1215");
}else{
this.$toast(res.msg)
}
}
},
components: { },
computed: {

49
src/views/userInfo/index.vue

@ -6,16 +6,17 @@
<van-image width="37" height="37" :src="userInfo.headImgUrl" round />
</template>
</van-cell>
<van-field label="姓名" required v-model="surName" placeholder="请输入" />
<van-field label="姓名" v-model="surName" placeholder="请输入" />
<van-cell title="性别">
<van-radio-group class="gender" v-model="gender">
<van-radio name="1"></van-radio>
<van-radio name="2" style="margin-left: 50px"></van-radio>
</van-radio-group>
</van-cell>
<template v-if="type !== 'edit'">
<van-field label="手机号" required v-model="phone" placeholder="请输入" />
<van-field label="验证码" required v-model="smsCode" placeholder="请输入">
<van-field label="身份证号码" v-model="idNum" placeholder="请输入" />
<template>
<van-field label="手机号" v-model="phone" placeholder="请输入" />
<van-field label="验证码" v-model="smsCode" placeholder="请输入">
<template #button>
<van-button size="mini" round type="info" v-if="time === 60" @click="getCode">获取验证码</van-button>
<van-button size="mini" round type="info" v-else disabled>{{ time }}s后重试</van-button>
@ -102,7 +103,6 @@ export default {
jiedaoOptions: [],
time: 60,
userInfo: {},
phone: '',
smsCode: '',
surName: '',
@ -117,7 +117,6 @@ export default {
gridId: '',
customerId: '',
homeId: '',
streetOptions: [],
communityOptions: [],
quarterOptions: [],
@ -125,7 +124,10 @@ export default {
unitOptions: [],
houseOptions: [],
type: '',
city: ''
city: '',
street:"",
district:"",
idNum:""
}
},
@ -146,6 +148,7 @@ export default {
document.title = this.$route.params.type === 'edit' ? '编辑' : '注册'
this.userInfo = this.$store.state.app.userInfo
this.gender = this.$store.state.app.userInfo.gender
console.log(this.userInfo, 'this.userInfo');
if (this.type === 'edit') {
this.surName = this.userInfo.realName
this.gender = this.userInfo.gender
@ -158,6 +161,7 @@ export default {
console.log(this.streetId, 'this.streetId')
})
/* this.quarterId = this.userInfo.quarterId
this.buildingId = this.userInfo.buildingId
this.unitId = this.userInfo.unitId
@ -191,6 +195,7 @@ export default {
console.log('定位失败,再次进行定位')
},
submit() {
console.log(this.gender);
let params = {
gender: this.gender,
userId: this.userInfo.userId,
@ -204,6 +209,21 @@ export default {
customerId: this.customerId,
homeId: this.homeId
}
// let params1={
// street:this.street,
// userId:this.userInfo.id,
// mobile:this.phone,
// district:this.district,
// surname:this.surName,
// name:this.userInfo.name,
// realName:this.userInfo.realName,
// idNum:this.idNum,
// gender:this.gender,
// // buildingAddress:this.userInfo.realName,
// nickname:this.userInfo.nickname,
// headImgUrl:this.userInfo.headImgUrl,
// customerId:this.customerId
// }
if (this.type !== 'edit') {
params.phone = this.phone
params.smsCode = this.smsCode
@ -227,11 +247,11 @@ export default {
return
}
}
if (!params.streetId) {
if (!this.street) {
this.$toast.fail('请选择所在街道')
return
}
if (!params.communityId) {
if (!this.district) {
this.$toast.fail('请选择所在社区')
return
}
@ -287,18 +307,25 @@ export default {
})
},
setVal(key, val, method) {
console.log(key, val, method,"url");
console.log(this.street, 'street');
if (key === 'street') {
this.communityId = ''
this.customerId = val.customerId
this.street=val.label;
this.communityOptions = []
this.quarterOptions = []
this.buildingOptions = []
this.unitOptions = []
this.houseOptions = []
}
if (key === 'community') {
this.quarterId = ''
this.gridId = ''
this.district=val.label
console.log(this.district, 'district');
this.quarterOptions = []
this.buildingOptions = []
this.unitOptions = []
@ -335,7 +362,7 @@ export default {
//
getAllAgencyStreet() {
getAllAgencyStreet({}).then(res => {
console.log(res, 'resresres')
this.streetOptions = res
? res.map(item => {
return {
@ -345,6 +372,7 @@ export default {
}
})
: []
console.log(this.streetOptions, 'resresres')
this.communityOptions = []
console.log(this.city)
if (this.city === '青岛市') {
@ -355,6 +383,7 @@ export default {
console.log(item)
}
})
console.log(this.streetOptions,"wrf ");
this.getChildAgencyByPid()
}
})

Loading…
Cancel
Save