@@ -832,3 +832,12 @@ export function attachmentUpload(data) { | |||||
data: data | data: data | ||||
}) | }) | ||||
} | } | ||||
// 投诉建议列表 | |||||
export function adviceList(query) { | |||||
return request({ | |||||
url: '/villageAffairs/public/adviceList', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} |
@@ -138,6 +138,8 @@ const whiteList = [ | |||||
'/sunVillage_info/list_vote', //详情页 | '/sunVillage_info/list_vote', //详情页 | ||||
'/sunVillage_info/list_vote_detail', //详情页 | '/sunVillage_info/list_vote_detail', //详情页 | ||||
'/sunVillage_info/list_vote_form', //详情页 | '/sunVillage_info/list_vote_form', //详情页 | ||||
'/sunVillage_info/list_complaint', //详情页 | |||||
'/sunVillage_info/list_complaint_add', //详情页 | |||||
'/sunVillage_info/homeApplication/applicationList', //列表页面 | '/sunVillage_info/homeApplication/applicationList', //列表页面 | ||||
'/sunVillage_info/proposerLite', | '/sunVillage_info/proposerLite', | ||||
'/sunVillage_info/paidExit/paidExitList', //列表页面 | '/sunVillage_info/paidExit/paidExitList', //列表页面 | ||||
@@ -3831,6 +3831,24 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/list_vote'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/list_vote'], resolve) | ||||
}, | }, | ||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/list_complaint', | |||||
name: 'sunVillageInfoListComplaint', | |||||
meta: { | |||||
title: '投诉建议', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/list_complaint'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/list_complaint_add', | |||||
name: 'sunVillageInfoListComplaintAdd', | |||||
meta: { | |||||
title: '投诉建议', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/list_complaint_add'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同网签 | { ////阳光村务(新)-- 合同网签 | ||||
path: '/sunVillage_info/list_signature', | path: '/sunVillage_info/list_signature', | ||||
name: 'sunVillageInfoListSignature', | name: 'sunVillageInfoListSignature', | ||||
@@ -223,12 +223,17 @@ | |||||
display: flex; | display: flex; | ||||
align-items: center; | align-items: center; | ||||
justify-content: center; | justify-content: center; | ||||
padding-top: 40PX; | |||||
padding-top: 45PX; | |||||
width: 25%; | width: 25%; | ||||
margin-top: 10PX; | |||||
&:nth-child(3){ | &:nth-child(3){ | ||||
margin-right: 0; | margin-right: 0; | ||||
} | } | ||||
&:nth-child(4n+1){ | |||||
margin-top: 15PX; | |||||
} | |||||
&:nth-child(1){ | |||||
margin-top: 0PX; | |||||
} | |||||
&.n_1{ | &.n_1{ | ||||
background: url('../../assets/images/sunVillage_info/index_block_1_rights.png') no-repeat center top; | background: url('../../assets/images/sunVillage_info/index_block_1_rights.png') no-repeat center top; | ||||
background-size: 34.5PX; | background-size: 34.5PX; | ||||
@@ -266,7 +271,7 @@ | |||||
} | } | ||||
} | } | ||||
.footer{ | .footer{ | ||||
position: absolute; | |||||
margin-top: 15PX; | |||||
bottom: 5.5vh; | bottom: 5.5vh; | ||||
width: 100%; | width: 100%; | ||||
font-size: 22px; | font-size: 22px; | ||||
@@ -0,0 +1,196 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div | |||||
class="header_main" | |||||
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head_green.png')})`" | |||||
> | |||||
投诉建议 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
<div class="add_btn" @click="goAdd" v-show="showBtn"></div> | |||||
</div> | |||||
<van-list | |||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | |||||
@load="getList" | |||||
> | |||||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index" > | |||||
<van-cell | |||||
:border="false" | |||||
:title="item.subjectName" | |||||
:label="'时间:'+item.startTime.substr(0,10)+' - '+item.endTime.substr(0,10)" | |||||
center | |||||
:to="{name: item.isVote || showBtn ? 'sunVillageInfoListVoteDetail':'sunVillageInfoListVoteForm',query:{id:item.id,type:show?'':'code'}}" | |||||
> | |||||
<template #right-icon> | |||||
<p style="color: #1D6FE9">投票</p> | |||||
</template> | |||||
<template #icon> | |||||
<img src="../../assets/images/sunVillage_info/icon_vote.png" style="width: .5rem;margin-right: 2%;"> | |||||
</template> | |||||
</van-cell> | |||||
<template #right v-if="showBtn"> | |||||
<div style="background-color: #ee0a24;height: 100%" @click="goRemove(item.id)">删除</div> | |||||
<div style="background-color: #07c160" @click="goEdit(item.id)">修改</div> | |||||
<div style="background-color: rgb(255, 166, 62);" v-if="item.status != '3'" @click="goRanking(item.id)">发布</div> | |||||
</template> | |||||
</van-swipe-cell> | |||||
</van-list> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { adviceList , delPoll , publicPoll } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import request from '@/utils/request' | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
applicationList:[], | |||||
loading: false, | |||||
finished: false, | |||||
show: false, | |||||
fileList:[], | |||||
showBtn:true, | |||||
}; | |||||
}, | |||||
created() { | |||||
if (Cookies.get('user')){ | |||||
this.queryParams.userId = JSON.parse(Cookies.get('user')).id | |||||
} | |||||
}, | |||||
methods: { | |||||
getList(){ | |||||
var _this = this; | |||||
let queryParams = { | |||||
advicePhone:JSON.parse(Cookies.get('user')).phone | |||||
} | |||||
adviceList(queryParams).then(response => { | |||||
_this.listLength = response.total; | |||||
response.rows.map(res=>{ | |||||
_this.applicationList.push(res); | |||||
}) | |||||
if(_this.applicationList.length >= response.total){ | |||||
_this.finished = true; | |||||
return; | |||||
}else{ | |||||
_this.loading = false; | |||||
_this.queryParams.pageNum += 1 ; | |||||
} | |||||
}); | |||||
}, | |||||
goAdd(){ | |||||
this.$router.push('/sunVillage_info/list_complaint_add') | |||||
}, | |||||
goDetail(id){ | |||||
this.$router.push({path:'/sunVillage_info/list_vote_detail',query: {id:id}}) | |||||
}, | |||||
goEdit(id){ | |||||
this.$router.push({path:'/sunVillage_info/list_vote_edit',query: {id:id}}) | |||||
}, | |||||
goRanking(id){ | |||||
this.$dialog.alert({ | |||||
title: '提示', | |||||
message: '确认发布?', | |||||
showCancelButton:true, | |||||
}) | |||||
.then(() => { | |||||
publicPoll(id).then(response => { | |||||
this.$notify({ type: 'success', message: '发布成功' }); | |||||
this.applicationList = []; | |||||
this.getList() | |||||
}); | |||||
}) | |||||
.catch(() => { | |||||
// on cancel | |||||
}); | |||||
}, | |||||
goRemove(id){ | |||||
this.$dialog.alert({ | |||||
title: '提示', | |||||
message: '确认删除?', | |||||
showCancelButton:true, | |||||
}) | |||||
.then(() => { | |||||
delPoll(id).then(response => { | |||||
this.$notify({ type: 'success', message: '删除成功' }); | |||||
this.applicationList = []; | |||||
this.getList() | |||||
}); | |||||
}) | |||||
.catch(() => { | |||||
// on cancel | |||||
}); | |||||
} | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
min-height: 100vh; | |||||
width: 100vw; | |||||
.header_main{ | |||||
height: 116px; | |||||
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn{ | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
.add_btn{ | |||||
width: 56.4px; | |||||
height: 40.8px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||||
background-size: 47px 34px; | |||||
position: absolute; | |||||
right: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
.van-swipe-cell { | |||||
position: relative; | |||||
overflow: hidden; | |||||
cursor: grab; | |||||
width: 96%; | |||||
margin: 0 auto; | |||||
margin-top: 15PX; | |||||
box-shadow: 5PX 5PX 2PX #ccc; | |||||
border-radius: 10PX; | |||||
} | |||||
/deep/ .van-swipe-cell__right{ | |||||
display: flex; | |||||
align-items: center; | |||||
width: 150PX; | |||||
margin-left: 5PX; | |||||
a,div{ | |||||
margin: 0; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
color: #ffffff; | |||||
font-size: 14PX; | |||||
height: 100%; | |||||
flex: 1; | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,269 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
投诉建议 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
<div class="add_btn"></div> | |||||
</div> | |||||
<img src="../../assets/images/sunVillage_info/complaint_add_icon_01.jpg" width="100%" alt=""> | |||||
<van-form @submit="onSubmit"> | |||||
<div class="list_main"> | |||||
<van-field readonly required label="投诉内容" :border="false" /> | |||||
<div class="input_field"> | |||||
<van-field | |||||
v-model="form.subjectName" | |||||
:rules="[{ required: true , message:'具体说明举报内容' }]" | |||||
rows="4" | |||||
autosize | |||||
type="textarea" | |||||
maxlength="1000" | |||||
placeholder="具体说明举报内容" | |||||
show-word-limit | |||||
:border="false" | |||||
/> | |||||
</div> | |||||
<van-field readonly required label="图片线索" :border="false" /> | |||||
<van-uploader /> | |||||
<van-field readonly required label="视频线索" :border="false" /> | |||||
<van-uploader /> | |||||
<van-field readonly required label="所在区域" :border="false" /> | |||||
<div class="input_field"> | |||||
<van-field v-model="value1" right-icon="arrow-down" placeholder="显示图标" :border="false" /> | |||||
</div> | |||||
<van-field readonly required label="线索地址(具体到村小组)" :border="false" /> | |||||
<div class="input_field"> | |||||
<van-field placeholder="请输入地址" :border="false" /> | |||||
</div> | |||||
<van-field readonly label="投诉人(非必填)" :border="false" /> | |||||
<div class="input_field"> | |||||
<van-field placeholder="请输入姓名" :border="false" /> | |||||
</div> | |||||
<van-field readonly label="联系电话(非必填,我们将对号码保密)" :border="false" /> | |||||
<div class="input_field"> | |||||
<van-field placeholder="请输入电话" :border="false" /> | |||||
</div> | |||||
</div> | |||||
<div style="margin: 16px auto;width: 50%;"> | |||||
<van-button round block type="primary" native-type="submit"> | |||||
保存 | |||||
</van-button> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { commonUpload , addPoll } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import request from '@/utils/request' | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
showStartTime:false, | |||||
showEndTime:false, | |||||
form:{ | |||||
startTime:this.format(new Date(),'yyyy-MM-dd HH:mm:ss'), | |||||
endTime:this.format(new Date(),'yyyy-MM-dd HH:mm:ss'), | |||||
type:'1', | |||||
anonymous:'Y', | |||||
status:'2', | |||||
options:[{name:''}] | |||||
}, | |||||
openPic:[], | |||||
fileList:[], | |||||
fileList1:[], | |||||
startTime:new Date(), | |||||
endTime:new Date(), | |||||
type:'', | |||||
openFile:[], | |||||
openFileList:[], | |||||
queryParams:{ | |||||
bookId:'', | |||||
deptId:'', | |||||
}, | |||||
openFile2:[], | |||||
openPic2:[], | |||||
value1:'' | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
}, | |||||
methods: { | |||||
addOptions(){ | |||||
var that = this; | |||||
let array = that.form.options.filter(function (e) { return e.name == ""; }); | |||||
console.log(array); | |||||
if (array.length>0){ | |||||
that.$toast('请勿添加多个空选项!'); | |||||
}else{ | |||||
that.form.options.push({name:''}) | |||||
} | |||||
}, | |||||
onSubmit(){ | |||||
var that = this; | |||||
addPoll(that.form).then((r1) => { | |||||
if (r1.code == 200){ | |||||
that.$notify({ type: 'success', message: '新增成功' }); | |||||
setTimeout(function(){ | |||||
history.back(-1); | |||||
},2000) | |||||
} | |||||
}) | |||||
}, | |||||
onConfirmOpenNy(data){ | |||||
this.form.startTime = this.format(data,'yyyy-MM-dd HH:mm:ss'); | |||||
this.startTime = data; | |||||
this.showStartTime = false; | |||||
}, | |||||
onConfirmOpenEndTime(data){ | |||||
this.form.endTime = this.format(data,'yyyy-MM-dd HH:mm:ss'); | |||||
this.endTime = data; | |||||
this.showEndTime = false; | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
/deep/ .van-button--primary{ | |||||
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||||
background-size: 100% 100%; | |||||
border: none; | |||||
} | |||||
.van-radio:last-child{ | |||||
margin-right: 0; | |||||
} | |||||
.input_field{ | |||||
border: 1px solid #d8d8d8; | |||||
padding: 5px 15px; | |||||
border-radius: 8PX; | |||||
margin: 10PX 0; | |||||
} | |||||
.home_wrapper{ | |||||
background: #f1f2f2; | |||||
min-height: 100vh; | |||||
width: 100vw; | |||||
.header_main { | |||||
height: 116px; | |||||
background: url('../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn { | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
.release_head{ | |||||
height: 90px; | |||||
padding:0 23px; | |||||
display: flex; | |||||
align-items: center; | |||||
font-size: 26px; | |||||
color: #929292; | |||||
.people{ | |||||
flex: 1; | |||||
display: flex; | |||||
align-items: center; | |||||
.icon{ | |||||
width: 24px; | |||||
height: 21px; | |||||
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
margin-right: 8px; | |||||
} | |||||
} | |||||
.time{ | |||||
flex: 1; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content:flex-end; | |||||
.icon{ | |||||
width: 25px; | |||||
height: 25px; | |||||
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
margin-right: 8px; | |||||
} | |||||
} | |||||
} | |||||
.release_conetnt{ | |||||
padding:0 22px; | |||||
font-size: 32px; | |||||
color: #252525; | |||||
line-height: 44px; | |||||
img{ | |||||
max-width: 100%; | |||||
margin-bottom: 16px; | |||||
} | |||||
p{ | |||||
margin-bottom: 16px; | |||||
} | |||||
} | |||||
.list_main{ | |||||
padding: 75px 25px 25px; | |||||
background: #ffffff url("../../assets/images/sunVillage_info/complaint_add_icon_02.jpg") no-repeat center top; | |||||
background-size: auto 75px; | |||||
width: 94%; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.tit{ | |||||
font-size: 16PX; | |||||
padding: 15PX 10PX; | |||||
} | |||||
/deep/ .van-cell{ | |||||
padding-left: 0!important; | |||||
padding-right: 0!important; | |||||
padding-bottom: 0!important; | |||||
line-height: 1; | |||||
&:nth-child(1){ | |||||
padding-top: 0; | |||||
} | |||||
} | |||||
/deep/ .van-field__label{ | |||||
padding-left: 10PX; | |||||
width: auto; | |||||
display: flex; | |||||
align-items: center; | |||||
border-left: 4PX solid #2ec6a9; | |||||
} | |||||
/deep/ .van-cell--required::before{ | |||||
left: 22%; | |||||
} | |||||
/deep/ .van-field__error-message{ | |||||
display: none; | |||||
} | |||||
} | |||||
</style> |
@@ -122,7 +122,11 @@ | |||||
checkFarmer(this.formData).then(response => { | checkFarmer(this.formData).then(response => { | ||||
// console.log(response.data) | // console.log(response.data) | ||||
if (response.code == 200){ | if (response.code == 200){ | ||||
Cookies.set("user", response.data, { expires: 30 }); | |||||
let seconds = 3600; | |||||
let expires = new Date(new Date() * 1 + seconds * 1000); | |||||
Cookies.set("user", response.data, { expires: expires }); | |||||
this.$router.push({path:'/sunVillage_info/index_code_rights'}) | this.$router.push({path:'/sunVillage_info/index_code_rights'}) | ||||
} | } | ||||
}); | }); | ||||