Sfoglia il codice sorgente

接口对接

wulanhaote
庞东旭 3 anni fa
parent
commit
55f047b872
18 ha cambiato i file con 2036 aggiunte e 139 eliminazioni
  1. +88
    -0
      src/api/onlineHome/homestead/reporting.js
  2. +78
    -0
      src/api/onlineHome/homestead/task.js
  3. +82
    -1
      src/router/index.js
  4. +256
    -0
      src/views/onlineHome/homestead/reporting/taskCloseCaseAdd.vue
  5. +111
    -0
      src/views/onlineHome/homestead/reporting/taskDetailedList.vue
  6. +194
    -0
      src/views/onlineHome/homestead/reporting/taskReportingAdd.vue
  7. +163
    -0
      src/views/onlineHome/homestead/reporting/taskReportingDetail.vue
  8. +134
    -0
      src/views/onlineHome/homestead/reporting/taskReportingList.vue
  9. +21
    -3
      src/views/onlineHome/homestead/supervision/supervisionAdd.vue
  10. +224
    -0
      src/views/onlineHome/homestead/supervision/supervisionCloseCase.vue
  11. +170
    -0
      src/views/onlineHome/homestead/supervision/supervisionList.vue
  12. +201
    -0
      src/views/onlineHome/homestead/supervision/supervisionModify.vue
  13. +56
    -46
      src/views/onlineHome/homestead/task/taskCloseCaseList.vue
  14. +29
    -33
      src/views/onlineHome/homestead/task/taskList.vue
  15. +37
    -5
      src/views/onlineHome/homestead/task/taskLssueAdd.vue
  16. +118
    -0
      src/views/onlineHome/homestead/task/taskLssueModify.vue
  17. +58
    -51
      src/views/onlineHome/homestead/task/taskRelease.vue
  18. +16
    -0
      src/views/onlineHome/workbench.vue

+ 88
- 0
src/api/onlineHome/homestead/reporting.js Vedi File

@@ -0,0 +1,88 @@
import request from '@/utils/request'

//查询列表
export function getList(data){
return request({
url:'/house/jgTask/listJgTaskByDeptId',
method:'get',
params:data
})
}

//查询上报情况列表
export function getTaskList(id){
return request({
url:'/house/jg/list',
method:'get'
})
}

//宅基地流转详情
export function getZjdly(id){
return request({
url:'/house/nmfwly/get/'+id,
method:'get'
})
}

//宅基地流转详情
export function nmfwlyAdd(data){
return request({
url:'/house/nmfwly/add',
method:'post',
data:data
})
}

//宅基地流转保存
export function nmfwlyEdit(data){
return request({
url:'/house/nmfwly/edit',
method:'post',
data:data
})
}

//宅基地流转提交
export function zyyctcApply(id){
return request({
url:'/house/zyyctc/submitApply/'+id,
method:'post',
})
}

//宅基地流转提交
export function jgAdd(data){
return request({
url:'/house/jg/add',
method:'post',
data:data
})
}

//宅基地流转提交
export function closeCase(data){
return request({
url:'/house/jg/closeCase',
method:'post',
data:data
})
}

//上传图片
export function upload(data){
return request({
url:'/common/upload',
method:'post',
headers:{'Content-Type': 'application/x-www-form-urlencoded;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'},
data:data
})
}

//宅基地流转详情
export function getJg(id){
return request({
url:'/house/jg/get/'+id,
method:'get'
})
}

+ 78
- 0
src/api/onlineHome/homestead/task.js Vedi File

@@ -0,0 +1,78 @@
import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da";

//查询列表
export function getList(data){
return request({
url:'/house/mobile/jgTask/list',
method:'get',
params:data
})
}

//查询上报情况列表
export function getTaskList(id){
return request({
url:'/house/jg/list',
method:'get'
})
}

//查询上报情况
export function getTaskGet(id){
return request({
url:'/house/jgTask/get/'+id,
method:'get'
})
}

//查询上报情况
export function listByTaskId(data){
return request({
url:'/house/jg/listByTaskId',
method:'get',
params:data
})
}

//查询上报情况
export function removeList(id){
return request({
url:'/house/jgTask/remove/'+id,
method:'get'
})
}

