@@ -200,3 +200,28 @@ export function progressList(query) { | |||||
params: query | params: query | ||||
}) | }) | ||||
} | } | ||||
// 查询用户个人信息 | |||||
export function getUserProfile() { | |||||
return request({ | |||||
url: '/system/user/profile/get', | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 用户密码重置 | |||||
export function updateUserPwd(data) { | |||||
return request({ | |||||
url: '/system/user/profile/updatePwd', | |||||
method: 'post', | |||||
params: data | |||||
}) | |||||
} | |||||
// 查询举报留言详细 | |||||
export function getCommunicate(id) { | |||||
return request({ | |||||
url: '/enforce/communicate/get/' + id, | |||||
method: 'get' | |||||
}) | |||||
} |
@@ -1459,7 +1459,7 @@ export const constantRoutes = [ | |||||
path: '/lawEnforcement', | path: '/lawEnforcement', | ||||
name: 'lawEnforcement', | name: 'lawEnforcement', | ||||
meta: { | meta: { | ||||
title: '农业综合执法公众平台', | |||||
title: '农业综合行政执法公众平台', | |||||
hidden: true, | hidden: true, | ||||
}, | }, | ||||
component: (resolve) => require(['@/views/lawEnforcement/index'], resolve) | component: (resolve) => require(['@/views/lawEnforcement/index'], resolve) | ||||
@@ -4,8 +4,9 @@ | |||||
<div style="display: flex;padding: 0 3% 0.2rem;"> | <div style="display: flex;padding: 0 3% 0.2rem;"> | ||||
<form action="#" style="flex: 0.75;"> | <form action="#" style="flex: 0.75;"> | ||||
<van-search | <van-search | ||||
v-model="value" | |||||
placeholder="请输入搜索关键词" | |||||
v-model="queryParams.caseNum" | |||||
placeholder="请输入案件编号" | |||||
:search="handleQuery" | |||||
> | > | ||||
</van-search> | </van-search> | ||||
</form> | </form> | ||||
@@ -13,46 +14,97 @@ | |||||
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | <van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | ||||
</van-button> | </van-button> | ||||
</div> | </div> | ||||
<van-row style="padding: 0.2rem 3%;"> | |||||
<van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:企业 进行中 登记</p></van-col> | |||||
<van-col :span="4" align="right"><van-icon name="close" size="20" /></van-col> | |||||
<van-row style="padding: 0.2rem 3%;" v-show="showSxtj"> | |||||
<van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:{{showType}} {{showCaseStatus}} {{showCaseProgress}}</p></van-col> | |||||
<van-col :span="4" align="right"><van-icon name="close" size="20" @click="resetQuery"/></van-col> | |||||
</van-row> | </van-row> | ||||
<van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | ||||
<div class="sheetContent"> | <div class="sheetContent"> | ||||
<p class="sheetTitle">当事人类型</p> | |||||
<van-row> | |||||
<van-col :span="6"><p class="active">全部</p></van-col> | |||||
<van-col :span="12"><p>个人/个体工商户</p></van-col> | |||||
<van-col :span="6"><p>企业</p></van-col> | |||||
</van-row> | |||||
<p class="sheetTitle">案件状态</p> | |||||
<van-row> | |||||
<van-col :span="6"><p class="active">全部</p></van-col> | |||||
<van-col :span="6"><p>进行中</p></van-col> | |||||
<van-col :span="6"><p>结束</p></van-col> | |||||
<van-col :span="6"><p>中断</p></van-col> | |||||
</van-row> | |||||
<p class="sheetTitle">案件执法进度</p> | |||||
<van-row> | |||||
<van-col :span="6"><p class="active">全部</p></van-col> | |||||
<van-col :span="6"><p>登记</p></van-col> | |||||
<van-col :span="6"><p>勘察</p></van-col> | |||||
<van-col :span="6"><p>立案</p></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="6"><p>取证</p></van-col> | |||||
<van-col :span="6"><p>处理</p></van-col> | |||||
<van-col :span="6"><p>裁决</p></van-col> | |||||
<van-col :span="6"><p>执行</p></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="6"><p>备案</p></van-col> | |||||
<van-col :span="6"><p>结案</p></van-col> | |||||
</van-row> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
name="picker" | |||||
v-model="showType" | |||||
label="当事人类型" | |||||
placeholder="点击选择当事人类型" | |||||
@click="showDsrlx = true" | |||||
/> | |||||
<van-popup v-model="showDsrlx" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="typeColumns" | |||||
@confirm="onConfirmDsrlx" | |||||
@cancel="showDsrlx = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
name="picker" | |||||
v-model="showCaseStatus" | |||||
label="案件状态" | |||||
placeholder="点击选择案件状态" | |||||
@click="showAjzt = true" | |||||
/> | |||||
<van-popup v-model="showAjzt" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="caseStatusColumns" | |||||
@confirm="onConfirmAjzt" | |||||
@cancel="showAjzt = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
name="picker" | |||||
v-model="showCaseProgress" | |||||
label="案件执法进度" | |||||
placeholder="点击选择案件执法进度" | |||||
@click="showAjzfjd = true" | |||||
/> | |||||
<van-popup v-model="showAjzfjd" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="caseProgressColumns" | |||||
@confirm="onConfirmAjzfjd" | |||||
@cancel="showAjzfjd = false" | |||||
/> | |||||
</van-popup> | |||||
<!-- <p class="sheetTitle">当事人类型</p>--> | |||||
<!-- <van-row>--> | |||||
<!-- <van-col :span="6"><p class="active">全部</p></van-col>--> | |||||
<!-- <van-col :span="12"><p>个人/个体工商户</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>企业</p></van-col>--> | |||||
<!-- </van-row>--> | |||||
<!-- <p class="sheetTitle">案件状态</p>--> | |||||
<!-- <van-row>--> | |||||
<!-- <van-col :span="6"><p class="active">全部</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>进行中</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>结束</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>中断</p></van-col>--> | |||||
<!-- </van-row>--> | |||||
<!-- <p class="sheetTitle">案件执法进度</p>--> | |||||
<!-- <van-row>--> | |||||
<!-- <van-col :span="6"><p class="active">全部</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>登记</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>勘察</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>立案</p></van-col>--> | |||||
<!-- </van-row>--> | |||||
<!-- <van-row>--> | |||||
<!-- <van-col :span="6"><p>取证</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>处理</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>裁决</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>执行</p></van-col>--> | |||||
<!-- </van-row>--> | |||||
<!-- <van-row>--> | |||||
<!-- <van-col :span="6"><p>备案</p></van-col>--> | |||||
<!-- <van-col :span="6"><p>结案</p></van-col>--> | |||||
<!-- </van-row>--> | |||||
</div> | </div> | ||||
<van-row> | <van-row> | ||||
<van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;">重置</van-button></van-col> | |||||
<van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;">确定</van-button></van-col> | |||||
<van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="resetQuery">重置</van-button></van-col> | |||||
<van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="handleQuery">确定</van-button></van-col> | |||||
</van-row> | </van-row> | ||||
</van-action-sheet> | </van-action-sheet> | ||||
<van-list | <van-list | ||||
@@ -96,6 +148,10 @@ export default { | |||||
//是否滚动到底部 | //是否滚动到底部 | ||||
finished: false, | finished: false, | ||||
sheetShow: false, | sheetShow: false, | ||||
showDsrlx: false, | |||||
showAjzt: false, | |||||
showAjzfjd: false, | |||||
showSxtj: false, | |||||
// 查询参数 | // 查询参数 | ||||
queryParams: { | queryParams: { | ||||
// 分页 | // 分页 | ||||
@@ -116,17 +172,33 @@ export default { | |||||
caseStatusOptions:[], | caseStatusOptions:[], | ||||
caseProgressOptions:[], | caseProgressOptions:[], | ||||
typeOptions:[], | typeOptions:[], | ||||
typeColumns:[], | |||||
caseStatusColumns:[], | |||||
caseProgressColumns:[], | |||||
showType : '', | |||||
showCaseStatus : '', | |||||
showCaseProgress : '', | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.getDicts("enforce_body_type").then(response => { | this.getDicts("enforce_body_type").then(response => { | ||||
this.typeOptions = response.data; | this.typeOptions = response.data; | ||||
for (var i = 0 ; i < response.data.length ; i++){ | |||||
this.typeColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||||
} | |||||
}); | }); | ||||
this.getDicts("case_status").then(response => { | this.getDicts("case_status").then(response => { | ||||
this.caseStatusOptions = response.data; | this.caseStatusOptions = response.data; | ||||
for (var i = 0 ; i < response.data.length ; i++){ | |||||
this.caseStatusColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||||
} | |||||
}); | }); | ||||
this.getDicts("case_node").then(response => { | this.getDicts("case_node").then(response => { | ||||
this.caseProgressOptions = response.data; | this.caseProgressOptions = response.data; | ||||
for (var i = 0 ; i < response.data.length ; i++){ | |||||
this.caseProgressColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||||
} | |||||
}); | }); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
@@ -164,7 +236,50 @@ export default { | |||||
goDetail(id){ | goDetail(id){ | ||||
console.log(id) | console.log(id) | ||||
window.location = 'news/newDetail?id='+id; | window.location = 'news/newDetail?id='+id; | ||||
} | |||||
}, | |||||
onConfirmDsrlx(data){ | |||||
this.queryParams.type = data.value; | |||||
this.showType = data.text; | |||||
this.showDsrlx = false; | |||||
}, | |||||
onConfirmAjzt(data){ | |||||
this.queryParams.caseStatus = data.value; | |||||
this.showCaseStatus = data.text | |||||
this.showAjzt = false; | |||||
}, | |||||
onConfirmAjzfjd(data){ | |||||
this.queryParams.caseProgress = data.value; | |||||
this.showCaseProgress = data.text | |||||
this.showAjzfjd = false; | |||||
}, | |||||
resetQuery(){ | |||||
this.queryParams = { | |||||
// 分页 | |||||
pageNum: 1, | |||||
pageSize: 10, | |||||
// 查询排序 | |||||
orderByColumn: "id", | |||||
isAsc: "desc", | |||||
caseNum: null, | |||||
type: null, | |||||
caseStatus: null, | |||||
caseProgress: null, | |||||
}; | |||||
this.showType = ''; | |||||
this.showCaseStatus = ''; | |||||
this.showCaseProgress = ''; | |||||
this.showSxtj = false; | |||||
this.getList() | |||||
}, | |||||
/** 搜索按钮操作 */ | |||||
handleQuery() { | |||||
if(this.showType != '' || this.showCaseStatus != '' || this.showCaseProgress != ''){ | |||||
this.showSxtj = true; | |||||
} | |||||
this.caseList = []; | |||||
this.queryParams.pageNum = 1; | |||||
this.getList(); | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -181,9 +296,8 @@ export default { | |||||
padding-bottom: 0.5rem; | padding-bottom: 0.5rem; | ||||
} | } | ||||
.sheetContent{ | .sheetContent{ | ||||
padding: 10PX 1% 1rem; | |||||
padding: 10PX 1% 0; | |||||
margin-bottom: 0.5rem; | margin-bottom: 0.5rem; | ||||
border-bottom: 1px solid #eeeeee; | |||||
.sheetTitle{ | .sheetTitle{ | ||||
font-size: 0.42rem; | font-size: 0.42rem; | ||||
background-color: transparent; | background-color: transparent; | ||||
@@ -1,29 +1,51 @@ | |||||
<template> | <template> | ||||
<div class="app-container"> | <div class="app-container"> | ||||
<van-nav-bar | <van-nav-bar | ||||
title="投诉回复" | |||||
title="密码修改" | |||||
fixed | fixed | ||||
placeholder | placeholder | ||||
left-arrow | left-arrow | ||||
@click-left="onClickLeft" | @click-left="onClickLeft" | ||||
/> | /> | ||||
<div class="tabsBox"> | |||||
<van-field v-model="password" placeholder="请输入原密码" > | |||||
<template #left-icon> | |||||
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||||
</template> | |||||
</van-field> | |||||
<van-field v-model="newPassword" placeholder="请输入新密码" > | |||||
<template #left-icon> | |||||
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||||
</template> | |||||
</van-field> | |||||
</div> | |||||
<van-button type="default" class="loginOut">完成</van-button> | |||||
<van-form validate-first ref="form"> | |||||
<div class="tabsBox"> | |||||
<van-field | |||||
v-model="user.oldPassword" | |||||
type="password" | |||||
placeholder="请输入原密码" | |||||
:rules="[{ required: true }]" | |||||
> | |||||
<template #left-icon> | |||||
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||||
</template> | |||||
</van-field> | |||||
<van-field | |||||
v-model="user.newPassword" | |||||
type="password" | |||||
placeholder="请输入新密码" | |||||
:rules="[{ required: true }]" | |||||
> | |||||
<template #left-icon> | |||||
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||||
</template> | |||||
</van-field> | |||||
<van-field | |||||
v-model="user.confirmPassword" | |||||
type="password" | |||||
placeholder="请确认新密码" | |||||
:rules="[{ required: true }]" | |||||
> | |||||
<template #left-icon> | |||||
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon> | |||||
</template> | |||||
</van-field> | |||||
</div> | |||||
<van-button type="default" class="loginOut" @click="submit">完成</van-button> | |||||
</van-form> | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { updateUserPwd } from "@/api/lawEnforcement/index"; | |||||
export default { | export default { | ||||
name: "index", | name: "index", | ||||
data() { | data() { | ||||
@@ -31,14 +53,27 @@ export default { | |||||
active:0, | active:0, | ||||
message:'', | message:'', | ||||
password:'', | password:'', | ||||
newPassword:'' | |||||
newPassword:'', | |||||
user: { | |||||
oldPassword: undefined, | |||||
newPassword: undefined, | |||||
confirmPassword: undefined | |||||
}, | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
}, | }, | ||||
methods: { | methods: { | ||||
submit() { | |||||
const data = { | |||||
oldPassword:this.user.oldPassword, | |||||
newPassword:this.user.newPassword | |||||
} | |||||
updateUserPwd(data).then(response => { | |||||
this.$notify({ type: 'success' , message: response.msg }); | |||||
}); | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -9,84 +9,52 @@ | |||||
/> | /> | ||||
<van-tabs v-model="active" animated sticky> | <van-tabs v-model="active" animated sticky> | ||||
<van-tab title="全部"> | <van-tab title="全部"> | ||||
<div class="tabsBox"> | |||||
<van-cell title="方案名称名称名称" label="待回复· 2021-11-04" center :to="{name:'programmeDetail'}"> | |||||
<template #icon> | |||||
<van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||||
</template> | |||||
<template #default> | |||||
<p style="color: #1D6FE9;"><van-icon name="phone" />15314031621</p> | |||||
</template> | |||||
</van-cell> | |||||
<van-row> | |||||
<van-col :span="4">类型:</van-col> | |||||
<van-col :span="20">投诉</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4">标题:</van-col> | |||||
<van-col :span="20">事件标题时间标题时间标题</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4">内容:</van-col> | |||||
<van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"></van-col> | |||||
<van-col :span="20" align="right"><van-button icon="edit" type="danger" class="answerBtn" :to="{name:'reply'}">回复</van-button></van-col> | |||||
</van-row> | |||||
</div> | |||||
<div class="tabsBox"> | |||||
<van-cell title="方案名称名称名称" label="待回复· 2021-11-04" center :to="{name:'programmeDetail'}"> | |||||
<template #icon> | |||||
<van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||||
</template> | |||||
<template #default> | |||||
<p style="color: #1D6FE9;"><van-icon name="phone" />15314031621</p> | |||||
</template> | |||||
</van-cell> | |||||
<van-row> | |||||
<van-col :span="4">类型:</van-col> | |||||
<van-col :span="20">投诉</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4">标题:</van-col> | |||||
<van-col :span="20">事件标题时间标题时间标题</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4">内容:</van-col> | |||||
<van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"></van-col> | |||||
<van-col :span="20" align="right"><van-button icon="edit" type="danger" class="answerBtn">回复</van-button></van-col> | |||||
</van-row> | |||||
</div> | |||||
<div class="tabsBox"> | |||||
<van-cell title="方案名称名称名称" label="待回复· 2021-11-04" center :to="{name:'programmeDetail'}"> | |||||
<template #icon> | |||||
<van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||||
</template> | |||||
<template #default> | |||||
<p style="color: #1D6FE9;"><van-icon name="phone" />15314031621</p> | |||||
</template> | |||||
</van-cell> | |||||
<van-row> | |||||
<van-col :span="4">类型:</van-col> | |||||
<van-col :span="20">投诉</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4">标题:</van-col> | |||||
<van-col :span="20">事件标题时间标题时间标题</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4">内容:</van-col> | |||||
<van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"></van-col> | |||||
<van-col :span="20" align="right"><van-button icon="edit" type="danger" class="answerBtn">回复</van-button></van-col> | |||||
</van-row> | |||||
</div> | |||||
<van-list | |||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | |||||
@load="getNewList" | |||||
> | |||||
<div class="tabsBox" v-for="(item,index) in schemeList" :key="index"> | |||||
<van-cell :title="item.name" :label="item.reply ? '已回复 · ' + item.replyTime:'待回复 '" center :to="{name:'programmeDetail'}"> | |||||
<template #icon> | |||||
<van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||||
</template> | |||||
<template #default> | |||||
<p style="color: #1D6FE9;"><van-icon name="phone" style="top: 2px" />{{item.phone}}</p> | |||||
</template> | |||||
</van-cell> | |||||
<van-row> | |||||
<van-col :span="5">类型:</van-col> | |||||
<van-col :span="19">{{item.communicateType}}</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="5">标题:</van-col> | |||||
<van-col :span="19">{{item.title}}</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="5">内容:</van-col> | |||||
<van-col :span="19">{{item.content}}</van-col> | |||||
</van-row> | |||||
<van-row v-if="item.reply"> | |||||
<van-col :span="24" style="border-top: 1px solid #eee"></van-col> | |||||
</van-row> | |||||
<van-row v-if="item.reply"> | |||||
<van-col :span="5">回复:</van-col> | |||||
<van-col :span="19">{{item.reply}}</van-col> | |||||
</van-row> | |||||
<van-row v-if="item.reply"> | |||||
<van-col :span="5">回复人:</van-col> | |||||
<van-col :span="19">{{item.replyName}}</van-col> | |||||
</van-row> | |||||
<van-row v-if="!item.reply"> | |||||
<van-col :span="12"></van-col> | |||||
<van-col :span="12" align="right"><van-button icon="edit" type="danger" class="answerBtn" :to="{name:'reply',query:{id:item.id}}">回复</van-button></van-col> | |||||
</van-row> | |||||
</div> | |||||
</van-list> | |||||
</van-tab> | </van-tab> | ||||
<van-tab title="未回复"> | <van-tab title="未回复"> | ||||
内容 | 内容 | ||||
@@ -98,18 +66,53 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { getTopDeptId , schemeDetail,communicate } from "@/api/lawEnforcement/index"; | |||||
export default { | export default { | ||||
name: "index", | name: "index", | ||||
data() { | data() { | ||||
return { | return { | ||||
active:0 | |||||
active:0, | |||||
//查询参数 | |||||
queryParams: { | |||||
pageNum: 1, | |||||
pageSize: 5, | |||||
deptId:100, | |||||
}, | |||||
schemeList:[], | |||||
//是否显示加载 | |||||
loading: false, | |||||
//是否滚动到底部 | |||||
finished: false, | |||||
communicateOptions:[] | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
//转出方式字典 | |||||
this.getDicts("communicate_type").then(res => { | |||||
this.communicateOptions = res.data; | |||||
}); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
getNewList(){ | |||||
this.loading = true; | |||||
getTopDeptId().then(response => { | |||||
this.queryParams.deptId = response.data ; | |||||
communicate(this.queryParams).then(response => { | |||||
console.log(response) | |||||
for (var i = 0; i < response.rows.length; i++) { | |||||
response.rows[i].replyTime = response.rows[i].replyTime == '' ? '' : response.rows[i].replyTime.substr(0,10); | |||||
response.rows[i].communicateType = this.selectDictLabel(this.communicateOptions,response.rows[i].communicateType) | |||||
this.schemeList.push(response.rows[i]); | |||||
} | |||||
if(this.schemeList.length >= response.total){ | |||||
this.finished = true; | |||||
return; | |||||
} | |||||
this.queryParams.pageNum += 1 ; | |||||
this.loading = false; | |||||
}) | |||||
}) | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -138,6 +141,11 @@ export default { | |||||
} | } | ||||
/deep/.van-cell{ | /deep/.van-cell{ | ||||
padding: 0; | padding: 0; | ||||
padding-bottom: 10PX; | |||||
border-bottom: 1px solid #eee; | |||||
} | |||||
/deep/.van-cell::after{ | |||||
border: none; | |||||
} | } | ||||
/deep/.van-row{ | /deep/.van-row{ | ||||
margin-top: 15PX; | margin-top: 15PX; | ||||
@@ -56,7 +56,7 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { getTopDeptId , schemeDetail } from "@/api/lawEnforcement/index"; | |||||
import { getTopDeptId , schemeDetail,communicate } from "@/api/lawEnforcement/index"; | |||||
export default { | export default { | ||||
name: "index", | name: "index", | ||||
data() { | data() { | ||||
@@ -11,20 +11,20 @@ | |||||
<div class="tabsBox"> | <div class="tabsBox"> | ||||
<van-row> | <van-row> | ||||
<van-col :span="4">类型:</van-col> | <van-col :span="4">类型:</van-col> | ||||
<van-col :span="20">投诉</van-col> | |||||
<van-col :span="20">{{form.communicateType}}</van-col> | |||||
</van-row> | </van-row> | ||||
<van-row> | <van-row> | ||||
<van-col :span="4">标题:</van-col> | <van-col :span="4">标题:</van-col> | ||||
<van-col :span="20">事件标题时间标题时间标题</van-col> | |||||
<van-col :span="20">{{form.title}}</van-col> | |||||
</van-row> | </van-row> | ||||
<van-row> | <van-row> | ||||
<van-col :span="4">内容:</van-col> | <van-col :span="4">内容:</van-col> | ||||
<van-col :span="20">发生事件内容发生事件内容发生事件内容发生事件内发生事件内容发生事件内容发生事件内容发生事件内容发发生事件内容件内容发生事件内容。</van-col> | |||||
<van-col :span="20">{{form.content}}</van-col> | |||||
</van-row> | </van-row> | ||||
<van-row> | <van-row> | ||||
<van-col :span="24"> | <van-col :span="24"> | ||||
<van-field | <van-field | ||||
v-model="message" | |||||
v-model="form.reply" | |||||
rows="5" | rows="5" | ||||
autosize | autosize | ||||
type="textarea" | type="textarea" | ||||
@@ -38,19 +38,39 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { getCommunicate } from "@/api/lawEnforcement/index"; | |||||
export default { | export default { | ||||
name: "index", | name: "index", | ||||
data() { | data() { | ||||
return { | return { | ||||
active:0, | active:0, | ||||
message:'', | message:'', | ||||
// 表单参数 | |||||
form: {}, | |||||
// 咨询分类字典 | |||||
communicateTypeOptions: [], | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.getDicts("communicate_type").then(response => { | |||||
this.communicateTypeOptions = response.data; | |||||
}); | |||||
this.getDicts("sys_yes_no").then(response => { | |||||
this.isRealnameOptions = response.data; | |||||
}); | |||||
this.getDicts("sys_yes_no").then(response => { | |||||
this.isOpenOptions = response.data; | |||||
}); | |||||
this.getDetail() | |||||
}, | }, | ||||
methods: { | methods: { | ||||
getDetail(){ | |||||
getCommunicate(this.$route.query.id).then(response => { | |||||
this.form = response.data; | |||||
this.open = true; | |||||
this.title = "修改留言回复"; | |||||
}); | |||||
} | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -60,6 +80,9 @@ export default { | |||||
font-family: SourceHanSansCNBold; | font-family: SourceHanSansCNBold; | ||||
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | ||||
} | } | ||||
.app-container{ | |||||
padding: 2%; | |||||
} | |||||
/deep/ .van-tabs__line{ | /deep/ .van-tabs__line{ | ||||
background-color: #1D6FE9; | background-color: #1D6FE9; | ||||
} | } | ||||
@@ -3,7 +3,7 @@ | |||||
<van-nav-bar fixed placeholder > | <van-nav-bar fixed placeholder > | ||||
<template #title> | <template #title> | ||||
<van-image src="../../../static/images/lawEnforcement/logo.png" width="30" height="30" /> | <van-image src="../../../static/images/lawEnforcement/logo.png" width="30" height="30" /> | ||||
<p style="">农业综合执法公众平台</p> | |||||
<p style="">农业综合行政执法公众平台</p> | |||||
</template> | </template> | ||||
</van-nav-bar> | </van-nav-bar> | ||||
@@ -2,7 +2,7 @@ | |||||
<div class="app-container"> | <div class="app-container"> | ||||
<div class="title"> | <div class="title"> | ||||
<img style="display: inline-block;margin-right: 10px;" src="../../../static/images/lawEnforcement/login_logo.png" alt=""> | <img style="display: inline-block;margin-right: 10px;" src="../../../static/images/lawEnforcement/login_logo.png" alt=""> | ||||
<p>农业综合执法公众平台</p> | |||||
<p>农业综合行政执法公众平台</p> | |||||
</div> | </div> | ||||
<van-form style="width: 88%;margin: 0 auto;margin-top: 50px;" v-if="!showMessage"> | <van-form style="width: 88%;margin: 0 auto;margin-top: 50px;" v-if="!showMessage"> | ||||
<van-field | <van-field | ||||
@@ -80,7 +80,7 @@ | |||||
margin: 0 auto; | margin: 0 auto; | ||||
text-align: center; | text-align: center; | ||||
p{ | p{ | ||||
font-size: 1rem; | |||||
font-size: 0.95rem; | |||||
color: #1D6FE9; | color: #1D6FE9; | ||||
font-family: zqkhyt; | font-family: zqkhyt; | ||||
margin-top: 10PX; | margin-top: 10PX; | ||||
@@ -4,8 +4,9 @@ | |||||
<div style="display: flex;padding: 0 3% 0.2rem;"> | <div style="display: flex;padding: 0 3% 0.2rem;"> | ||||
<form action="#" style="flex: 0.75;"> | <form action="#" style="flex: 0.75;"> | ||||
<van-search | <van-search | ||||
v-model="value" | |||||
placeholder="请输入搜索关键词" | |||||
v-model="queryParams.productName" | |||||
placeholder="请输入农用品名称" | |||||
@input="handleQuery" | |||||
> | > | ||||
</van-search> | </van-search> | ||||
</form> | </form> | ||||
@@ -13,46 +14,50 @@ | |||||
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | <van-icon name="../../../static/images/lawEnforcement/icon/icon_ssbt.png" size="17" style="vertical-align: middle;margin-right: 5px;" />筛选 | ||||
</van-button> | </van-button> | ||||
</div> | </div> | ||||
<van-row style="padding: 0.2rem 3%;"> | |||||
<van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:企业 进行中 登记</p></van-col> | |||||
<van-col :span="4" align="right"><van-icon name="close" size="20" /></van-col> | |||||
<van-row style="padding: 0.2rem 3%;" v-show="showSxtj"> | |||||
<van-col :span="20"><p style="line-height: 20px;font-size: 14px;color: #878787;">筛选条件:{{showProductType}} {{showCategory}}</p></van-col> | |||||
<van-col :span="4" align="right"><van-icon name="close" size="20" @click="resetQuery"/></van-col> | |||||
</van-row> | </van-row> | ||||
<van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | <van-action-sheet v-model="sheetShow" title="筛选" duration="0.2" close-icon="arrow-down"> | ||||
<div class="sheetContent"> | <div class="sheetContent"> | ||||
<p class="sheetTitle">当事人类型</p> | |||||
<van-row> | |||||
<van-col :span="6"><p class="active">全部</p></van-col> | |||||
<van-col :span="12"><p>个人/个体工商户</p></van-col> | |||||
<van-col :span="6"><p>企业</p></van-col> | |||||
</van-row> | |||||
<p class="sheetTitle">案件状态</p> | |||||
<van-row> | |||||
<van-col :span="6"><p class="active">全部</p></van-col> | |||||
<van-col :span="6"><p>进行中</p></van-col> | |||||
<van-col :span="6"><p>结束</p></van-col> | |||||
<van-col :span="6"><p>中断</p></van-col> | |||||
</van-row> | |||||
<p class="sheetTitle">案件执法进度</p> | |||||
<van-row> | |||||
<van-col :span="6"><p class="active">全部</p></van-col> | |||||
<van-col :span="6"><p>登记</p></van-col> | |||||
<van-col :span="6"><p>勘察</p></van-col> | |||||
<van-col :span="6"><p>立案</p></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="6"><p>取证</p></van-col> | |||||
<van-col :span="6"><p>处理</p></van-col> | |||||
<van-col :span="6"><p>裁决</p></van-col> | |||||
<van-col :span="6"><p>执行</p></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="6"><p>备案</p></van-col> | |||||
<van-col :span="6"><p>结案</p></van-col> | |||||
</van-row> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
name="picker" | |||||
v-model="showProductType" | |||||
label="农用品类型" | |||||
placeholder="点击选择当事人类型" | |||||
@click="showNyplx = true" | |||||
/> | |||||
<van-popup v-model="showNyplx" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="productTypeColumns" | |||||
@confirm="onConfirmNyplx" | |||||
@cancel="showNyplx = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
name="picker" | |||||
v-model="showCategory" | |||||
label="农用品种类" | |||||
placeholder="点击选择案件状态" | |||||
@click="showNypzl = true" | |||||
/> | |||||
<van-popup v-model="showNypzl" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="categoryColumns" | |||||
@confirm="onConfirmNypzl" | |||||
@cancel="showNypzl = false" | |||||
/> | |||||
</van-popup> | |||||
</div> | </div> | ||||
<van-row> | <van-row> | ||||
<van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;">重置</van-button></van-col> | |||||
<van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;">确定</van-button></van-col> | |||||
<van-col :span="12" align="center"><van-button type="default" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="resetQuery">重置</van-button></van-col> | |||||
<van-col :span="12" align="center"><van-button type="info" style="width: 90%;height: 1.2rem;border-radius: 4PX;" @click="handleQuery">确定</van-button></van-col> | |||||
</van-row> | </van-row> | ||||
</van-action-sheet> | </van-action-sheet> | ||||
<van-list | <van-list | ||||
@@ -99,19 +104,52 @@ export default { | |||||
//是否滚动到底部 | //是否滚动到底部 | ||||
finished: false, | finished: false, | ||||
sheetShow: false, | sheetShow: false, | ||||
showNyplx: false, | |||||
showNypzl: false, | |||||
showSxtj: false, | |||||
//查询参数 | //查询参数 | ||||
queryParams: { | queryParams: { | ||||
// 分页 | |||||
pageNum: 1, | pageNum: 1, | ||||
pageSize: 5, | |||||
pageSize: 10, | |||||
deptId:100, | deptId:100, | ||||
// 查询排序 | |||||
orderByColumn: "id", | |||||
isAsc: "desc", | |||||
productType: null, | |||||
recordCode: null, | |||||
productName: null, | |||||
category: null, | |||||
agent: null, | |||||
checkStatus:"1", | |||||
}, | }, | ||||
//新闻集合 | //新闻集合 | ||||
newList:[], | newList:[], | ||||
//轮播图集合 | //轮播图集合 | ||||
bannerList:'' | |||||
bannerList:'', | |||||
productTypeOptions:[], | |||||
categoryOptions:[], | |||||
typeColumns:[], | |||||
productTypeColumns:[], | |||||
categoryColumns:[], | |||||
showProductType : '', | |||||
showCategory : '', | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.getDicts("product_type").then(response => { | |||||
this.productTypeOptions = response.data; | |||||
for (var i = 0 ; i < response.data.length ; i++){ | |||||
this.productTypeColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||||
} | |||||
}); | |||||
this.getDicts("category_type").then(response => { | |||||
this.categoryOptions = response.data; | |||||
for (var i = 0 ; i < response.data.length ; i++){ | |||||
this.categoryColumns.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}) | |||||
} | |||||
}); | |||||
this.getDeptId(); | this.getDeptId(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
@@ -123,7 +161,6 @@ export default { | |||||
}, | }, | ||||
getList(){ | getList(){ | ||||
this.loading = true; | this.loading = true; | ||||
productList(this.queryParams).then(response => { | productList(this.queryParams).then(response => { | ||||
this.newList = response.rows; | this.newList = response.rows; | ||||
if(this.newList.length >= response.total){ | if(this.newList.length >= response.total){ | ||||
@@ -134,6 +171,46 @@ export default { | |||||
this.loading = false; | this.loading = false; | ||||
}); | }); | ||||
}, | }, | ||||
onConfirmNypzl(data){ | |||||
this.queryParams.category = data.value; | |||||
this.showCategory = data.text; | |||||
this.showNypzl = false; | |||||
}, | |||||
onConfirmNyplx(data){ | |||||
this.queryParams.productType = data.value; | |||||
this.showProductType = data.text | |||||
this.showNyplx = false; | |||||
}, | |||||
resetQuery(){ | |||||
this.queryParams = { | |||||
// 分页 | |||||
pageNum: 1, | |||||
pageSize: 10, | |||||
deptId:100, | |||||
// 查询排序 | |||||
orderByColumn: "id", | |||||
isAsc: "desc", | |||||
productType: null, | |||||
recordCode: null, | |||||
productName: null, | |||||
category: null, | |||||
agent: null, | |||||
checkStatus:"1", | |||||
}, | |||||
this.showProductType = ''; | |||||
this.showCategory = ''; | |||||
this.showSxtj = false; | |||||
this.getDeptId() | |||||
}, | |||||
/** 搜索按钮操作 */ | |||||
handleQuery() { | |||||
if( this.showProductType != '' || this.showCategory != '' ){ | |||||
this.showSxtj = true; | |||||
} | |||||
this.caseList = []; | |||||
this.queryParams.pageNum = 1; | |||||
this.getList(); | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -2,13 +2,13 @@ | |||||
<div class="app-container"> | <div class="app-container"> | ||||
<div class="topBackground"> | <div class="topBackground"> | ||||
<van-nav-bar title="我的" fixed placeholder/> | <van-nav-bar title="我的" fixed placeholder/> | ||||
<van-row class="userInformation"> | |||||
<van-row class="userInformation" v-if="user"> | |||||
<van-col :span="6"> | <van-col :span="6"> | ||||
<van-image src="../../../../static/images/lawEnforcement/12.jpg" class="headImg" /> | <van-image src="../../../../static/images/lawEnforcement/12.jpg" class="headImg" /> | ||||
</van-col> | </van-col> | ||||
<van-col :span="12"> | <van-col :span="12"> | ||||
<p class="userName">农燊高科</p> | |||||
<p class="userDept">农业农村局<i style="margin-right: 0.5rem;"></i>种子部门</p> | |||||
<p class="userName">{{ user.userName }}</p> | |||||
<p class="userDept">{{ user.dept.deptName }} <i style="margin-right: 0.5rem;"></i> {{ postGroup }}</p> | |||||
</van-col> | </van-col> | ||||
<van-col :span="6" align="right"> | <van-col :span="6" align="right"> | ||||
<van-icon name="arrow" size="20" color="#FFF" style="line-height: 1.7rem;" /> | <van-icon name="arrow" size="20" color="#FFF" style="line-height: 1.7rem;" /> | ||||
@@ -54,23 +54,40 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { newList } from "@/api/index"; | |||||
import { getUserProfile } from "@/api/lawEnforcement/index"; | |||||
import { logout ,getInfo } from "@/api/login/index"; | |||||
import law from "@/components/common/law_footer"; | import law from "@/components/common/law_footer"; | ||||
export default { | export default { | ||||
name: "index", | |||||
name: "user", | |||||
components: { | components: { | ||||
law | law | ||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
user: { | |||||
dept:{} | |||||
}, | |||||
roleGroup: {}, | |||||
postGroup: {}, | |||||
activeTab: "userinfo" | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.getUser(); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
loginOut(){ | |||||
logout().then(response => { | |||||
location.reload(true); | |||||
}); | |||||
}, | |||||
getUser() { | |||||
getUserProfile().then(response => { | |||||
this.user = response.data; | |||||
this.roleGroup = response.roleGroup; | |||||
this.postGroup = response.postGroup; | |||||
}); | |||||
} | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -104,12 +121,12 @@ export default { | |||||
overflow: hidden; | overflow: hidden; | ||||
} | } | ||||
.userName{ | .userName{ | ||||
font-size: 20PX; | |||||
font-size: 0.55rem; | |||||
color: #FFFFFF; | color: #FFFFFF; | ||||
line-height: 0.85rem; | line-height: 0.85rem; | ||||
} | } | ||||
.userDept{ | .userDept{ | ||||
font-size: 14PX; | |||||
font-size: 0.4rem; | |||||
color: #FFFFFF; | color: #FFFFFF; | ||||
line-height: 0.85rem; | line-height: 0.85rem; | ||||
} | } | ||||