Explorar el Código

宅基地调查

wulanhaote
yujk hace 3 años
padre
commit
77fc9018ba
Se han modificado 2 ficheros con 219 adiciones y 88 borrados
  1. +194
    -70
      src/views/homesteadSurvey/add.vue
  2. +25
    -18
      src/views/homesteadSurvey/list.vue

+ 194
- 70
src/views/homesteadSurvey/add.vue Ver fichero

@@ -447,8 +447,15 @@
maxlength="200"
/>
<MapGisDrawing ref="drewingClickLoading" :message="form.theGeom" v-on:formSubmit="MapTag"></MapGisDrawing>
<div v-if="isFinished" style="margin: 16px;">
<van-button round block color="#7AC943" native-type="submit">保存</van-button>
<div style="margin: 16px;">
<div style="width:20%;display:inline-block;text-align:center;">
<van-tag color="#ff976a" v-if="form.zjdAudit=='0'" size="medium" round>待核查</van-tag>
<van-tag color="#07c160" v-if="form.zjdAudit=='1'" size="medium" round>已核查</van-tag>
<van-tag color="#ee0a24" v-if="form.zjdAudit=='2'" size="medium" round>已驳回</van-tag>
<van-tag v-if="form.isyc=='Y'" type="danger" size="medium" round style="margin-top:3px;">有异常</van-tag>
<van-tag v-if="form.isyc=='N'||form.isyc==''||form.isyc==null" color="#07c160" size="medium" round style="margin-top:3px;">无异常</van-tag>
</div>
<van-button v-if="isFinished" round color="#7AC943" style="width:70%;vertical-align:bottom;" native-type="submit">保存</van-button>
</div>
</van-form>
</div>
@@ -475,7 +482,7 @@
<van-button plain round color="#7AC943" size="mini" style="margin:0 5px;" @click="showPopuphncylist(item)">查看成员</van-button>
</div>
</div>
<template #right>
<template #right v-if="isFinished">
<van-button square text="删除" type="danger" class="delete-button" @click="deletesyqr(item.id,index)"/>
</template>
</van-swipe-cell>
@@ -512,7 +519,7 @@
<van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" @click="shownmfwlist(item)">查看房屋列表</van-button>
</div>
</div>
<template #right>
<template #right v-if="isFinished">
<van-button square text="删除" type="danger" class="delete-button" @click="deletezrz(item,index)"/>
</template>
</van-swipe-cell>
@@ -572,7 +579,7 @@
<van-button plain round color="#7AC943" size="mini" @click="showPopupfsss(item)" style="margin:0 auto;">查看附属设施信息</van-button>
</div>
</div>
<template #right>
<template #right v-if="isFinished">
<van-button square text="删除" type="danger" class="delete-button" @click="deletefsss(item.id,index)"/>
</template>
</van-swipe-cell>
@@ -582,8 +589,9 @@
</div>
</div>
<div style="position:fixed;bottom:0;left:5%;width:90%;text-align:center;">
<van-button round color="#ee0a24" style="width:40%" @click="showycbjinfo">异常标记</van-button>
<van-button round color="#7AC943" style="width:40%" @click="searchCommit">签名确认</van-button>
<van-button round color="#ee0a24" style="width:30%" @click="showycbjinfo">异常标记</van-button>
<van-button round color="#7AC943" style="width:30%" @click="searchCommit">签名确认</van-button>
<van-button round color="#ff976a" style="width:30%" @click="showdcshinfo">调查审核</van-button>
</div>
</div>
<van-popup v-model="showsyqr" style="height:100%;width:100%;">
@@ -2658,7 +2666,7 @@
<p style="flex:1;text-align:right;">{{yhzgxfy(item.yhzgx)}}</p>
</div>
</div>
<template #right>
<template #right v-if="isFinished">
<van-button square text="设为户主" type="primary" style="height:100%" @click="setNh(item,index)"/>
<van-button square text="删除" type="danger" class="delete-button" @click="deletehncy(item.id,index)" />
</template>
@@ -2701,8 +2709,8 @@
<van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" @click="showPopupfw(item)">查看房屋信息</van-button>
</div>
</div>
<template #right>
<van-button square text="删除" type="danger" class="delete-button" @click="deletefw(item.id,index)"/>
<template #right v-if="isFinished">
<van-button square text="删除" type="danger" class="delete-button" @click="deletefw(item.id,index)"/>
</template>
</van-swipe-cell>
<div v-if="isFinished" style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;background:#fff;padding:20px;margin-bottom:50px">
@@ -2746,10 +2754,30 @@
</template>
</van-field>
<van-field v-model="ycms" v-if="isyc=='Y'" type="textarea" maxlength="250" label="异常描述" placeholder="请输入异常描述" />
<van-field name="uploader" label="异常描述照片" v-if="isyc=='Y'" autocomplete="off">
<template #input>
<van-uploader v-model="fileListyc" :after-read="beforeReadyc" multiple @delete="deleteFileyc" :max-count="8"></van-uploader>
</template>
</van-field>
<div style="margin: 16px;">
<van-button round block type="info" @click="saveyc">关闭</van-button>
</div>
</van-popup>
<van-popup v-model="showdcsh" position="bottom"
style="padding-top:20px;">
<van-field name="radio" label="调查审核">
<template #input>
<van-radio-group v-model="zjdAudit" direction="horizontal">
<van-radio name="1">通过</van-radio>
<van-radio name="2">驳回</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field v-model="auditRemark" type="textarea" maxlength="250" label="审核描述" placeholder="请输入审核描述" />
<div style="margin: 16px;">
<van-button round block type="info" @click="savesh">保存</van-button>
</div>
</van-popup>
<!--户内成员职业-->
<van-popup v-model="showhncyoccupation" position="bottom">
<van-picker
@@ -2903,6 +2931,10 @@
components: { MapGisDrawing,},
data() {
return {
showdcsh:false,
zjdAudit:'1',
auditRemark:"",
ycms:"",
isyc:'Y',
ycms:"",
showycbj:false,
@@ -3116,6 +3148,8 @@
isFinished:false,
// cookies
cookiesInfo:null,
// 异常标记照片
fileListyc:[],
};
},
created(){
@@ -3371,21 +3405,98 @@
}
return false;
},
showdcshinfo(){
this.showdcsh = true
if(this.form.zjdAudit!=null&&this.form.zjdAudit!=""){
if(this.form.zjdAudit=='0'||this.form.zjdAudit=='1'){
this.zjdAudit = "1"
this.auditRemark = this.form.auditRemark
}else{
this.zjdAudit = this.form.zjdAudit
this.auditRemark = this.form.auditRemark
}
}else{
this.zjdAudit = "1"
this.auditRemark = ""
}
},
showycbjinfo(){
this.showycbj = true
if(this.form.isyc!=null&&this.form.isyc!=""){
this.isyc = this.form.isyc
this.ycms = this.form.ycms
this.fileListyc = []
if(this.form.yctp!=null&&this.form.yctp!=""&&this.form.yctp.length>0){
let li = this.form.yctp.split(",");
li.map(res => {
this.fileListyc.push({"url":this.baseUrl+res,"baseUrl":res})
})
}
}else{
this.isyc = "Y"
this.ycms = ""
}
},
savesh(){
this.showdcsh = false
this.form.zjdAudit = this.zjdAudit
this.form.zuditRemark = this.zuditRemark
},
saveyc(){
this.showycbj = false
this.form.isyc = this.isyc
this.form.ycms = this.ycms
},
// 图片上传前
beforeReadyc(file){
// 创建Canvas对象(画布)
let canvas = document.createElement('canvas')
// 获取对应的CanvasRenderingContext2D对象(画笔)
let context = canvas.getContext('2d')
// 创建新的图片对象
let img = new Image()
// 指定图片的DataURL(图片的base64编码数据)
img.src = file.content
// 监听浏览器加载图片完成,然后进行进行绘制
const height = 166
const width = 316
img.onload = () => {
const h = img.height
const w = img.width
let ch = img.height/6
let cw = img.width/6
let canvas = document.createElement('canvas')
let ctx = canvas.getContext('2d')
canvas.height = ch
canvas.width = cw
ctx.clearRect(0,0,cw,ch)
ctx.drawImage(img,0,0,cw,ch)
let base_img = canvas.toDataURL('image/jpeg')
const blobBin = atob(base_img.split(',')[1])
let d = []
for (let i=0;i<blobBin.length;i++){
d.push(blobBin.charCodeAt(i))
}
const data2 = new FormData();
data2.append("file", new Blob([new Uint8Array(d)],{type:'image/jpeg'}));
uploadFile(data2).then(res => {
if(this.form.yctp!=null&&this.form.yctp!=""){
this.form.yctp = this.form.yctp + "," + res.fileName
}else{
this.form.yctp = res.fileName
}
})
}
},
// 图片删除
deleteFileyc(file){
let url = ","+file.baseUrl
let url1 = file.baseUrl+","
let url2 = file.baseUrl
this.form.yctp = this.form.yctp.replaceAll(url,"")
this.form.yctp = this.form.yctp.replaceAll(url1,"")
this.form.yctp = this.form.yctp.replaceAll(url2,"")
},
shownmfwlist(item){
this.zrzh = item.zrzh
this.shownmfw = true
@@ -4269,6 +4380,7 @@
this.fileListzjd.push({"url":this.baseUrl+res,"baseUrl":res})
})
}