//查询上报情况
export function getTree(){
return request({
url:'/system/dept/treeselect',
method:'get'
})
}

//修改上报情况
export function editTaskGet(data){
return request({
url:'/house/jgTask/edit',
method:'post',
data:data
})
}

//新增任务
export function addTask(data){
return request({
url:'/house/jgTask/add',
method:'post',
data:data
})
}

//任务发布
export function distribute(data){
return request({
url:'/house/jgTask/distribute/'+data.list+'?taskId='+data.id,
method:'post',
})
}

+ 82
- 1
src/router/index.js Vedi File

@@ -861,6 +861,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskLssueAdd'], resolve)
},
{
path: '/taskLssueModify',
name: 'taskLssueModify',
meta: {
title: '修改任务下发',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskLssueModify'], resolve)
},
{
path: '/taskCloseCaseAdd',
name: 'taskCloseCaseAdd',
@@ -868,7 +877,7 @@ export const constantRoutes = [
title: '结案',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskCloseCaseAdd'], resolve)
component: (resolve) => require(['@/views/onlineHome/homestead/reporting/taskCloseCaseAdd'], resolve)
},
{
path: '/taskCloseCaseList',
@@ -878,6 +887,78 @@ export const constantRoutes = [
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskCloseCaseList'], resolve)
},
{
path: '/taskReportingList',
name: 'taskReportingList',
meta: {
title: '任务上报',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/reporting/taskReportingList'], resolve)
},
{
path: '/taskReportingDetail',
name: 'taskReportingDetail',
meta: {
title: '结案',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/reporting/taskReportingDetail'], resolve)
},
{
path: '/taskDetailedList',
name: 'taskDetailedList',
meta: {
title: '上报明细',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/reporting/taskDetailedList'], resolve)
},
{
path: '/taskReportingAdd',
name: 'taskReportingAdd',
meta: {
title: '任务上报',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/reporting/taskReportingAdd'], resolve)
},
{
path: '/supervisionList',
name: 'supervisionList',
meta: {
title: '违法监管',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/supervision/supervisionList'], resolve)
},
{
path: '/supervisionAdd',
name: 'supervisionAdd',
meta: {
title: '添加宅基地监管',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/supervision/supervisionAdd'], resolve)
},
{
path: '/supervisionModify',
name: 'supervisionModify',
meta: {
title: '修改宅基地监管',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/supervision/supervisionModify'], resolve)
},
{
path: '/supervisionCloseCase',
name: 'supervisionCloseCase',
meta: {
title: '修改宅基地监管',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/supervision/supervisionCloseCase'], resolve)
}
];



+ 256
- 0
src/views/onlineHome/homestead/reporting/taskCloseCaseAdd.vue Vedi File

@@ -0,0 +1,256 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">任务上报</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
v-model="sfzjjzw"
@click="showSys = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showSys" position="bottom">
<van-picker
show-toolbar
:columns="sysDictionaries"
@confirm="onConfirmSys"
@cancel="showSys = false"
/>
</van-popup>
<van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
clickable
label="监管类型"
placeholder="请选择"
v-model="jglx"
@click="showjglx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showjglx" position="bottom">
<van-picker
show-toolbar
:columns="jglxDictionaries"
@confirm="onConfirmJglx"
@cancel="showjglx = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="jgList.lasj"
label="立案时间"
placeholder="请选择立案时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
/>
</van-popup>
<van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
v-model="jgList.inspectorTime"
placeholder="请选择巡查时间"
@click="showinspectorTime = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showinspectorTime" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmInspectorTime"
/>
</van-popup>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
v-model="wfydlx"
@click="showwfydlx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showwfydlx" position="bottom">
<van-picker
show-toolbar
:columns="wfydlxDictionaries"
@confirm="onConfirmWfydlx"
@cancel="showwfydlx = false"
/>
</van-popup>
<van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="goAdd" class="submitButton">上<i style="margin-right: 1em;"></i>报</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { jgAdd } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskCloseCaseAdd",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {
this.getDictionaries();
this.jgList.taskId = this.$route.query.id;
},
methods: {
getDictionaries(){
//违法用地类型
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//监管类型
this.houseGetDicts("jglx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//是否在建建筑物
this.houseGetDicts("sys_yes_no").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});

},
onConfirmSys(data){
this.sfzjjzw = data.text;
this.jgList.sfzjjzw = data.value;
this.showSys = false;
},
onConfirmJglx(data){
this.jglx = data.text;
this.jgList.jglx = data.value;
this.showjglx = false;
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
onConfirmLasj(data){
this.jgList.lasj = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
onConfirmInspectorTime(data){
this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10);
this.showinspectorTime = false;
},
goAdd(){
console.log(this.jgList)
jgAdd(this.jgList).then(response => {
console.log(response);
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 111
- 0
src/views/onlineHome/homestead/reporting/taskDetailedList.vue Vedi File

@@ -0,0 +1,111 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="main_box" v-for="(item,index) in applicationList" :key="index">
<van-field readonly label="ID" input-align="right" v-model="item.id" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" v-model="item.zjddm" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" v-model="item.jglx" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" v-model="item.lasj" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" v-model="item.wfydlx" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" v-model="item.wfydmj+'㎡'" label-width="auto"/>
<van-cell title="操作" >
<template #default>
<van-button :to="{name:'taskReportingDetail', query: {id:item.id}}" color="#FFA63E" round type="default" size="mini" style="padding: 0 15px">查看</van-button>
<van-button v-if="item.status != 2" :to="{name:'taskReportingAdd', query: {id:item.id}}" color="#1D6FE9" round type="default" size="mini" style="padding: 0 15px">结案</van-button>
</template>
</van-cell>
</div>
</van-list>
</div>
</template>

<script>
import { getTaskList } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskDetailedList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
jglxStatus:[],
wfydlxStatus:[],
loading: false,
finished: false,
queryParams:{
taskId:'',
}

};
},
created() {
this.queryParams.taskId = this.$route.query.id;
this.houseGetDicts("jglx").then((res) => {
this.jglxStatus = res.data;
});
this.houseGetDicts("villations_type").then((res) => {
this.wfydlxStatus = res.data;
});
},
methods: {
getList(){
setTimeout(() => {
getTaskList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].jglx = this.selectDictLabel(this.jglxStatus, response.rows[i].jglx)
response.rows[i].wfydlx = this.selectDictLabel(this.wfydlxStatus, response.rows[i].wfydlx)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-bottom: 2%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 194
- 0
src/views/onlineHome/homestead/reporting/taskReportingAdd.vue Vedi File

@@ -0,0 +1,194 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
v-model="sfzjjzw"
@click="showSys = true"
input-align="right"
label-width="auto"
/>
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
clickable
label="监管类型"
v-model="jglx"
@click="showjglx = true"
input-align="right"
/>
<van-field
readonly
clickable
v-model="jgList.lasj"
label="立案时间"
@click="showlasj = true"
input-align="right"
/>
<van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
v-model="jgList.inspectorTime"
@click="showinspectorTime = true"
input-align="right"
/>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
v-model="wfydlx"
@click="showwfydlx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showwfydlx" position="bottom">
<van-picker
show-toolbar
:columns="wfydlxDictionaries"
@confirm="onConfirmWfydlx"
@cancel="showwfydlx = false"
/>
</van-popup>
<van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" @click="goBack" native-type="submit" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="goAdd" class="submitButton">结<i style="margin-right: 1em;"></i>案</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { closeCase , getJg } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskCloseCaseAdd",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {
this.jgList.taskId = this.$route.query.id;
this.houseGetDicts("jglx").then((res) => {
this.jglxDictionaries = res.data;
});
this.houseGetDicts("sys_yes_no").then((res) => {
console.log(res)
this.sysDictionaries = res.data;
});
this.getDictionaries();
},
methods: {
getDictionaries(){
getJg(this.$route.query.id).then(response => {
console.log(this.selectDictLabel(this.jglxDictionaries, response.data.jglx))
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx);
});
this.jglx = this.selectDictLabel(this.jglxDictionaries, response.data.jglx);
this.sfzjjzw = this.selectDictLabel(this.sysDictionaries, response.data.sfzjjzw);

this.jgList = response.data;
})
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
goAdd(){
closeCase(this.jgList).then(response => {
console.log(response);
this.$toast.success('结案成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 163
- 0
src/views/onlineHome/homestead/reporting/taskReportingDetail.vue Vedi File

@@ -0,0 +1,163 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
label="是否在建建筑物"
v-model="sfzjjzw"
input-align="right"
label-width="auto"
/>
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
label="监管类型"
v-model="jglx"
input-align="right"
/>
<van-field
readonly
v-model="jgList.lasj"
label="立案时间"
input-align="right"
/>
<van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/>
<van-field
readonly
label="巡查时间"
v-model="jgList.inspectorTime"
input-align="right"
/>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
label="违法用地类型"
v-model="wfydlx"
input-align="right"
/>
<van-field readonly v-model="jgList.wfydmj" label="违法用地面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="jgList.fmkje" label="罚没款金额" input-align="right" label-width="auto"/>
<van-field readonly v-model="jgList.msmj" label="没收面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="jgList.ccmj" label="拆除面积" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { closeCase , getJg } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskCloseCaseAdd",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {
this.jgList.taskId = this.$route.query.id;
this.houseGetDicts("jglx").then((res) => {
this.jglxDictionaries = res.data;
});
this.houseGetDicts("sys_yes_no").then((res) => {
console.log(res)
this.sysDictionaries = res.data;
});
this.getDictionaries();
},
methods: {
getDictionaries(){
getJg(this.$route.query.id).then(response => {
console.log(this.selectDictLabel(this.jglxDictionaries, response.data.jglx))
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx);
});
this.jglx = this.selectDictLabel(this.jglxDictionaries, response.data.jglx);
this.sfzjjzw = this.selectDictLabel(this.sysDictionaries, response.data.sfzjjzw);

this.jgList = response.data;
})
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
goAdd(){
closeCase(this.jgList).then(response => {
console.log(response);
this.$toast.success('结案成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 134
- 0
src/views/onlineHome/homestead/reporting/taskReportingList.vue Vedi File

@@ -0,0 +1,134 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">任务上报</p>
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :value="item.taskSubjectStatus" center>
<template #title>
<p class="van-ellipsis">{{item.title}}</p>
</template>
<template #icon>
<van-icon name="../../../static/images/icon/icon_tr.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.reportDeadline}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="上报" :to="{name:'taskCloseCaseAdd', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button color="#FFA63E" square :to="{name:'taskDetailedList', query: {id:item.id}}" type="info" class="delete-button" >
上报<br/>情况
</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList } from "@/api/onlineHome/homestead/reporting";
export default {
name: "paidExit",
data() {
return {
applicationList:[],
houseApplyStatus:[],
taskSubjectStatusStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
taskSubjectStatus:'2'
}
};
},
created() {
this.houseGetDicts("task_subject_status").then((res) => {
this.taskSubjectStatusStatus = res.data;
});
},
methods: {
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].taskSubjectStatus = this.selectDictLabel(this.taskSubjectStatusStatus, response.rows[i].taskSubjectStatus)

response.rows[i].title=response.rows[i].title.replace(/<[^>]+>/g,"").replace(/&nbsp;/ig,"");//截取html标签

this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
width: 50%!important;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

src/views/onlineHome/homestead/task/taskCloseCaseAdd.vue → src/views/onlineHome/homestead/supervision/supervisionAdd.vue Vedi File

@@ -7,7 +7,7 @@
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
<p style="font-weight: bold;">添加宅基地监管</p>
</template>
</van-nav-bar>
<div class="main_box">
@@ -116,7 +116,25 @@
<van-field label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="整改截止时间"
placeholder="选择整改截止时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
</div>
<div style="padding: 16px 0;">
<van-row>
@@ -124,7 +142,7 @@
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">上<i style="margin-right: 1em;"></i>报</van-button>
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>

+ 224
- 0
src/views/onlineHome/homestead/supervision/supervisionCloseCase.vue Vedi File

@@ -0,0 +1,224 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="宅基地代码"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="监管类型"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="立案时间"
placeholder="请选择立案时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field label="巡查人" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
placeholder="请选择巡查时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="整改截止时间"
placeholder="选择整改截止时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field label="备注" input-align="right" label-width="auto"/>
</div>

<p class="main_title">结案信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="结案时间"
placeholder="选择结案时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field label="执法人姓名" placeholder="请输入姓名" input-align="right" label-width="auto"/>
<van-field label="执法单位" placeholder="请输入执法单位" input-align="right" label-width="auto"/>
<van-field label="其他监管原因" placeholder="请输入监管原因" input-align="right" label-width="auto"/>
<van-field label="其他监管结果" placeholder="请输入监管结果" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">结<i style="margin-right: 1em;"></i>案</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
export default {
name: "taskRelease",
data() {
return {
showZjd:false,
showlzjsrq:false,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),

};
},
created() {

},
methods: {
onConfirmApplyTime(date){
this.time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 170
- 0
src/views/onlineHome/homestead/supervision/supervisionList.vue Vedi File

@@ -0,0 +1,170 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">任务上报</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell title="关于什么的主题主题内容" value="已下发" center :to="{name:'paidExitDetail', query: {id:item.id}}" >
<template #icon>
<van-icon name="../../../static/images/icon/icon_tr.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>违法用地查处<i style="margin-right: 0.5rem;"></i>任务下发</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button color="#FFA63E" text="立案" square :to="{name:'paidExitModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button color="#7DDA4F" square text="结案" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
<van-col>
<van-button square text="修改" :to="{name:'paidExitModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button color="#FF4646" square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , removeList } from "@/api/onlineHome/homestead/paidExit";
export default {
name: "paidExit",
data() {
return {
applicationList:[],
houseApplyStatus:[],
tcqllxStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("tcqllx").then((res) => {
this.tcqllxStatus = res.data;
});
this.houseGetDicts("tclx").then((res) => {
this.tclxStatus = res.data;
});
this.houseGetDicts("tcfs").then((res) => {
this.tcfsStatus = res.data;
});
this.houseGetDicts("audit_status").then((res) => {
this.auditStatus = res.data;
});
},
methods: {
goAdd(){
window.location = 'paidExitAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].tclx = this.selectDictLabel(this.tcqllxStatus, response.rows[i].tclx)
response.rows[i].tclx = this.selectDictLabel(this.tclxStatus, response.rows[i].tclx)
response.rows[i].tcfs = this.selectDictLabel(this.tcfsStatus, response.rows[i].tcfs)
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 201
- 0
src/views/onlineHome/homestead/supervision/supervisionModify.vue Vedi File

@@ -0,0 +1,201 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改宅基地监管</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="宅基地代码"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="监管类型"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="立案时间"
placeholder="请选择立案时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field label="巡查人" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
placeholder="请选择巡查时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="整改截止时间"
placeholder="选择整改截止时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
export default {
name: "taskRelease",
data() {
return {
showZjd:false,
showlzjsrq:false,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),

};
},
created() {

},
methods: {
onConfirmApplyTime(date){
this.time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 56
- 46
src/views/onlineHome/homestead/task/taskCloseCaseList.vue Vedi File

@@ -7,66 +7,76 @@
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
<p style="font-weight: bold;">上报明细</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field readonly label="部门名称" input-align="right" value="桥头村" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" value="12774784333443" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" value="违法用地查处" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="结案时间" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查人" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查时间" input-align="right" value="2014-09-10" label-width="auto" />
</div>
<div class="main_box">
<van-field readonly label="部门名称" input-align="right" value="桥头村" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" value="12774784333443" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" value="违法用地查处" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="结案时间" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查人" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查时间" input-align="right" value="2014-09-10" label-width="auto" />
</div>
<div class="main_box">
<van-field readonly label="部门名称" input-align="right" value="桥头村" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" value="12774784333443" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" value="违法用地查处" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="结案时间" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查人" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查时间" input-align="right" value="2014-09-10" label-width="auto" />
</div>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="main_box" v-for="(item,index) in applicationList" :key="index">
<van-field readonly label="部门名称" input-align="right" v-model="item.deptName" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" v-model="item.zjddm" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" v-model="item.jglx" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" v-model="item.lasj" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" v-model="item.wfydlx" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" v-model="item.wfydmj+'㎡'" label-width="auto"/>
<van-field readonly label="结案时间" input-align="right" v-model="item.jasj" label-width="auto"/>
<van-field readonly label="巡查人" input-align="right" v-model="item.inspector" label-width="auto"/>
<van-field readonly label="巡查时间" input-align="right" v-model="item.inspectorTime" label-width="auto" />
</div>
</van-list>
</div>
</template>

<script>
import { listByTaskId } from "@/api/onlineHome/homestead/task";
export default {
name: "taskRelease",
name: "taskCloseCaseList",
data() {
return {
showZjd:false,
showlzjsrq:false,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),

applicationList:[],
houseApplyStatus:[],
taskSubjectStatusStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
taskId:''
}
};
},
created() {

this.queryParams.taskId = this.$route.query.id;
this.houseGetDicts("jglx").then((res) => {
this.jglxStatus = res.data;
});
this.houseGetDicts("villations_type").then((res) => {
this.wfydlxStatus = res.data;
});
},
methods: {
onConfirmApplyTime(date){
this.time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
}
getList(){
setTimeout(() => {
listByTaskId(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].jglx = this.selectDictLabel(this.jglxStatus, response.rows[i].jglx)
response.rows[i].wfydlx = this.selectDictLabel(this.wfydlxStatus, response.rows[i].wfydlx)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
},
}
</script>


+ 29
- 33
src/views/onlineHome/homestead/task/taskList.vue Vedi File

@@ -21,34 +21,36 @@
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell title="关于什么的主题主题内容" value="已下发" center :to="{name:'paidExitDetail', query: {id:item.id}}" >
<van-cell :value="item.taskSubjectStatus" center>
<template #title>
<p class="van-ellipsis">{{item.title}}</p>
</template>
<template #icon>
<van-icon name="../../../static/images/icon/icon_tr.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>
<b>上报60%</b>
<van-progress :percentage="50" stroke-width="5" :show-pivot="false" style="width: 25%;display: inline-block;position:relative;top: -2px;" />
<i style="margin-right: 0.5rem;"></i>2021-09-09
<b>上报{{(item.reportedNumber/item.distributeDeptNumber*100).toFixed(0)}}%</b>
<van-progress :percentage="(item.reportedNumber/item.distributeDeptNumber*100).toFixed(0)" stroke-width="6" :show-pivot="false" style="width: 25%;display: inline-block;position:relative;top: -1px;" />
<i style="margin-right: 0.5rem;"></i><span>{{item.reportDeadline}}</span>
</p>

</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button color="#FFA63E" square :to="{name:'paidExitModify', query: {id:item.id}}" type="info" class="delete-button" >
<van-button color="#FFA63E" square :to="{name:'taskCloseCaseList', query: {id:item.id}}" type="info" class="delete-button" >
上报<br/>情况
</van-button>
</van-col>
<van-col>
<van-button color="#7DDA4F" square text="发布" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
<van-button color="#7DDA4F" v-if="item.taskSubjectStatus=='待下发'" square text="发布" :to="{name:'taskRelease', query: {id:item.id}}" type="danger" class="delete-button" />
</van-col>
<van-col>
<van-button square text="修改" :to="{name:'paidExitModify', query: {id:item.id}}" type="info" class="delete-button" />
<van-button square text="修改" v-if="item.taskSubjectStatus=='待下发'" :to="{name:'taskLssueModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button color="#FF4646" square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
<van-button color="#FF4646" square text="删除" v-if="item.taskSubjectStatus=='待下发'" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
@@ -58,17 +60,14 @@
</template>

<script>
import { getList , removeList } from "@/api/onlineHome/homestead/paidExit";
import { getList , removeList } from "@/api/onlineHome/homestead/task";
export default {
name: "paidExit",
name: "taskList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
tcqllxStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
taskSubjectStatusStatus:[],
loading: false,
finished: false,
queryParams:{
@@ -80,32 +79,28 @@ export default {
};
},
created() {
this.houseGetDicts("tcqllx").then((res) => {
this.tcqllxStatus = res.data;
});
this.houseGetDicts("tclx").then((res) => {
this.tclxStatus = res.data;
});
this.houseGetDicts("tcfs").then((res) => {
this.tcfsStatus = res.data;
});
this.houseGetDicts("audit_status").then((res) => {
this.auditStatus = res.data;
this.houseGetDicts("task_subject_status").then((res) => {
this.taskSubjectStatusStatus = res.data;
});
},
methods: {
goAdd(){
window.location = 'paidExitAdd';
window.location = 'taskLssueAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].tclx = this.selectDictLabel(this.tcqllxStatus, response.rows[i].tclx)
response.rows[i].tclx = this.selectDictLabel(this.tclxStatus, response.rows[i].tclx)
response.rows[i].tcfs = this.selectDictLabel(this.tcfsStatus, response.rows[i].tcfs)
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus)
response.rows[i].taskSubjectStatus = this.selectDictLabel(this.taskSubjectStatusStatus, response.rows[i].taskSubjectStatus)

response.rows[i].title=response.rows[i].title.replace(/<[^>]+>/g,"").replace(/&nbsp;/ig,"");//截取html标签
if(response.rows[i].distributeDeptNumber == null || response.rows[i].distributeDeptNumber == ''){
response.rows[i].distributeDeptNumber = 1;
}
if(response.rows[i].reportedNumber == null){
response.rows[i].reportedNumber = 1;
}
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
@@ -120,7 +115,7 @@ export default {
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
message: '您确认删除?',
})
.then(() => {
// on confirm
@@ -145,11 +140,12 @@ export default {
}
/deep/.van-cell__title{
flex: 0.7;
width: 50%!important;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
float: right;
}
/deep/.van-cell__value{
flex: 0.3;


+ 37
- 5
src/views/onlineHome/homestead/task/taskLssueAdd.vue Vedi File

@@ -14,7 +14,7 @@
<van-row type="flex" justify="space-between" align="center" style="margin-bottom: 5%;">
<van-col span="12" style="font-size: 14px;color:#333333">截止上报时间</van-col>
<van-col span="12">
<van-field style="line-height: 0" clickable v-model="time" label-width="auto" placeholder="选择日期" @click="showApplyTime = true">
<van-field style="line-height: 0" clickable v-model="queryParams.reportDeadline" label-width="auto" placeholder="选择日期" @click="showApplyTime = true">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
@@ -23,29 +23,61 @@
</van-col>
</van-row>

<vue-html5-editor :content="content" :height="500"></vue-html5-editor>
<vue-html5-editor :content="queryParams.title" @change="updateData" :height="500"></vue-html5-editor>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goBack">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goAdd">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</div>
</template>

<script>
import { addTask } from "@/api/onlineHome/homestead/task";
export default {
name: "taskRelease",
name: "taskLssueAdd",
data() {
return {
content:'',
showApplyTime:false,
time:'',
value:''
value:'',
queryParams:{
title:'',
reportDeadline:''
}
};
},
created() {

},
methods: {
goAdd(){
addTask(this.queryParams).then(response => {
console.log(response);
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
updateData(value){
console.log(value)
this.queryParams.title = value ;
},
onConfirmApplyTime(date){
this.time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.queryParams.reportDeadline = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
},
goBack(){
window.history.go(-1)
}
},
}


+ 118
- 0
src/views/onlineHome/homestead/task/taskLssueModify.vue Vedi File

@@ -0,0 +1,118 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加任务下发</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-row type="flex" justify="space-between" align="center" style="margin-bottom: 5%;">
<van-col span="12" style="font-size: 14px;color:#333333">截止上报时间</van-col>
<van-col span="12">
<van-field style="line-height: 0" clickable v-model="queryParams.reportDeadline" label-width="auto" placeholder="选择日期" @click="showApplyTime = true">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
<van-calendar v-model="showApplyTime" @confirm="onConfirmApplyTime" />
</van-col>
</van-row>

<vue-html5-editor :content="queryParams.title" @change="updateData" :height="500"></vue-html5-editor>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goBack">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goModify">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</div>
</template>

<script>
import { addTask , getTaskGet ,editTaskGet } from "@/api/onlineHome/homestead/task";
export default {
name: "taskLssueAdd",
data() {
return {
content:'',
showApplyTime:false,
time:'',
value:'',
queryParams:{
id:'',
title:'',
reportDeadline:''
}
};
},
created() {
this.getTaskGet();
this.queryParams.id = this.$route.query.id;
},
methods: {
getTaskGet(){
getTaskGet(this.$route.query.id).then(response => {
this.queryParams.title = response.data.title;
this.queryParams.reportDeadline = response.data.reportDeadline;
});
},
goModify(){
editTaskGet(this.queryParams).then(response => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
updateData(value){
console.log(value)
this.queryParams.title = value ;
},
onConfirmApplyTime(date){
this.queryParams.reportDeadline = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 4%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 58
- 51
src/views/onlineHome/homestead/task/taskRelease.vue Vedi File

@@ -7,7 +7,7 @@
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">有偿退出</p>
<p style="font-weight: bold;">任务发布</p>
</template>
</van-nav-bar>
<div class="main_box">
@@ -16,73 +16,80 @@
node-key="id"
:data="treeList"
:show-checkbox="true"
:default-checked-keys="[1103]"
:default-expanded-keys="[1103, 1105]"
@node-click="handleClick"
:default-expand-all="true"
></SearchTree>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goBack">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goAdd">发<i style="margin-right: 1em;"></i>布</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</div>
</template>

<script>
import { getTree , distribute } from "@/api/onlineHome/homestead/task";
export default {
name: "taskRelease",
data() {
return {
treeList: [
{
"id": 1000,
"name": "河南省",
"children": [{
"id": 1009,
"name": "新乡市",
"children": [{
"id": 1119,
"name": "新乡市宏力大道店"
}, {
"id": 1120,
"name": "新乡市胜利北街店"
}, {
"id": 1121,
"name": "新乡市首比街店"
}]
},
{
"id": 1016,
"name": "巩义市",
"children": [{
"id": 1254,
"name": "巩义市新兴路店"
}]
}]
}
],
treeList: [],
queryParams:{
list:'',
id:''
}
};
},
created() {

this.getTree()
this.queryParams.id = this.$route.query.id;
},
methods: {
setKeys () {
this.$refs.tree.setCheckedKeys([1000, 1001], true)
},
getKeys () {
const keys = this.$refs.tree.getCheckedKeys()
console.log(keys)
},
getNodes () {
const nodes = this.$refs.tree.getCheckedNodes()
console.log(nodes)
},
resetChecked () {
this.$refs.tree.resetChecked()
getTree(){
getTree().then(response => {
console.log(response)
for(var i = 0 ; i < response.data.length ; i++){
this.treeList.push({
id:response.data[i].id,
name:response.data[i].label,
children:[]
});

for (var j = 0 ; j < response.data[i].children.length ; j++){
this.treeList[i].children.push({
id:response.data[i].children[j].id,
name:response.data[i].children[j].label,
children:[]
})
for(var z = 0 ; z < response.data[i].children[j].children.length ; z++){
console.log(response.data[i].children[j].children[z].id)
this.treeList[i].children[j].children.push({
id:response.data[i].children[j].children[z].id,
name:response.data[i].children[j].children[z].label
})
}
}
}
});
},
getNode () {
const node = this.$refs.tree.getNode(1001)
console.log(node)
goAdd(){
this.queryParams.list = this.$refs.tree.getCheckedKeys().join(',');
distribute(this.queryParams).then(response => {
console.log(response);
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
handleClick (e, node) {
console.log(node)
goBack(){
window.history.go(-1)
}
},
}


+ 16
- 0
src/views/onlineHome/workbench.vue Vedi File

@@ -350,6 +350,22 @@
</div>
<p style="margin-top: 5px;color: #666666;">公示信息</p>
</van-grid-item>
<van-grid-item text="任务上报" :to="{name:'taskReportingList'}" >
<div slot="default">
<div style="background:#c568f5;padding: 10px;border-radius: 10px;box-sizing: border-box;width: 44px;height: 44px ">
<img src="../../../static/images/onlineHome/icon_zjd3.png" style="width: 25px" alt />
</div>
</div>
<p style="margin-top: 5px;color: #666666;">任务上报</p>
</van-grid-item>
<van-grid-item text="任务发布" :to="{name:'task'}" >
<div slot="default">
<div style="background:#c568f5;padding: 10px;border-radius: 10px;box-sizing: border-box;width: 44px;height: 44px ">
<img src="../../../static/images/onlineHome/icon_zjd3.png" style="width: 25px" alt />
</div>
</div>
<p style="margin-top: 5px;color: #666666;">任务发布</p>
</van-grid-item>
</van-grid>
</van-row>
<onlineHomeIndex></onlineHomeIndex>


Caricamento…
Annulla
Salva