|
@@ -0,0 +1,369 @@
|
|
|
|
+<template>
|
|
|
|
+ <el-dialog :title='fzTitle' :visible.sync='dialogVisible' @before-close='handleClose()' :modal='false' top='8vh'
|
|
|
|
+ v-loading='loading'>
|
|
|
|
+ <el-form ref="formFz" :model="formFz" :rules="formFzRules" label-width="120px" size="small">
|
|
|
|
+ <el-form-item label="房屋地址" prop="fwDz" class="long">
|
|
|
|
+ <el-input v-model="fwDz" placeholder="请填写房屋地址" disabled></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="人员信息类型">
|
|
|
|
+ <!-- <el-input v-model="form.type" ></el-input>-->
|
|
|
|
+ <div @click="clickType(index, item.value)" class="typediv" :class="{ 'isactive': isclick == index }"
|
|
|
|
+ v-for="(item, index) in typeList" :key="item.value">
|
|
|
|
+ <img :src="item.icon" alt="">
|
|
|
|
+ <span style="display: block">{{ item.name }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="个人照片" prop="fzZp">
|
|
|
|
+ <div v-loading="photoLoading" :element-loading-text="photoLoadingText"
|
|
|
|
+ style="width: 80px;border: 1px solid #D4D6D9;height: 80px;text-align: center;border-radius: 8px">
|
|
|
|
+ <input @change="getfile($event)" class="filebox" type="file" accept="image/*">
|
|
|
|
+ <div v-if="!formFz.fzZp">
|
|
|
|
+ <i class="el-icon-plus" style="font-size: 50px;color: #D4D6D9;line-height: 80px"></i>
|
|
|
|
+ </div>
|
|
|
|
+ <img v-else :src="formFz.fzZp" style="width: 100%">
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="证件号码" prop="fzSfzh" class="nomal">
|
|
|
|
+ <el-input v-model="formFz.fzSfzh" placeholder="证件号码"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="房主国籍" prop="fzgj" class="nomal" v-if="formFz.zjlx == '护照'">
|
|
|
|
+ <el-select v-model="formFz.fzgj" placeholder="请选择">
|
|
|
|
+ <el-option v-for="item in gjOp" :key="item.value" :label="item.label" :value="item.value">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="户籍地址" prop="hjdz" class="long" v-if="formFz.zjlx != '护照'">
|
|
|
|
+ <el-input v-model="formFz.hjdz" placeholder="请输入现住址"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="房主姓名" prop="fzXm" class="nomal" v-if="formFz.zjlx != '护照'">
|
|
|
|
+ <el-input v-model="formFz.fzXm" placeholder="请输入房主姓名"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="房主英文姓" prop="fzYwx" class="nomal" v-if="formFz.zjlx == '护照'">
|
|
|
|
+ <el-input v-model="formFz.fzYwx"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="房主英文名" prop="fzYwm" class="nomal" v-if="formFz.zjlx == '护照'">
|
|
|
|
+ <el-input v-model="formFz.fzYwm"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="证件类型" prop="zjlx" class="nomal">
|
|
|
|
+ <el-select v-model="formFz.zjlx" placeholder="请选择" @change="zjlxChange">
|
|
|
|
+ <el-option v-for="item in zjOp" :key="item.value" :label="item.label" :value="item.value">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="联系电话" class="nomal">
|
|
|
|
+ <el-input v-model="formFz.fzDh" placeholder="请输入联系电话"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :offset="1" :span="23">
|
|
|
|
+ <el-form-item label="人口类型" prop="rklx" class="rklx">
|
|
|
|
+ <el-radio-group v-model="formFz.rklx">
|
|
|
|
+ <el-radio :label="1">常住人口</el-radio>
|
|
|
|
+ <el-radio :label="2">寄住人口</el-radio>
|
|
|
|
+ <el-radio :label="3">暂住人口</el-radio>
|
|
|
|
+ <el-radio :label="4">境外人员</el-radio>
|
|
|
|
+ <el-radio :label="5">未落常人口</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :offset="1" :span="23">
|
|
|
|
+ <el-form-item label="是否在此居住" prop="sfzcjz">
|
|
|
|
+ <el-radio-group v-model="formFz.sfzcjz">
|
|
|
|
+ <el-radio :label="1">是</el-radio>
|
|
|
|
+ <el-radio :label="0">否</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :offset="3" :span="21" v-show="formFz.sfzcjz == '0'">
|
|
|
|
+ <div class="card_bg">
|
|
|
|
+ <el-form-item label="现居住地址" prop="fzJzd" class="long">
|
|
|
|
+ <el-input v-model="formFz.fzJzd" placeholder="请输入现居住地址"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :offset="1" :span="23">
|
|
|
|
+ <el-form-item label="是否特殊人群" prop="istsrq">
|
|
|
|
+ <el-radio-group v-model="formFz.istsrq">
|
|
|
|
+ <el-radio label="是"></el-radio>
|
|
|
|
+ <el-radio label="否"></el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+
|
|
|
|
+ <el-col :offset="2" :span="22" v-show="formFz.istsrq == '是'" class="iserea">
|
|
|
|
+ <div class="card_bg">
|
|
|
|
+ <el-form-item label="" prop="ryTsLb">
|
|
|
|
+ <el-checkbox-group v-model="formFz.ryTsLb">
|
|
|
|
+ <el-checkbox v-for="titem in options.tsrq" :label="titem.label"
|
|
|
|
+ :key="titem.value"></el-checkbox>
|
|
|
|
+ </el-checkbox-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="具体情况" style="padding-left: 120px" prop="desc">
|
|
|
|
+ <el-input placeholder="请描述具体情况,非必填,限2000字符" type="textarea"
|
|
|
|
+ v-model="formFz.desc"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ <el-col :offset="1" :span="23">
|
|
|
|
+ <el-form-item label="是否重点人">
|
|
|
|
+ <el-radio-group v-model="formFz.iszdr">
|
|
|
|
+ <el-radio label="是"></el-radio>
|
|
|
|
+ <el-radio label="否"></el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :offset="1" :span="23">
|
|
|
|
+
|
|
|
|
+ <el-form-item label="联系电话" class="nomal">
|
|
|
|
+ <el-input v-model="formFz.fzDh" placeholder="请输入联系电话"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :offset="1" :span="23">
|
|
|
|
+ <el-form-item label="工作单位" class="long">
|
|
|
|
+ <el-input v-model="formFz.fzDw" placeholder="请输入工作单位"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :offset="1" :span="23">
|
|
|
|
+ <el-form-item label="备注">
|
|
|
|
+ <el-input placeholder="请添加备注信息,非必填,限200字符" type="textarea" v-model="formFz.bz"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form>
|
|
|
|
+ <ZxDialog ref="ZxDialog" @changeFzType="changeFzType"></ZxDialog>
|
|
|
|
+ <div class='footer'>
|
|
|
|
+ <div class="btn_text_nomal" @click="deleteFz">注 销</div>
|
|
|
|
+ <div>
|
|
|
|
+ <button class='btn_primary' @click='dialogSave' style='margin-right: 24px;'>保存</button>
|
|
|
|
+ <button class='btn_nomal' @click='dialogVisible = false' style='margin-right: 12px;'>取消</button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+</template>
|
|
|
|
+<script>
|
|
|
|
+import { fzUpdate,fzzx,saveFz } from '@/api/fwbzdz/syfw'
|
|
|
|
+import ZxDialog from './ZxDialog.vue'
|
|
|
|
+
|
|
|
|
+export default {
|
|
|
|
+ name: 'FzDialog',
|
|
|
|
+ props: {
|
|
|
|
+ fzinfo: {
|
|
|
|
+ type: Object,
|
|
|
|
+ default: () => {
|
|
|
|
+ return {
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ options: {
|
|
|
|
+ type: Object,
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ components: { ZxDialog },
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ dialogVisible: false,
|
|
|
|
+ loading: false,
|
|
|
|
+ formFz: {
|
|
|
|
+ dzbm: '', fwlb: '', fwxz: '', fwyt: '', syyt: '', fwMj: '', fwJs: '', fzXm: '', ryTsLb: [],
|
|
|
|
+ fzYwx: '', fzYwm: '', zjlx: '身份证', fzgj: '', zjhm: '', hjdz: '', sfzcjz: 1, fzJzd: '', fzDh: '', fzDw: '', bz: '',
|
|
|
|
+ },
|
|
|
|
+ formFzRules: {},
|
|
|
|
+ typeList: [
|
|
|
|
+ { name: '常住人口', value: 'czrk', icon: require('@/views/ybss/syrk/asset/icon_type_permanent.svg') },
|
|
|
|
+ { name: '寄住人口', value: 'jzrk', icon: require('@/views/ybss/syrk/asset/icon_type_lodge.svg') },
|
|
|
|
+ { name: '暂住人口', value: 'zzrk', icon: require('@/views/ybss/syrk/asset/icon_type_stay.svg') },
|
|
|
|
+ { name: '境外人口', value: 'jwrk', icon: require('@/views/ybss/syrk/asset/icon_type_foreigner.svg') },
|
|
|
|
+ { name: '未落常人口', value: 'wlrk', icon: require('@/views/ybss/syrk/asset/icon_type_not.svg') }
|
|
|
|
+ ],
|
|
|
|
+ gjOp: [],
|
|
|
|
+ zjOp: [
|
|
|
|
+ { label: '护照', value: '护照' },
|
|
|
|
+ { label: '身份证', value: '身份证' },
|
|
|
|
+ ],
|
|
|
|
+ isclick: null,
|
|
|
|
+ fwDz: '',
|
|
|
|
+ fzType: '',
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ computed: {
|
|
|
|
+ query() {
|
|
|
|
+ return this.$store.state.thirdTitle.bzdzxq
|
|
|
|
+ },
|
|
|
|
+ fzTitle(){
|
|
|
|
+ if(this.fztype == 'zxing'){
|
|
|
|
+ return '新增房主信息'
|
|
|
|
+ }else{
|
|
|
|
+ return '修改房主信息'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ watch: {
|
|
|
|
+ 'fzinfo': {
|
|
|
|
+ handler: function (n) {
|
|
|
|
+ if (n) {
|
|
|
|
+ this.formFz = JSON.parse(JSON.stringify(this.fzinfo))
|
|
|
|
+ }
|
|
|
|
+ }, deep: true, immediate: true
|
|
|
|
+ },
|
|
|
|
+ 'dialogVisible': {
|
|
|
|
+ handler: function (n) {
|
|
|
|
+ if (n) {
|
|
|
|
+ this.fzType = ''
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ mounted() {
|
|
|
|
+ this.fwDz = this.query.level1 + this.query.level2 + this.query.level3 + this.query.level4 + this.query.lcnpmh
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ deleteFz() {
|
|
|
|
+ this.$refs.ZxDialog.show()
|
|
|
|
+ },
|
|
|
|
+ changeFzType(){
|
|
|
|
+ this.fzType = 'zxing'
|
|
|
|
+ this.formFz = {
|
|
|
|
+ dzbm: '', fwlb: '', fwxz: '', fwyt: '', syyt: '', fwMj: '', fwJs: '', fzXm: '', ryTsLb: [],
|
|
|
|
+ fzYwx: '', fzYwm: '', zjlx: '身份证', fzgj: '', zjhm: '', hjdz: '', sfzcjz: 1, fzJzd: '', fzDh: '', fzDw: '', bz: '',
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ clickType(index, value) {
|
|
|
|
+ this.$set(this.formFz, 'ryType', value)
|
|
|
|
+ this.$set(this.$data, 'isclick', index)
|
|
|
|
+ // this.isclick = index
|
|
|
|
+ },
|
|
|
|
+ show() {
|
|
|
|
+ this.dialogVisible = true
|
|
|
|
+ },
|
|
|
|
+ handleClose() {
|
|
|
|
+ this.dialogVisible = false
|
|
|
|
+ },
|
|
|
|
+ dialogSave() {
|
|
|
|
+ // this.formFz.fwDz = this.fwDz
|
|
|
|
+ if (this.fzType == 'zxing') {
|
|
|
|
+ this.$confirm('确定新增房主?', '提示', {
|
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
|
+ confirmButtonText: '确认',
|
|
|
|
+ cancelButtonText: '取消'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ fzzx(this.formFz).then(res=>{
|
|
|
|
+ console.log('fzzx',res)
|
|
|
|
+ saveFz(this.formFz).then((res2)=>{
|
|
|
|
+ console.log('saveFz',res2)
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.$confirm('确定修改房主信息?', '提示', {
|
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
|
+ confirmButtonText: '确认',
|
|
|
|
+ cancelButtonText: '取消'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ // 根据 fzid
|
|
|
|
+ fzUpdate(this.formFz).then((res)=>{
|
|
|
|
+ console.log('fzUpdate',res)
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</script>
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+@import '@/styles/public/form-style.scss';
|
|
|
|
+@import '@/styles/public/button-style.scss';
|
|
|
|
+
|
|
|
|
+::v-deep .el-dialog__body {
|
|
|
|
+ padding: 0;
|
|
|
|
+ // height: 70vh;
|
|
|
|
+ // overflow-y: scroll;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+::v-deep .el-form-item__content {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ min-height: 32px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.rklx {
|
|
|
|
+ ::v-deep .el-radio {
|
|
|
|
+ margin-top: 8px;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+.card_bg {
|
|
|
|
+ background-color: rgba(236, 242, 254, 0.3);
|
|
|
|
+ border-radius: 8px;
|
|
|
|
+ padding: 16px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.typediv {
|
|
|
|
+ float: left;
|
|
|
|
+ width: 102px;
|
|
|
|
+ height: 104px;
|
|
|
|
+ background: rgba(16, 109, 255, 0.02);
|
|
|
|
+ border-radius: 8px;
|
|
|
|
+ text-align: center;
|
|
|
|
+ padding-top: 16px;
|
|
|
|
+ margin-right: 16px;
|
|
|
|
+ border: 1px solid #ECF2FE;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ //border: 1px solid #106DFF;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.isactive {
|
|
|
|
+ border: 1px solid #106DFF
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.filebox {
|
|
|
|
+ opacity: 0;
|
|
|
|
+ width: 100%;
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 0;
|
|
|
|
+ left: 0;
|
|
|
|
+ right: 0;
|
|
|
|
+ bottom: 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.footer {
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 64px;
|
|
|
|
+ // box-shadow: 0px -1px 8px 0px rgba(0, 0, 0, 0.1);
|
|
|
|
+ display: flex;
|
|
|
|
+ // flex-direction: row-reverse;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ align-items: center;
|
|
|
|
+
|
|
|
|
+ .btn_text_nomal {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: rgba(111, 124, 163, 1);
|
|
|
|
+ margin-left: 12px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ button {
|
|
|
|
+ width: 65px;
|
|
|
|
+ height: 32px;
|
|
|
|
+ border-radius: 16px
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</style>
|