Selaa lähdekoodia

宅基地手机端功能增加及优化

wulanhaote
Xyq123* 2 vuotta sitten
vanhempi
commit
3c64480118
10 muutettua tiedostoa jossa 737 lisäystä ja 234 poistoa
  1. +10
    -3
      src/api/onlineHome/homestead/reporting.js
  2. +1
    -1
      src/api/sunVillage_info/homestead/application.js
  3. +3
    -0
      src/components/house/MultiImageUploadComp.vue
  4. +36
    -0
      src/router/index.js
  5. +20
    -9
      src/views/sunVillage_info/homeApplication/proposerLite.vue
  6. +50
    -56
      src/views/yinnong/homestead/supervision/supervisionCloseCase.vue
  7. +198
    -0
      src/views/yinnong/homestead/supervision/supervisionDetail.vue
  8. +14
    -9
      src/views/yinnong/homestead/supervision/supervisionList.vue
  9. +216
    -156
      src/views/yinnong/homestead/supervision/supervisionModify.vue
  10. +189
    -0
      src/views/yinnong/homestead/supervision/supervisionWfxx.vue

+ 10
- 3
src/api/onlineHome/homestead/reporting.js Näytä tiedosto

@@ -61,12 +61,19 @@ export function zyyctcApply(id){
//宅基地流转提交
export function jgAdd(data){
return request({
url:'/house/jg/add',
url:'/home/jg/add',
method:'post',
data:data
})
}
//宅基地流转提交
export function jgEdit(data){
return request({
url:'/home/jg/edit',
method:'post',
data:data
})
}

//宅基地流转提交
export function closeCase(data){
return request({
@@ -89,7 +96,7 @@ export function upload(data){
//宅基地流转详情
export function getJg(id){
return request({
url:'/house/jg/get/'+id,
url:'/home/jg/get/'+id,
method:'get'
})
}

+ 1
- 1
src/api/sunVillage_info/homestead/application.js Näytä tiedosto

@@ -85,7 +85,7 @@ export function attach(data){
return request({
url:'/common/attach',
method:'post',
headers:{'Content-Type': 'application/x-www-form-urlencoded;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'},
header: { "Content-Type": 'application/x-www-form-urlencoded' },
data:data
})
}


+ 3
- 0
src/components/house/MultiImageUploadComp.vue Näytä tiedosto

@@ -10,6 +10,7 @@
:before-delete="handleRemove"
v-model="uploadImg.fileList"
:after-read="onUploadChanged"
max-count="1"
>
<!-- :accept="uploadImg.accept"-->
</van-uploader>
@@ -27,6 +28,7 @@ export default {
watch: {
value: {
handler: function (newVal, oldVal) {
console.info(newVal);
if(newVal == this.internalValue)
return;
this.reset();
@@ -78,6 +80,7 @@ export default {
}
file.fileList = this.uploadImg.fileList;
this.$emit('fileChanged', this.uploadImg.fileList);
this.$emit('fileUpdate', file);
this.updateValue();
console.log('新增', this.uploadImg.fileList);
}).catch((e) => {


+ 36
- 0
src/router/index.js Näytä tiedosto

@@ -2479,6 +2479,42 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionAdd'], resolve)
},
{
path: '/yinnong/supervisionCloseCase',
name: 'yinnongSupervisionCloseCase',
meta: {
title: '修改宅基地监管',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionCloseCase'], resolve)
},
{
path: '/yinnong/supervisionWfxx',
name: 'yinnongSupervisionWfxx',
meta: {
title: '修改宅基地监管',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionWfxx'], resolve)
},
{
path: '/yinnong/supervisionModify',
name: 'yinnongSupervisionModify',
meta: {
title: '修改宅基地监管',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionModify'], resolve)
},
{
path: '/yinnong/supervisionDetail',
name: 'yinnongSupervisionDetail',
meta: {
title: '宅基地监管详情',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionDetail'], resolve)
},
{
path: '/lawEnforcement',
name: 'lawEnforcement',


+ 20
- 9
src/views/sunVillage_info/homeApplication/proposerLite.vue Näytä tiedosto

@@ -675,11 +675,9 @@
<template v-if="formVisible.baseApplyForm.townFormVisible">
<div class="main_box examine_box">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">现场<br/>踏勘</van-col>
<van-col span="5">宅基地<br/>坐落平<br/>面位置图</van-col>
<van-col span="19">
<house-location-plan-comp ref="pictureUploadApplying" :uploadDisabled="!formEnabled.baseApplyForm.townFormEnabled" :jsonData="uploadImg.fileList" :proposer-id="uploadImg.proposerId" tableName="t_homeapply_ydjfsp"
@uploadFileChanged="(x) => {this.uploadImg.uploadFileList = x;}" @removeFileChanged="(x) => {this.uploadImg.removeFileList = x;}"
/>
<MultiImageUploadComp :value="applicationDetail.ydjfsp.zjdzlpmwzt" :uploadDisabled="false" @fileUpdate="fileUpdate"/>
<van-row>
<van-col span="12"><van-field :rules="[{ required: true }]" required :readonly="!formEnabled.baseApplyForm.townFormEnabled" v-model="applicationDetail.ydjfsp.zckcryxm" label="踏勘人" placeholder="现场踏勘人员" input-align="left" label-width="auto"/></van-col>
<van-col span="12">
@@ -1765,11 +1763,12 @@
import HomeApplyUploadComp from "@/components/home/HomeApplyUploadComp";
import HouseLocationPlanComp from "@/components/house/HouseLocationPlanComp";
import FieldSelect from "@/components/form/FieldSelect";
import { getHomeapplyydjfsqStatus,listHomeapplytype,getQueryLand, saveHomeBaseInfo , getHomeMembers , allInformationWLHT, checkDuplicateBuilding, checkDuplicateBuildingQuery, customSubmitWLHT, submitStartWLHT, updateStart, submitEndWLHT, getWorkflow ,selectProposerNh} from "@/api/sunVillage_info/homestead/application";
import { getHomeapplyydjfsqStatus,listHomeapplytype,getQueryLand, saveHomeBaseInfo , getHomeMembers , allInformationWLHT, checkDuplicateBuilding, checkDuplicateBuildingQuery, customSubmitWLHT, submitStartWLHT, updateStart, submitEndWLHT, getWorkflow ,selectProposerNh,attach} from "@/api/sunVillage_info/homestead/application";
import CommonMap from "@/components/house/CommonMap";
import FieldDatePicker from "@/components/form/FieldDatePicker";
import FieldRadio from "@/components/form/FieldRadio";
import FieldCheckbox from "@/components/form/FieldCheckbox";
import MultiImageUploadComp from "@/components/house/MultiImageUploadComp"
import {formatDate} from "element-ui/src/utils/date-util.js";
import request from '@/utils/request'
import {Notify, Dialog} from "vant";
@@ -1802,7 +1801,7 @@ export default {
name: "homeApplication",
components: {
FieldCheckbox,
FieldRadio, HomeApplyUploadComp, FieldDatePicker, CommonMap, FieldSelect, HouseLocationPlanComp},
FieldRadio, HomeApplyUploadComp, FieldDatePicker, CommonMap, FieldSelect, HouseLocationPlanComp,MultiImageUploadComp},
data() {
return {
// 当前流程步骤
@@ -3503,7 +3502,7 @@ export default {
if(!pass){
comment = "驳回";
}
if(_this.$refs.pictureUploadApplying && _this.$refs.pictureUploadApplying.isValid()) {
if(this.applicationDetail.ydjfsp.zjdzlpmwzt != null && this.applicationDetail.ydjfsp.zjdzlpmwzt !== "") {
// _this.submitHouseApproveLocationplanOptions(pass, comment).then(item5=>{
// _this.submitHouseApproveNatureplanOptions().then(item6=>{
// setTimeout(() => {
@@ -3517,7 +3516,7 @@ export default {
// });
// });
}else{
_this.notify("现场踏勘不能为空", 'danger');
_this.notify("宅基地坐落平面位置图不能为空", 'danger');
_this.$refs.form.validate().then(() => {}).catch((e)=>{})
}
// });
@@ -3935,11 +3934,23 @@ export default {
};
list.push(item);
});
this.applicationDetail.ydjfsp.zjdzlpmwzt = JSON.stringify(list);
this.applicationDetail.ydjfsp.zjdzlpmwzt = list[0].fileUrl;
}).catch((x) => {
this.notify("上传宅基地坐落平面位置图失败!", 'danger');
});
},
fileUpdate(val){
console.info(val)
const params = new FormData();
params.append("tableId", this.applicationDetail.ydjfsp.id);
params.append("tableName", "t_homeapply_ydjfsp");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append('file', val.file);
attach(params).then((resp) => {
this.$set(this.applicationDetail.ydjfsp, 'zjdzlpmwzt',resp.fileUrl);
});
},
// 带平面图附件上传的镇级验收审批
submitHouseApplyEndLocationplanOptions(pass, commentText) {
return this.$refs.pictureUploadAccepting.updatePlanFiles()


+ 50
- 56
src/views/yinnong/homestead/supervision/supervisionCloseCase.vue Näytä tiedosto

@@ -12,43 +12,55 @@
</van-nav-bar>
<p class="main_title">基本信息</p>
<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" label-width="auto" />
<van-field readonly label="监管类型" v-model="jglx" input-align="right"/>
<van-field readonly label="立案时间" v-model="jgList.lasj" 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" />
<van-field readonly label="违法用地类型" v-model="wfydlx" input-align="right" />
<van-field readonly label="违法用地面积" v-model="jgList.wfydmj" input-align="right" label-width="auto"/>
<van-field readonly label="罚没款金额" v-model="jgList.fmkje" input-align="right" label-width="auto"/>
<van-field readonly label="请输入面积" v-model="jgList.msmj" input-align="right" label-width="auto"/>
<van-field readonly label="拆除面积" v-model="jgList.ccmj" input-align="right" label-width="auto"/>
<van-field readonly label="整改截止时间" v-model="jgList.reformDeadline" input-align="right" />
<van-field readonly label="使用权人代表姓名" v-model="jgList.shyqrdbxm" input-align="right" label-width="auto" />
<field-select
v-model="jgList.wfydlx"
label="使用权人证件类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择使用权人证件类型"
readonly
remote-url="/system/dict/data/type/zjlx"
:on-remote-response="'data'"
/>
<van-field readonly label="使用权人证件号码" v-model="jgList.shyqrzjhm" input-align="right"/>
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" label-width="auto"/>
<field-select
v-model="jgList.jglx"
label="监管类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择监管类型"
readonly
remote-url="/system/dict/data/type/jglx"
:on-remote-response="'data'"
/>
<field-date-picker
readonly
v-model="jgList.lasj"
label="立案时间"
formatter="yyyy-MM-dd"
/>
<field-select
v-model="jgList.wfydlx"
label="违法用地类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择违法用地类型"
readonly
remote-url="/system/dict/data/type/villations_type"
:on-remote-response="'data'"
/>
<van-field readonly label="事件地址" v-model="jgList.fmkje" input-align="right" label-width="auto"/>
<van-field readonly label="备注" v-model="jgList.bz" input-align="right" label-width="auto"/>
</div>

<p class="main_title">结案信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="结案时间"
placeholder="选择结案时间"
<field-date-picker
v-model="jgList.jasj"
@click="showjasj = true"
input-align="right"
right-icon="arrow-down"
label="结案时间"
formatter="yyyy-MM-dd"
/>
<van-popup v-model="showjasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmJasj"
/>
</van-popup>
<van-field v-model="jgList.zfrxm" label="执法人姓名" placeholder="请输入姓名" input-align="right" label-width="auto"/>
<van-field v-model="jgList.zfdw" label="执法单位" placeholder="请输入执法单位" input-align="right" label-width="auto"/>
<van-field v-model="jgList.qtjgyy" label="其他监管原因" placeholder="请输入监管原因" input-align="right" label-width="auto"/>
@@ -69,9 +81,12 @@
</template>

<script>
import { supervisionAdd , getSupervision , closeCase } from "@/api/onlineHome/homestead/supervision";
import { getJg,jgEdit } from "@/api/onlineHome/homestead/reporting";
import FieldSelect from "@/components/form/FieldSelect";
import FieldDatePicker from "@/components/form/FieldDatePicker";
export default {
name: "supervisionCloseCase",
components: {FieldSelect,FieldDatePicker },
data() {
return {
showSys:false,
@@ -103,29 +118,7 @@ export default {
},
methods: {
getTaskGet(){
getSupervision(this.$route.query.id).then(response => {
console.log(response)
//违法用地类型
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.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.jglx = this.selectDictLabel(res.data, response.data.jglx);
});
//是否在建建筑物
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});
}
this.sfzjjzw = this.selectDictLabel(res.data, response.data.sfzjjzw);
});
getJg(this.$route.query.id).then(response => {
this.jgList = response.data;
});
},
@@ -161,7 +154,8 @@ export default {
this.showjasj = false;
},
goAdd(){
closeCase(this.jgList).then(response => {
this.$set(this.jgList, "status", "2");
jgEdit(this.jgList).then(response => {
this.$toast.success('结案成功');
setTimeout(function(){
history.go(-1)


+ 198
- 0
src/views/yinnong/homestead/supervision/supervisionDetail.vue Näytä tiedosto

@@ -0,0 +1,198 @@
<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>
<p class="main_title">基本信息</p>
<div class="main_box">
<van-field readonly label="使用权人代表姓名" v-model="jgList.shyqrdbxm" input-align="right" label-width="auto" />
<field-select
v-model="jgList.wfydlx"
label="使用权人证件类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择使用权人证件类型"
readonly
remote-url="/system/dict/data/type/zjlx"
:on-remote-response="'data'"
/>
<van-field readonly label="使用权人证件号码" v-model="jgList.shyqrzjhm" input-align="right"/>
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" label-width="auto"/>
<field-select
v-model="jgList.jglx"
label="监管类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择监管类型"
readonly
remote-url="/system/dict/data/type/jglx"
:on-remote-response="'data'"
/>
<field-date-picker
readonly
v-model="jgList.lasj"
label="立案时间"
formatter="yyyy-MM-dd"
/>
<field-select
v-model="jgList.wfydlx"
label="违法用地类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择违法用地类型"
readonly
remote-url="/system/dict/data/type/villations_type"
:on-remote-response="'data'"
/>
<van-field readonly label="事件地址" v-model="jgList.fmkje" input-align="right" label-width="auto"/>
<van-field readonly label="备注" v-model="jgList.bz" input-align="right" label-width="auto"/>
</div>
<p class="main_title">违法信息</p>
<div class="main_box">
<van-field v-model="jgList.wfydmj" label="违法用地面积(平方米)" type="number" placeholder="请输入违法用地面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额(元)" type="number" placeholder="请输入罚没款金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积(平方米)" type="number" placeholder="请输入没收面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积(平方米)" type="number" placeholder="请输入拆除面积" input-align="right" label-width="auto"/>
</div>
<p class="main_title">结案信息</p>
<div class="main_box">
<field-date-picker
v-model="jgList.jasj"
label="结案时间"
formatter="yyyy-MM-dd"
/>
<van-field v-model="jgList.zfrxm" label="执法人姓名" placeholder="请输入姓名" input-align="right" label-width="auto"/>
<van-field v-model="jgList.zfdw" label="执法单位" placeholder="请输入执法单位" input-align="right" label-width="auto"/>
<van-field v-model="jgList.qtjgyy" label="其他监管原因" placeholder="请输入监管原因" input-align="right" label-width="auto"/>
<van-field v-model="jgList.qtjgjg" label="其他监管结果" placeholder="请输入监管结果" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="24" 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-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { getJg,jgEdit } from "@/api/onlineHome/homestead/reporting";
import FieldSelect from "@/components/form/FieldSelect";
import FieldDatePicker from "@/components/form/FieldDatePicker";
export default {
name: "supervisionWfxx",
components: {FieldSelect,FieldDatePicker },
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,
showReformDeadline:false,
showjasj:false,

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

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

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

};
},
created() {

this.getTaskGet();
},
methods: {
getTaskGet(){
getJg(this.$route.query.id).then(response => {
this.jgList = response.data;
});
},
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;
},
onConfirmReformDeadline(data){
this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10);
this.showReformDeadline = false;
},
onConfirmJasj(data){
this.jgList.jasj = this.getNowFormatDate(data).substr(0,10);
this.showjasj = false;
},
goAdd(){
jgEdit(this.jgList).then(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>

+ 14
- 9
src/views/yinnong/homestead/supervision/supervisionList.vue Näytä tiedosto

@@ -21,27 +21,30 @@
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" :value="item.status" center >
<van-cell :title="item.zjddm" :value="item.statusName" :to="{name:'yinnongSupervisionDetail', query: {id:item.id}}" center >
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd12.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.jglx}}<i style="margin-right: 0.5rem;"></i>{{item.taskSource}}</p>
<p>{{item.jglxName}}<i style="margin-right: 0.5rem;"></i>{{item.taskSourceName}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '未立案'" color="#FFA63E" text="立案" square @click="onRegister(item)" type="info" class="delete-button" />
<van-button v-if="item.status == '0'" color="#FFA63E" text="立案" square @click="onRegister(item)" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '已立案'" color="#7DDA4F" square text="结案" :to="{name:'supervisionCloseCase', query: {id:item.id}}" type="danger" class="delete-button" />
<van-button v-if=" item.status == '1'" color="#FF0000" square text="违法信息" :to="{name:'yinnongSupervisionWfxx', query: {id:item.id}}" type="danger" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '未立案'" square text="修改" :to="{name:'supervisionModify', query: {id:item.id}}" type="info" class="delete-button" />
<van-button v-if=" item.status == '1'" color="#7DDA4F" square text="结案" :to="{name:'yinnongSupervisionCloseCase', query: {id:item.id}}" type="danger" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '未立案'" color="#FF4646" square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
<van-button v-if="item.status == '0'" square text="修改" :to="{name:'yinnongSupervisionModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.status == '0'" color="#FF4646" square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
@@ -95,9 +98,11 @@ export default {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].status = this.selectDictLabel(this.auditStatus, response.rows[i].status);
response.rows[i].jglx = this.selectDictLabel(this.jglxDictionaries, response.rows[i].jglx);
response.rows[i].taskSource = this.selectDictLabel(this.taskSourceDictionaries, response.rows[i].taskSource);
// response.rows[i].status = this.selectDictLabel(this.auditStatus, response.rows[i].status);
// response.rows[i].jglx = this.selectDictLabel(this.jglxDictionaries, response.rows[i].jglx);
this.$set(response.rows[i], "statusName", this.selectDictLabel(this.auditStatus, response.rows[i].status));
this.$set(response.rows[i], "jglxName", this.selectDictLabel(this.jglxDictionaries, response.rows[i].jglx));
this.$set(response.rows[i], "taskSourceName", this.selectDictLabel(this.taskSourceDictionaries, response.rows[i].taskSource));
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){


+ 216
- 156
src/views/yinnong/homestead/supervision/supervisionModify.vue Näytä tiedosto

@@ -11,138 +11,117 @@
</template>
</van-nav-bar>
<div class="main_box">
<van-field v-model="jgList.shyqrdbxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required @input="remoteTransfereeMethod" />
<div id="dropList" v-show="showDropList" style="width: 92vw; position: absolute; z-index: 99; left: 50%; margin-left: -46vw; border: 1px solid #E2E0E0;" >
<van-cell id="vanCell" v-for="(item, index) in getObligeeOptions" :key="index" @click="shyqrdmxmChange(item)" style="position: relative; z-index: 999;">
{{item.sqrxm}}
</van-cell>
</div>
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
v-model="sfzjjzw"
@click="showSys = true"
v-model="jgList.zjddm"
label="宅基地代码"
input-align="right"
right-icon="arrow-down"
label-width="auto"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<field-select
v-model="jgList.shyqrzjlx"
label="证件类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择证件类型"
:rules="[{ required: true }]"
required
remote-url="/system/dict/data/type/zjlx"
:on-remote-response="'data'"
/>
<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>
<van-field label="备注" v-model="jgList.bz" placeholder="填写备注" input-align="right" label-width="auto"/>
<van-field v-model="jgList.shyqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
</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"
<p class="main_title">执法情况</p>
<field-select
v-model="jgList.jglx"
label="监管类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择监管类型"
:rules="[{ required: true }]"
required
remote-url="/system/dict/data/type/jglx"
:on-remote-response="'data'"
/>
<field-date-picker
v-model="jgList.lasj"
label="立案时间"
placeholder="选择立案时间"
:rules="[{ required: true }]"
formatter="yyyy-MM-dd"
required
/>
<field-select
v-model="jgList.wfydlx"
label="违法用地类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择违法用地类型"
:rules="[{ required: true }]"
required
remote-url="/system/dict/data/type/villations_type"
:on-remote-response="'data'"
/>
<van-field required v-model="jgList.sjdz" label="事件地址" placeholder="事件地址" input-align="right" :rules="[{ required: true }]"/>
<van-dialog v-model="mapShow" show-cancel-button>
<MapGisObtainTc ref="zjdProductResh" :shqrxm="jgList.shyqrdbxm" :landStatus="landStatus" :deptId="deptId" @closeMoule="closeMoule"></MapGisObtainTc>
</van-dialog>
<van-field rows="3" :autosize="true" type="textarea" label="备注" label-width="auto" placeholder="备注" v-model="jgList.bz" input-align="left"></van-field>
<div v-if="wfxxShow">
<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>
<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"/>
<van-field
readonly
clickable
label="整改截止时间"
placeholder="选择整改截止时间"
v-model="jgList.reformDeadline"
@click="showReformDeadline = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showReformDeadline" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmReformDeadline"
<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"/>
<van-field
readonly
clickable
label="整改截止时间"
placeholder="选择整改截止时间"
v-model="jgList.reformDeadline"
@click="showReformDeadline = true"
input-align="right"
right-icon="arrow-down"
/>
</van-popup>
<van-popup v-model="showReformDeadline" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmReformDeadline"
/>
</van-popup>
</div>

</div>
<div style="padding: 16px 0;">
<van-row>
@@ -150,7 +129,7 @@
<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-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>
@@ -159,9 +138,14 @@
</template>

<script>
import { supervisionAdd , getSupervision } from "@/api/onlineHome/homestead/supervision";
import { jgAdd,getShyqrs,getJg,jgEdit} from "@/api/onlineHome/homestead/reporting";
import FieldSelect from "@/components/form/FieldSelect";
import MapGisObtainTc from "@/components/Map/MapGisObtainTc";
import FieldDatePicker from "@/components/form/FieldDatePicker";
import {formatDate} from "element-ui/src/utils/date-util.js";
export default {
name: "supervisionModify",
name: "supervisionAdd",
components: { MapGisObtainTc,FieldSelect,FieldDatePicker },
data() {
return {
showSys:false,
@@ -170,12 +154,16 @@
showinspectorTime:false,
showwfydlx:false,
showReformDeadline:false,

showDropList:false,
wfxxShow:false,
mapShow:false,
landStatus:"1",
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
deptId:this.$store.state.user.loginDeptId,
jgList:{},
getObligeeOptions:[],
sfzjjzw:'',
jglx:'',
wfydlx:'',
@@ -187,37 +175,108 @@
};
},
created() {
this.getDictionaries();
this.getTaskGet();
},
methods: {
getTaskGet(){
getSupervision(this.$route.query.id).then(response => {
console.log(response)
//违法用地类型
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.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.jglx = this.selectDictLabel(res.data, response.data.jglx);
});
//是否在建建筑物
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});
}
this.sfzjjzw = this.selectDictLabel(res.data, response.data.sfzjjzw);
});
getJg(this.$route.query.id).then(response => {
this.jgList = response.data;
});
},
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});
}
});

},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
if (query !== "") {
getShyqrs({shyqrdbxm:query,status:1}).then((response) => {
if (response.code == 200) {
this.getObligeeOptions = response.rows.map(function (item) {
return {
sqrxm:item.shyqrdbxm,
sqrxb:item.xb,
sqrzjhm:item.shyqrdbzjhm,
shyqrdm:item.shyqrdm,
sqrzjlx:item.shyqrdbzjlx,
sqrdh:item.dh,
gyfs:item.gyfs,
dz:item.dz,
deptId:item.deptId,
deptName:item.deptName,
}
})
//设置模糊查询的下拉框和滚动条
if (this.getObligeeOptions.length > 0) {
this.showDropList = true; // div显示会阻挡下边的选择框和输入框,showDropList控制下拉框是否显示
//设置模糊查询的和滚动条
this.$nextTick(() => {
if (this.getObligeeOptions.length > 4) {
let height = document.getElementById("vanCell").offsetHeight * 4;
document.getElementById("dropList").style.height = height + "px";
document.getElementById("dropList").style.overflow = "scroll";
} else {
document.getElementById("dropList").style.height = "";
document.getElementById("dropList").style.overflow = "visible";
}
});
} else {
this.showDropList = false;
}
}
});
} else {
this.getObligeeOptions = [];
this.showDropList = false;
}
},
shyqrdmxmChange(val){
this.$set(this.jgList, "shyqrdbxm", val.sqrxm);
this.$set(this.jgList, "deptId", val.deptId);
this.$set(this.jgList, "deptName", val.deptId);
this.$set(this.jgList, "shyqrzjhm", val.sqrzjhm);
this.$set(this.jgList, "shyqrzjlx", val.sqrzjlx);
this.$set(this.jgList, "shyqrdm", val.shyqrdm);
this.getObligeeOptions=[];
this.showDropList = false;
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.jgList.zjddm = data;
let _this = this;
let handlerTime = this.getDate();
this.$set(this.jgList, "sqrq", handlerTime);
this.$set(this.jgList, "pzrq", handlerTime);
this.$set(this.jgList, "barq", handlerTime);
},
// 获取日期, yyyy-MM-dd
getDate(d) {
return formatDate(d ? d : new Date(), 'yyyy-MM-dd');
},
mapLook(){
this.mapShow = true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000);
},
onConfirmSys(data){
this.sfzjjzw = data.text;
this.jgList.sfzjjzw = data.value;
@@ -246,7 +305,8 @@
this.showReformDeadline = false;
},
goAdd(){
supervisionAdd(this.jgList).then(response => {
console.log(this.jgList)
jgEdit(this.jgList).then(response => {
console.log(response);
this.$toast.success('保存成功');
setTimeout(function(){


+ 189
- 0
src/views/yinnong/homestead/supervision/supervisionWfxx.vue Näytä tiedosto

@@ -0,0 +1,189 @@
<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>
<p class="main_title">基本信息</p>
<div class="main_box">
<van-field readonly label="使用权人代表姓名" v-model="jgList.shyqrdbxm" input-align="right" label-width="auto" />
<field-select
v-model="jgList.wfydlx"
label="使用权人证件类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择使用权人证件类型"
readonly
remote-url="/system/dict/data/type/zjlx"
:on-remote-response="'data'"
/>
<van-field readonly label="使用权人证件号码" v-model="jgList.shyqrzjhm" input-align="right"/>
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" label-width="auto"/>
<field-select
v-model="jgList.jglx"
label="监管类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择监管类型"
readonly
remote-url="/system/dict/data/type/jglx"
:on-remote-response="'data'"
/>
<field-date-picker
readonly
v-model="jgList.lasj"
label="立案时间"
formatter="yyyy-MM-dd"
/>
<field-select
v-model="jgList.wfydlx"
label="违法用地类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择违法用地类型"
readonly
remote-url="/system/dict/data/type/villations_type"
:on-remote-response="'data'"
/>
<van-field readonly label="事件地址" v-model="jgList.fmkje" input-align="right" label-width="auto"/>
<van-field readonly label="备注" v-model="jgList.bz" input-align="right" label-width="auto"/>
</div>
<p class="main_title">违法信息</p>
<div class="main_box">
<van-field v-model="jgList.wfydmj" label="违法用地面积(平方米)" type="number" placeholder="请输入违法用地面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额(元)" type="number" placeholder="请输入罚没款金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积(平方米)" type="number" placeholder="请输入没收面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积(平方米)" type="number" 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="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>
</template>

<script>
import { getJg,jgEdit } from "@/api/onlineHome/homestead/reporting";
import FieldSelect from "@/components/form/FieldSelect";
import FieldDatePicker from "@/components/form/FieldDatePicker";
export default {
name: "supervisionWfxx",
components: {FieldSelect,FieldDatePicker },
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,
showReformDeadline:false,
showjasj:false,

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

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

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

};
},
created() {

this.getTaskGet();
},
methods: {
getTaskGet(){
getJg(this.$route.query.id).then(response => {
this.jgList = response.data;
});
},
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;
},
onConfirmReformDeadline(data){
this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10);
this.showReformDeadline = false;
},
onConfirmJasj(data){
this.jgList.jasj = this.getNowFormatDate(data).substr(0,10);
this.showjasj = false;
},
goAdd(){
jgEdit(this.jgList).then(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>

Ladataan…
Peruuta
Tallenna