|
- <template>
- <div class="app-container">
- <van-sticky style="position:relative;">
- <div class="bannerBg">
- <van-nav-bar
- style="background:transparent;border-bottom-width:0;margin-bottom:.5rem;"
- @click-left="goBack()"
- >
- <template #left>
- <van-icon name="arrow-left" size="18" color="#fff" />
- </template>
- <!-- <template #right>
- <van-icon name="map-marked" size="18" color="#fff" />
- </template>-->
- <template #title>
- <p style="color:#fff">入户调查</p>
- </template>
- </van-nav-bar>
- </div>
- <div style="width:95%;left:2.5%;position:absolute;background:#fff;border-radius:15px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);padding: .3rem;top:1.2rem">
- <van-row>
- <van-col span="4" :offset="1" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add'})">
- <van-icon :name="require('../../assets/images/housesteadSurvey/zjd'+(active==1?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
- <p :style="{color:(active==1?'rgb(34, 183, 242)':'#000')}">宅基地</p>
- </van-col>
- <van-col span="2">
- <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
- </van-col>
- <van-col span="4" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add2'})" >
- <van-icon :name="require('../../assets/images/housesteadSurvey/nhxx'+(active==2?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
- <p :style="{color:(active==2?'rgb(34, 183, 242)':'#000')}">农户</p>
- </van-col>
- <van-col span="2">
- <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
- </van-col>
- <van-col span="4" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add3'})" >
- <van-icon :name="require('../../assets/images/housesteadSurvey/fwxx'+(active==3?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
- <p :style="{color:(active==3?'rgb(34, 183, 242)':'#000')}">房屋</p>
- </van-col>
- <van-col span="2">
- <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
- </van-col>
- <van-col span="4" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add4'})">
- <van-icon :name="require('../../assets/images/housesteadSurvey/fsss'+(active==4?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
- <p :style="{color:(active==4?'rgb(34, 183, 242)':'#000')}">附属物</p>
- </van-col>
- </van-row>
- </div>
- </van-sticky>
- <div style="margin:1.6rem auto 0;width: 95%;">
- <p class="title" style="position:relative;padding-left:10px;line-height:20px;font-size: 16px;margin-bottom: 5px;">农民房屋</p>
- </div>
- <van-swipe-cell v-for="(item,index) in nmfwlist" :key="'nmfw'+index" style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:95%;margin:15px auto 0;background:#fff;">
- <div style="padding:15px;">
- <p style="display: flex;align-items: center;">
- <img src="../../assets/images/housesteadSurvey/add03.png" alt="" style="margin-right: 5px;">
- <span style="line-height: 1;font-size: 16px;">{{item.nmfwdm}}</span>
- </p>
- <div style="display:flex;line-height:20px;margin-top: 15px;font-size: 14px;color: #999999;">
- <p style="flex:1;text-align:left;">农民房屋面积:</p>
- <p style="flex:1;text-align:right;">{{item.nmfwmj}}</p>
- </div>
- <div style="display:flex;line-height:20px;margin-top: 5px;font-size: 14px;color: #999999;">
- <p style="flex:1;text-align:left;">农户代码:</p>
- <p style="flex:1;text-align:right;">{{item.nhdm}}</p>
- </div>
- <div style="text-align:center;overflow:auto;display: flex;justify-content: space-between;margin-top: 10px;">
- <p style="width:49%;display: flex;align-items: center;justify-content:center;border: 1px solid transparent;background: #22B7F2;padding: 3px 0;border-radius: 50px;" @click="showUploadList(item.id)">
- <van-icon name="photo-o" size=".4rem" color="#FFFFFF"/>
- <span style="font-size: 14px;color: #fff;margin-left: 5px;">附件</span>
- </p>
- <p style="width:49%;display: flex;align-items: center;justify-content:center;border: 1px solid #22B7F2;padding: 3px 0;border-radius: 50px;" @click="showPopupnmfw(item)">
- <img src="../../assets/images/housesteadSurvey/add02.png" alt="">
- <span style="font-size: 14px;color: #22B7F2;margin-left: 5px;">详情</span>
- </p>
- </div>
- </div>
- <template #right>
- <van-button v-if="permission == 'true'" square text="删除" type="danger" class="delete-button" @click="deletenmfw(item)"/>
- </template>
- </van-swipe-cell>
- <van-popup v-model:show="showImageList" position="bottom" style="height:40vh;padding:50px 10px 0" closeable
- close-icon="close">
- <p style="color:#000;position:absolute;top:0.426667rem;left:0.426667rem">图片上传</p>
- <div style="width:100%;height:calc( 40vh - 100px);overflow-y: scroll;">
-
- <van-uploader accept="image/*" v-model="uploadImgList" :after-read="beforeReadImageList" @delete="deleteFileImageList" multiple :max-count="50" />
- </div>
- <van-row justify="space-around" style=" position:fixed;bottom:0;left:0;width:100%;height:50px;text-align: center;">
- <van-col span="12"><van-button type="primary" style="width:100px;" round @click="qkClick">清空</van-button></van-col>
- <van-col span="12"><van-button type="primary" style="width:100px;" round @click="submitUploadList(zjdId)">上传</van-button></van-col>
- </van-row>
- </van-popup>
- <div v-if="permission == 'true'" style=" width:95%;margin:20px auto;display: flex;justify-content: space-between;">
- <div style="width:100%;text-align:center;overflow:auto;border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);padding: 15px 0px;background: #ffffff;color: #22B7F2;">
- <p style="font-size: 16px;" @click="showPopupAddnmfw()">+ 添加农民房屋</p>
- </div>
-
- </div>
- </div>
- </template>
-
- <script>
- import MapGisDrawing from "@/components/Map/MapGisDrawing";
- import {listNmfw,addNmfw,updateNmfw,delNmfw} from "@/api/homesteadSurvey/nmfw";
- import {uploadFile} from "@/api/homesteadSurvey/zjdzd";
- import {attachmentFind} from "@/api/sunVillage_info/homestead/application";
- import {systemAttachment} from "@/api/onlineHome/bankAgriculture/paymentApproval";
- import {base64Attach} from "@/api/user";
- import { Notify, Dialog, Toast } from 'vant';
- import axios from "axios";
- export default {
- name: "nmfwList",
- components: { MapGisDrawing,},
- data() {
- return {
- active:3,
- // 使用权人列表
- permission:false,
- zrzData:{},
- nmfwlist:[],
- showImageList:false,
- zjdId:null,
- uploadImgList:[],
- uploadImgList1:[],
- };
- },
- created(){
- this.zrzData = this.$route.query;
- this.permission = localStorage.getItem("executePermission");
- this.getList();
- },
- mounted(){
-
- },
- methods: {
- getList(){
- listNmfw({nmfwzh:this.zrzData.nmfwzh}).then(response => {
- this.nmfwlist = response.rows;
- });
- },
- goBack(){
- if(this.ztMap && this.enterMap ==1){
- if(this.form.id == null){
- this.backMap.backMapZjdAData.theGeom= "";
- }else{
- this.backMap.backMapZjdAData = this.form;
- }
- this.$cookies.set("search",this.backMap);
- } else {
- this.$cookies.set("search","");
- }
- this.$router.push({name: this.$router.back(-1)});
- // }
- },
- showPopupnmfw(val){
- this.$router.push({name:'nmfwAdd',query:val});
- },
- showPopupAddnmfw(){
- this.$router.push({name:'nmfwAdd',query:{nmfwzh:this.zrzData.nmfwzh,zjddm:this.zrzData.zjddm}});
- },
- showPopuphncy(val){
- this.$router.push({name:'nhcyAdd',query:val});
- },
- showUploadList(id){
- this.getAttachments(id);
- this.showImageList = true;
- this.zjdId = id;
- },
- getAttachments(id) {
- this.uploadImgList = [];
- let cond = {
- tableId: id,
- tableName: 't_homestead_nmfw',
- fileType: 0,
- };
- attachmentFind(cond).then(resp => {
- this.uploadImgList = resp.data.map(function(item){
- return {id:item.id,url:'/api'+item.fileUrl,isImage: true}
- });
- });
- },
- deleteFileImageList(file){
- if(file.id !== undefined ){
- systemAttachment(file.id);
- }
- },
- // 图片上传前
- beforeReadImageList(file){
- let _this = this;
- if(file.length!=undefined){
- file.map(res => {
- let zjddm = res.file.name
- //zjddm=zjddm.substring(0,zjddm.lastIndexOf("\("));
- // 创建Canvas对象(画布)
- let canvas = document.createElement('canvas')
- // 获取对应的CanvasRenderingContext2D对象(画笔)
- let context = canvas.getContext('2d')
- // 创建新的图片对象
- let img = new Image()
- // 指定图片的DataURL(图片的base64编码数据)
- img.src = res.content
- // 监听浏览器加载图片完成,然后进行进行绘制
- img.onload = () => {
- /*const h = img.height
- const w = img.width*/
- let ch = img.height/5
- let cw = img.width/5
- 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')
- let blobBin = atob(base_img.split(',')[1])
- let d = []
- for (let i=0;i<blobBin.length;i++){
- d.push(blobBin.charCodeAt(i))
- }
- let data2 = new FormData();
- data2.append("file", new Blob([new Uint8Array(d)],{type:'image/jpeg'}));
- uploadFile(data2);
- }
- })
- }else{
- let zjddm = file.file.name
- //zjddm=zjddm.substring(0,zjddm.lastIndexOf("\("));
- // 创建Canvas对象(画布)
- let canvas = document.createElement('canvas')
- // 获取对应的CanvasRenderingContext2D对象(画笔)
- let context = canvas.getContext('2d')
- // 创建新的图片对象
- let img = new Image()
- // 指定图片的DataURL(图片的base64编码数据)
- img.src = file.content
- // 监听浏览器加载图片完成,然后进行进行绘制
- img.onload = () => {
- /*const h = img.height
- const w = img.width*/
- let ch = img.height/5
- let cw = img.width/5
- 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')
- let blobBin = atob(base_img.split(',')[1])
- let d = []
- for (let i=0;i<blobBin.length;i++){
- d.push(blobBin.charCodeAt(i))
- }
- let data2 = new FormData();
- data2.append("file", new Blob([new Uint8Array(d)],{type:'image/jpeg'}));
- uploadFile(data2);
- }
- }
-
- },
- qkClick(){
- this.uploadImgList1 = this.uploadImgList;
- for(let i = 0; i < this.uploadImgList1.length; i++){
- if(this.uploadImgList[i].id !== undefined ){
- systemAttachment(this.uploadImgList[i].id);
- }
- }
- this.uploadImgList = [];
- },
- submitUploadList(val){
- let f = []
- for (let i of this.uploadImgList){
- if(i.content !== undefined){
- f.push(i.content)
- }
- }
- console.info(this.uploadImgList);
- let _this = this;
- let file = {
- tableId:val,
- tableName:"t_homestead_nmfw",
- bizPath:"upload",
- fileType:"0",
- files: f
- };
- base64Attach(file).then((resp) => {
- this.$toast({
- icon: 'success', // 找到自己需要的图标
- message: '上传成功',
- duration:"1000",
- onClose:function(){
- _this.showImageList = false
- }
- })
- });
- },
- deletenmfw(val){
- const ids = val.id || this.ids;
- Dialog.confirm({
- title: '系统提示',
- message: '是否确认删除农民房屋数据项?',
- confirmButtonText: '确定',
- cancelButtonText: '取消'
- })
- .then(function() {
- return delNmfw(ids);
- }).then(() => {
- this.$notify({ type: 'success' , message: "删除成功" });
- location.reload(true);
- }).catch(() => {});
- }
- }
- }
- </script>
-
- <style scoped>
- >>> .bannerBg{
- width: 100%;
- color:#fff;
- padding:10px;
- background: linear-gradient(134deg,#7ac943 1%, #22b7f2);
- }
- >>> .van-hairline--bottom::after {
- border-bottom-width: 0;
- }
- >>> .title:before
- {
- content:"";
- width: 6px;
- height: 20PX;
- background: #7ac943;
- border-radius: 3px;
- position:absolute;
- left:0;
- bottom:0;
- }
- >>> .delete-button {
- height: 100%;
- }
- >>> .van-swipe-cell__wrapper{
- margin-right:-3px;
- }
- >>> .label-class .van-collapse-item__title--expanded{
- font-weight: bold;
- }
- </style>
|