this.lyzkOptions.map(res => {
if(res.dictValue == this.form.lyzk){
this.form.lyzkName = res.dictLabel
@@ -5652,69 +5764,81 @@
},
// 生成签字图
handleGenerate() {
this.$refs.esign
.generate() // 使用生成器调用把签字的图片转换成为base64图片格式
.then((res) => {
this.resultImg = res;
})
.catch((err) => {
// 画布没有签字时会执行这里提示一下
this.$message({
type: "warning",
message: "请签名后再生成签字图片",
if(this.resultImg==null||this.resultImg==''){
this.$refs.esign
.generate() // 使用生成器调用把签字的图片转换成为base64图片格式
.then((res) => {
this.resultImg = res;
})
.catch((err) => {
// 画布没有签字时会执行这里提示一下
this.$message({
type: "warning",
message: "请签名后再生成签字图片",
});
});
});

// 在这里向后端发请求把转换后的base64文件传给后端,后端接收以后再转换成图片做静态图片存储
// 当然也可以把base64转成流文件blob格式的,类似上传给后端这样,具体哪种方式看后端要求
setTimeout(() => {
// 这里要使用定时器稍微延后以后就能取到base64数据了,当然也可以再加一个确认按钮,如:确认使用这张base64签名图片
// 点击确认以后,在其回调函数中,再把base64的签名图片传给后端用于存储
const blobBin = atob(this.resultImg.split(',')[1])
let d = []
for (let i=0;i<blobBin.length;i++){
d.push(blobBin.charCodeAt(i))
}
const data2 = new FormData();
data2.append("file", new Blob([new Uint8Array(d)],{type:'image/jpeg'}));
uploadFile(data2).then(res => {
this.form.dzqm = res.fileName
this.form.houseDataConfirmStatus = "CONFIRMED"
if(this.form.zjddm !="" && this.form.zjddm !=undefined && this.form.zjddm !=null && this.form.isyc =="N"){
updateZrzZtN(this.form.zjddm).then(response => {});
updateFsssZtN(this.form.zjddm).then(response => {});
}else {
updateZrzZtY(this.form.zjddm).then(response => {});
updateFsssZtY(this.form.zjddm).then(response => {});
// 在这里向后端发请求把转换后的base64文件传给后端,后端接收以后再转换成图片做静态图片存储
// 当然也可以把base64转成流文件blob格式的,类似上传给后端这样,具体哪种方式看后端要求
setTimeout(() => {
// 这里要使用定时器稍微延后以后就能取到base64数据了,当然也可以再加一个确认按钮,如:确认使用这张base64签名图片
// 点击确认以后,在其回调函数中,再把base64的签名图片传给后端用于存储
const blobBin = atob(this.resultImg.split(',')[1])
let d = []
for (let i=0;i<blobBin.length;i++){
d.push(blobBin.charCodeAt(i))
}
if (this.form.id != null) {
console.log(this.form);
updateZjdzd(this.form).then(response => {
let _this =this
this.$toast({
icon: 'success', // 找到自己需要的图标
message: '修改成功',
duration:"1000",
onClose:function(){
_this.goBack();
}
const data2 = new FormData();
data2.append("file", new Blob([new Uint8Array(d)],{type:'image/jpeg'}));
uploadFile(data2).then(res => {
this.form.dzqm = res.fileName
this.form.houseDataConfirmStatus = "CONFIRMED"
if(this.form.zjddm !="" && this.form.zjddm !=undefined && this.form.zjddm !=null && this.form.isyc =="N"){
updateZrzZtN(this.form.zjddm).then(response => {});
updateFsssZtN(this.form.zjddm).then(response => {});
}else {
updateZrzZtY(this.form.zjddm).then(response => {});
updateFsssZtY(this.form.zjddm).then(response => {});
}
if (this.form.id != null) {
updateZjdzd(this.form).then(response => {
let _this =this
this.$toast({
icon: 'success', // 找到自己需要的图标
message: '修改成功',
duration:"1000",
onClose:function(){
_this.goBack();
}
});
});
});
} else {
addZjdzd(this.form).then(response => {
let _this =this
this.$toast({
icon: 'success', // 找到自己需要的图标
message: '保存成功',
duration:"1000",
onClose:function(){
_this.goBack();
}
})
});
}
})
}, 200);
} else {
addZjdzd(this.form).then(response => {
let _this =this
this.$toast({
icon: 'success', // 找到自己需要的图标
message: '保存成功',
duration:"1000",
onClose:function(){
_this.goBack();
}
})
});
}
})
}, 200);
}else{
updateZjdzd(this.form).then(response => {
let _this =this
this.$toast({
icon: 'success', // 找到自己需要的图标
message: '修改成功',
duration:"1000",
onClose:function(){
_this.goBack();
}
});
});
}
/*this.showesign = false;*/
},
searchCommit(){


+ 25
- 18
src/views/homesteadSurvey/list.vue Ver fichero

@@ -69,12 +69,12 @@
<p v-if="item.syqr!=null&&item.syqr!=''" style="color:#22B7F2">{{limitWords(item.syqr)}}
<van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}" >查看详情</van-button>
<van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}" >开始调查</van-button>
<van-button plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
<van-button plain round color="#FA5353" size="mini" v-if="!isFinished" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
</p>
<p v-if="item.syqr==null||item.syqr==''" style="color:#878787">无
<van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}" >查看详情</van-button>
<van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}" >开始调查</van-button>
<van-button plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
<van-button plain round color="#FA5353" size="mini" v-if="!isFinished" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
</p>
</template>
<!--<template #default>
@@ -111,12 +111,12 @@

<van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">查看详情</van-button>
<van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">开始调查</van-button>
<van-button plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
<van-button plain round color="#FA5353" size="mini" v-if="!isFinished" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
</p>
<p v-if="item.syqr==null||item.syqr==''" style="color:#878787">无
<van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">查看详情</van-button>
<van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">开始调查</van-button>
<van-button plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
<van-button plain round color="#FA5353" size="mini" v-if="!isFinished" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
</p>
</template>
<!--<template #default>
@@ -153,12 +153,12 @@
<p v-if="item.syqr!=null&&item.syqr!=''" style="color:#22B7F2">{{limitWords(item.syqr)}}
<van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">查看详情</van-button>
<van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">开始调查</van-button>
<van-button plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
<van-button plain round color="#FA5353" size="mini" v-if="!isFinished" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
</p>
<p v-if="item.syqr==null||item.syqr==''" style="color:#878787">无
<van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">查看详情</van-button>
<van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;" :to="{name:'homesteadAdd'}">开始调查</van-button>
<van-button plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
<van-button plain round color="#FA5353" size="mini" v-if="!isFinished" style="vertical-align:middle;float:right;margin-right:10px" @click="deleteZjd(item,index)">删除</van-button>
</p>
</template>
<!--<template #default>
@@ -190,7 +190,7 @@
<p style="color:#22B7F2">{{item.hzxm}}
<van-button plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;margin-left:10px;" @click="showPopuphncylist(item)">查看成员</van-button>
<van-button plain round color="#7AC943" size="mini" style="vertical-align:middle;float:right;margin-left:10px;" @click="showPopupnh(item)">查看户主</van-button>
<van-button plain round color="#FA5353" size="mini" style="vertical-align:middle;float:right;" @click="deletenh(item,index)">删除</van-button>
<van-button plain round color="#FA5353" size="mini" v-if="!isFinished" style="vertical-align:middle;float:right;" @click="deletenh(item,index)">删除</van-button>
</p>
</template>
<!-- <template #default>
@@ -479,7 +479,7 @@
input-align="right"
/>
</div>
<div style="margin: 16px;">
<div style="margin: 16px;" v-if="!isFinished">
<van-button round block color="#7AC943" native-type="submit">保存</van-button>
</div>
</van-form>
@@ -801,7 +801,7 @@
<div style="text-align:center;overflow:auto;">
<van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" native-type="button" @click="showPopuphncylist(nhform)">查看户内成员列表</van-button>
</div>
<div style="margin: 16px;">
<div style="margin: 16px;" v-if="!isFinished">
<van-button round block color="#7AC943" native-type="submit">保存</van-button>
</div>
</van-form>
@@ -945,12 +945,12 @@
<p style="flex:1;text-align:right;">{{yhzgxfy(item.yhzgx)}}</p>
</div>
</div>
<template #right>
<template #right v-if="!isFinished">
<van-button square text="设为户主" type="primary" style="height:100%" @click="setNh(item,index)"/>
<van-button square text="删除" type="danger" style="height:100%" @click="deletehncy(item.id,index)" />
</template>
</van-swipe-cell>
<div style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;background:#fff;padding:20px;">
<div style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;background:#fff;padding:20px;" v-if="!isFinished">
<div style="text-align:center;" >
<p style="color:#22B7F2;font-size:20px;line-height:30px;" @click="showPopuphncy('')"><van-icon name="plus" color="#22b7f2" size="20" style="margin-right:10px;"/>添加户内成员信息</p>
</div>
@@ -1163,7 +1163,7 @@
v-model="form5.sjly"
style="display:none"
/>
<div style="margin: 16px;">
<div style="margin: 16px;" v-if="!isFinished">
<van-button round block color="#7AC943" native-type="submit">保存</van-button>
</div>
</van-form>
@@ -1378,6 +1378,9 @@
backTheGeom:"",
//地图服务地址
mapGeoServerUrl:"",
// 任务完成标记

isFinished:false,
};
},
mounted(){
@@ -1419,7 +1422,6 @@
this.cybzOptions = response.data;
});
console.log(this.$cookies.get("item"));
if(this.$cookies.get("item")){
if(this.$cookies.get("item").activeBtn !=null){
if(this.$cookies.get("item").activeBtn == 4){
this.activeBtn = this.$cookies.get("item").activeBtn;
@@ -1430,17 +1432,22 @@
this.mapShow();
this.getZjdList();
this.getTotalHR();
if(this.item.taskStatus=="FINISHED"){
this.isFinished = true
}else{
this.isFinished = false
}
}
}else {
this.item = this.$cookies.get("item");
this.getZjdList();
this.getTotalHR();
if(this.item.taskStatus=="FINISHED"){
this.isFinished = true
}else{
this.isFinished = false
}
}
}else {
this.item = this.$cookies.get("item");
this.getZjdList();
this.getTotalHR();
}
},
methods: {
validatorIdcardqlr(val){


Cargando…
Cancelar
Guardar