Bladeren bron

实有人口

chenchhuanbao 6 maanden geleden
bovenliggende
commit
df7a3e25cb

+ 18 - 0
src/api/fwbzdz/syrk.js

@@ -10,3 +10,21 @@ export const getdjxx = (params) => {
     }
   })
 }
+
+export const updateRy = (row) => {
+  return request({
+    url: '/api/syry/api/updateRy',
+    method: 'post',
+    data:row
+  })
+}
+
+
+export const syrkzx = (row) => {
+  return request({
+    url: '/apibzdz/api/syrkzx',
+    method: 'post',
+    data:row
+  })
+}
+

+ 2 - 2
src/option/ybss/syrk.js

@@ -2,7 +2,7 @@ import defaultOption from "../defaultOption";
 
 export default {
     ...defaultOption,
-    selection: false,
+    selection: true,
     editBtn: false,
     viewBtn: false,
     delBtn: false,
@@ -59,4 +59,4 @@ export default {
         //     width: 100,
         // },
     ]
-}
+}

+ 9 - 2
src/views/ybss/syrk/components/Jbxx.vue

@@ -25,7 +25,7 @@
         </div>
         <div class="row_body">
             <div class="row_label">人口类型</div>
-            <div class="row_content">{{ dataList.ryType }}</div>
+            <div class="row_content">{{dataList.ryType }}</div>
         </div>
         <div class="row_body">
             <div class="row_label">来本地日期</div>
@@ -49,7 +49,7 @@
         </div>
         <div class="row_body">
             <div class="row_label">是否是特殊人群</div>
-            <div class="row_content">{{ dataList.ryTsLb }}</div>
+            <div class="row_content">{{ JSON.parse(dataList.ryTsLb).join(',') }}</div>
         </div>
         <div class="row_body">
             <div class="row_label">是否是重点人员</div>
@@ -126,6 +126,13 @@ export default {
     name: 'Jbxx',
     data() {
         return {
+          typeList:[
+            {name:'常住人口',value:'czrk',icon:require('../asset/icon_type_permanent.svg')},
+            {name:'寄住人口',value:'jzrk',icon:require('../asset/icon_type_lodge.svg')},
+            {name:'暂住人口',value:'zzrk',icon:require('../asset/icon_type_stay.svg')},
+            {name:'境外人口',value:'jwrk',icon:require('../asset/icon_type_foreigner.svg')},
+            {name:'未落常人口',value:'wlrk',icon:require('../asset/icon_type_not.svg')}
+          ],
           djInfo:{},
             dataBase: {},
             dataLogin: [

+ 58 - 33
src/views/ybss/syrk/components/add.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="add">
     <el-dialog
-      title="新增实有居住人员信息"
+      :title="upStatus=='update'?'修改实有居住人员信息':'新增实有居住人员信息'"
       :visible.sync="dialogVisible"
       width="50%"
       @close="closeDialogs('form')"
-      :before-close="handleClose">{{form}}
+      :before-close="handleClose">
       <el-form ref="form" :model="form"  :rules="rules"  label-width="120px" size="small">
         <el-row>
           <el-col :span="24">
@@ -16,7 +16,12 @@
 
           <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">
+            <div v-if="status=='update'" class="typediv" :class="{'isactive':form.ryType==item.name}" v-for="(item,index) in typeList">
+              <img :src="item.icon" alt="">
+              <span style="display: block">{{item.name}}</span>
+            </div>
+
+            <div  v-if="status=='add'" @click="clickType(index,item.name)" class="typediv" :class="{'isactive':form.ryType==item.name}" v-for="(item,index) in typeList">
               <img :src="item.icon" alt="">
               <span style="display: block">{{item.name}}</span>
             </div>
@@ -72,7 +77,7 @@
                   v-for="item in whcd"
                   :key="item.value"
                   :label="item.label"
-                  :value="item.value">
+                  :value="item.label">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -95,7 +100,7 @@
                   v-for="item in hyzk"
                   :key="item.value"
                   :label="item.label"
-                  :value="item.value">
+                  :value="item.label">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -116,9 +121,9 @@
               <el-select v-model="form.ryZzmm" placeholder="政治面貌" style="width:99%">
                 <el-option
                   v-for="item in zzmm"
-                  :key="item.value"
+                  :key="item.label"
                   :label="item.label"
-                  :value="item.value">
+                  :value="item.label">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -139,7 +144,7 @@
                   v-for="item in byzk"
                   :key="item.value"
                   :label="item.label"
-                  :value="item.value">
+                  :value="item.label">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -149,13 +154,13 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="电话微信同号">
-              <el-radio-group v-model="form.isth" @change="handleRadioChange">
+              <el-radio-group v-model="isth" @change="handleRadioChange">
                 <el-radio label="是" value="1"></el-radio>
                 <el-radio label="否" value="0"></el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :offset="2" :span="22" v-show="form.isth=='否'" class="iserea">
+          <el-col :offset="2" :span="22" v-show="isth=='否'" class="iserea">
             <el-form-item label="微信号" prop="vx">
               <el-input v-model="form.vx"></el-input>
             </el-form-item>
@@ -165,15 +170,15 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="宗教信仰">
-              <el-radio-group v-model="form.iszjxy">
+              <el-radio-group v-model="iszjxy">
                 <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="form.iszjxy=='是'" class="iserea">
-            <el-form-item label="" prop="zjxy">
-                <el-checkbox v-for="(item,index) in zjxyLst" :label="item.label" :key="index" :value="item.value" @change="handleCheckAllChange(item,'zjxy')"></el-checkbox>
+          <el-col :offset="2" :span="22" v-show="iszjxy=='是'" class="iserea">
+            <el-form-item label="">
+                <el-checkbox v-model="zjxycheck" v-for="(item,index) in zjxyLst" :label="item.label" :key="index" :value="item.value" @change="handleCheckAllChange(item,'zjxy')"></el-checkbox>
             </el-form-item>
           </el-col>
         </el-row>
@@ -181,13 +186,13 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="是否有单位">
-              <el-radio-group v-model="form.isdw">
+              <el-radio-group v-model="isdw">
                 <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="form.isdw=='是'" class="iserea">
+          <el-col :offset="2" :span="22" v-show="isdw=='是'" class="iserea">
             <el-form-item label="单位名称" prop="dwMc">
               <el-input v-model="form.dwMc"></el-input>
             </el-form-item>
@@ -197,7 +202,7 @@
                   v-for="item in dwLb"
                   :key="item.value"
                   :label="item.label"
-                  :value="item.value">
+                  :value="item.label">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -214,15 +219,15 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="是否特殊人群">
-              <el-radio-group v-model="form.istsrq">
+              <el-radio-group v-model="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="form.istsrq=='是'" class="iserea">
+          <el-col :offset="2" :span="22" v-show="istsrq=='是'" class="iserea">
             <el-form-item label="">
-                <el-checkbox v-for="(item,index) in tsrq" :label="item.label"  :key="index" @change="handleCheckAllChange(item,'tsrq')"></el-checkbox>
+                <el-checkbox v-model="tsrqCheck" v-for="(item,index) in tsrq" :label="item.label"  :key="index" @change="handleCheckAllChange(item,'tsrq')"></el-checkbox>
             </el-form-item>
             <el-form-item label="具体情况" style="padding-left: 120px">
               <el-input placeholder="请描述具体情况,非必填,限2000字符" type="textarea" v-model="form.ryTsJtqk"></el-input>
@@ -241,7 +246,7 @@
     </el-dialog>
 
 
-    <registry_sure @closeDialog="closeDialogs('form')" :PostData="form" ref="registry_sure"/>
+    <registry_sure @closeDialog="closeDialogs('form')" :PostData="form" :upStatus="upStatus" ref="registry_sure"/>
   </div>
 </template>
 
@@ -251,14 +256,19 @@ import {baseUrl} from '@/config/env'
 import {putfile,dictionaryList,saveRy} from "../../../../api/fwbzdz/fwbzdz";
 export default {
   name: "add",
-  props:['parentData','status'],
+  props:['parentData','parentUpData','upStatus'],
   components:{registry_sure},
   data(){
     return{
+      status:'',
       isclick:null,
       photoLoading:false,
       photoLoadingText:'',
       urls:baseUrl+'/blade-resource/oss/endpoint/put-file',
+      iszjxy:'',
+      isdw:'',
+      istsrq:'',
+      isth:'否',
       typeList:[
         {name:'常住人口',value:'czrk',icon:require('../asset/icon_type_permanent.svg')},
         {name:'寄住人口',value:'jzrk',icon:require('../asset/icon_type_lodge.svg')},
@@ -267,7 +277,6 @@ export default {
         {name:'未落常人口',value:'wlrk',icon:require('../asset/icon_type_not.svg')}
       ],
       form:{
-        isth:'',
         ryType:'',
         ryZp:'',
         ryTsLb:'',
@@ -301,6 +310,8 @@ export default {
       byzk:[],
       zjxyLst:[],
       dwLb:[],
+      zjxycheck:[],
+      tsrqCheck:[],
       dialogVisible:false
     }
   },
@@ -313,14 +324,25 @@ export default {
           this.form.dzXz=val[0].dzXz
         }
        //this.form = val[0]
-      }
+      },
+      immediate:true
     },
-    status:{
+    upStatus:{
       handler(val){
-        if(status=='update'){
-          this.form = val
-        }
-      }
+        if(val) this.status = val
+      },
+      immediate:true
+    },
+    parentUpData:{
+      handler(val){
+        if(val) this.form = val
+        this.zjxycheck = JSON.parse(val.zjxy)
+        this.tsrqCheck = JSON.parse(val.ryTsLb)
+        if(this.form.dwMc!='') this.isdw = '是'
+        if(this.form.ryTsLb!='') this.istsrq = '是'
+        if(this.form.zjxy!='') this.iszjxy = '是'
+      },
+      immediate:true
     }
   },
   mounted() {
@@ -331,22 +353,23 @@ export default {
   },
   methods:{
     handleRadioChange(v){
-      if(v=='1'){
+      if(v==''){
         this.form.vx=this.form.ryDh
       }
     },
     closeDialogs(formRef){
+      this.$refs[formRef].resetFields();
       this.dialogVisible = false;
       this.isclick=null
-      this.$refs[formRef].resetFields();
       this.$emit('reload')
     },
     handleCheckAllChange(item,code){
+      //console.log(this.tsrqCheck,this.zjxycheck)
       if(code=='zjxy'){
-        this.form.zjxy = item.value
+        this.form.zjxy = JSON.stringify(this.zjxycheck)
       }
       if(code=='tsrq'){
-        this.form.tsrq = item.value
+        this.form.ryTsLb = JSON.stringify(this.tsrqCheck)
       }
     },
     inits(){
@@ -387,7 +410,9 @@ export default {
     },
     submitok(){
       this.$refs.registry_sure.dialogVisible=true
+      this.$refs.registry_sure.inits()
     },
+
     getidCard(e){
       if(this.regCard(e)){
       }else{

+ 379 - 0
src/views/ybss/syrk/components/logoff.vue

@@ -0,0 +1,379 @@
+<template>
+  <div class="add">
+    <el-dialog
+      title="常住人口注销/外出原因"
+      :visible.sync="dialogVisible"
+      width="50%"
+      @close="closeDialogs('form')"
+      :before-close="handleClose">
+      <el-form ref="form" :model="form"  :rules="rules"  label-width="120px" size="small">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="注销/外出原因">
+              <el-radio-group v-model="form.zxyy" @change="changeyy">
+                <el-radio v-for="item in czrkzxyy" :label="item.label" :value="item.value"></el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+
+          <el-col :offset="2" :span="15" v-show="yy=='死亡'" class="iserea">
+            <el-form-item label="死亡日期" prop="swrq">
+              <el-date-picker
+                v-model="form.swrq"
+                type="date"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="注销日期" prop="zxrq">
+              <el-date-picker
+                v-model="form.zxrq"
+                type="date"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+
+
+          <el-col :offset="3" :span="15" v-show="yy=='流出或出境'" class="iserea">
+            <el-form-item label="外出原因" prop="ryWhcd">
+              <el-select v-model="form.ryWhcd" placeholder="外出原因" style="width:99%">
+                <el-option
+                  v-for="item in wcyy"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.label">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="外出日期" prop="zxrq">
+              <el-date-picker
+                v-model="form.zxrq"
+                type="date"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="去往地省市县区" prop="qwdzssxq">
+              <el-select v-model="form.qwdzssxq" placeholder="请选择活动区域">
+                <el-option label="区域一" value="shanghai"></el-option>
+                <el-option label="区域二" value="beijing"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="去往地详细地址" prop="qwdzxz">
+              <el-input v-model="form.qwdzxz"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :offset="2" :span="15" v-show="yy=='户在人不在'" class="iserea">
+            <el-form-item label="入户分离原因" prop="bcyy">
+              <el-select v-model="form.bcyy" placeholder="请选择活动区域">
+                <el-option
+                  v-for="item in hzrbzyy"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.label">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="分离日期" prop="bcrq">
+              <el-date-picker
+                v-model="form.bcrq"
+                type="date"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="去往地省市县区" prop="qwdzssxq">
+              <el-select v-model="form.qwdzssxq" placeholder="请选择活动区域">
+                <el-option label="区域一" value="shanghai"></el-option>
+                <el-option label="区域二" value="beijing"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="去往地详细地址" prop="qwdzxz">
+              <el-input v-model="form.qwdzxz"></el-input>
+            </el-form-item>
+          </el-col>
+
+
+        </el-row>
+
+
+
+
+      </el-form>
+
+
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="closeDialogs('form')">取 消</el-button>
+        <el-button size="small" type="primary" @click="submitok">确 定</el-button>
+      </span>
+
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import registry_sure from "./registry_sure";
+import {baseUrl} from '@/config/env'
+import {putfile,dictionaryList,saveRy} from "../../../../api/fwbzdz/fwbzdz";
+import { syrkzx } from "../../../../api/fwbzdz/syrk";
+
+export default {
+  name: "logoff",
+  props:['parentData','parentUpData','upStatus'],
+  components:{registry_sure},
+  data(){
+    return{
+      status:'',
+      isclick:null,
+      photoLoading:false,
+      photoLoadingText:'',
+      urls:baseUrl+'/blade-resource/oss/endpoint/put-file',
+      form:{
+        zxyy:'',
+        swrq:'',
+        zxrq:'',
+        bcyy:'',
+        bcrq:'',
+        qwdzssxq:'',
+        qwdzxz:''
+      },
+      wcyy:[],
+      hzrbzyy:[],
+      zzrkzxyy:[],
+      czrkzxyy:[],
+      dialogVisible:false,
+      yy:''
+    }
+  },
+  watch:{
+    parentData:{
+      handler(val){
+        if(val&&val.length>0){
+          this.form.fwId=val[0].fwId
+          this.form.dzbm=val[0].dzbm
+          this.form.dzXz=val[0].dzXz
+        }
+        //this.form = val[0]
+      },
+      immediate:true
+    },
+
+    parentUpData:{
+      handler(val){
+        console.log(val,'val')
+        if(val){
+          this.form.id=val.id
+          this.form.dzbm=val.dzbm
+          this.form.fwId=val.fwId
+          this.form.ryXm=val.ryXm
+          this.form.ryXb=val.ryXb
+          this.form.rySfzh=val.rySfzh
+          this.form.ryLxdh=val.ryLxdh
+          this.form.ryTsLb=val.ryTsLb
+          this.form.ryType=val.ryType
+        }
+      },
+      immediate:true
+    }
+  },
+  mounted() {
+
+  },
+  computed:{
+
+  },
+  methods:{
+    changeyy(label, index){
+    this.yy = label
+    },
+    closeDialogs(formRef){
+      this.dialogVisible = false;
+      this.isclick=null
+      this.$refs[formRef].resetFields();
+      //this.$emit('reload')
+    },
+    handleCheckAllChange(item,code){
+      if(code=='zjxy'){
+        this.form.zjxy = item.value
+      }
+      if(code=='tsrq'){
+        this.form.tsrq = item.value
+      }
+    },
+    inits(){
+      var _this = this;
+      dictionaryList().then(res => {
+        const data = res.data.data
+        this.wcyy = data.wcyy
+        this.hzrbzyy = data.hzrbzyy
+        this.zzrkzxyy=data.zzrkzxyy
+        this.czrkzxyy=data.czrkzxyy
+      }).finally(() => {})
+    },
+    getfile(e){
+      var _this = this
+      _this.photoLoading=true
+      var fileList = new FormData()
+      fileList.append('file',e.target.files[0])
+      _this.photoLoadingText='正在上传'
+      putfile(fileList).then(res=>{
+        _this.$set(_this.form,'ryZp',res.data.data.link)
+        e.target.value=''
+        _this.photoLoading=false
+        _this.photoLoadingText=''
+      }).catch(err=>{
+        _this.$message.error('上传异常')
+        _this.photoLoading=false
+        _this.photoLoadingText=''
+      })
+    },
+    submitok(){
+      syrkzx(this.form).then(res=>{
+      }).finally(rs=>{
+        this.dialogVisible=false
+        this.$store.commit('CHANGE_SYRK', 'syrk')
+      })
+    },
+
+    getidCard(e){
+      if(this.regCard(e)){
+      }else{
+        this.form.rySfzh=''
+      }
+    },
+    regCard(idCard){
+      var _this = this;
+      var regIdCard =
+        /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
+      if (regIdCard.test(idCard)) {
+        if (idCard.length == 18) {
+          var idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10,
+            5, 8, 4, 2);
+          var idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2);
+          var idCardWiSum = 0;
+          for (var i = 0; i < 17; i++) {
+            idCardWiSum += idCard.substring(i, i + 1) * idCardWi[i];
+          }
+          var idCardMod = idCardWiSum % 11;
+          var idCardLast = idCard.substring(17);
+          if (idCardMod == 2) {
+            if (idCardLast == "X" || idCardLast == "x") {
+              return true;
+            } else {
+              _this.$message.error('身份证号码错误!')
+              return false;
+            }
+          } else {
+            if (idCardLast == idCardY[idCardMod]) {
+              return true;
+            } else {
+              _this.$message.error('身份证号码错误!')
+              return false;
+            }
+          }
+        } else {
+          return true;
+        }
+      } else {
+        _this.$message.error('请输入有效的身份证号码!')
+      }
+    },
+    clickType(index,value){
+      this.$set(this.form,'ryType',value)
+      this.isclick = index
+    },
+    handleAvatarSuccess(res, file) {
+      this.form.ryZp = URL.createObjectURL(file.raw);
+    },
+    beforeAvatarUpload(file) {
+      const isJPG = file.type === 'image/jpeg';
+      const isLt2M = file.size / 1024 / 1024 < 2;
+
+      if (!isLt2M) {
+        this.$message.error('上传头像图片大小不能超过 2MB!');
+      }
+      return isJPG && isLt2M;
+    },
+    handleClose(){
+      this.dialogVisible=false
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+:deep .el-item,.el-select,.el-date-editor.el-input, .el-date-editor.el-input__inner{
+  width: 100%;
+}
+.filebox{
+  opacity: 0;
+  width: 100%;
+  position: absolute;
+  width: 80px;
+  height: 80px;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+:deep  .el-input__inner{
+  background: #ECF2FE !important;
+  border: none;
+}
+:deep .el-textarea__inner{
+  background: #ECF2FE !important;
+  border: none;
+}
+.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
+}
+.container_body .el-col{
+  margin-right: 0 !important;
+}
+.iserea{
+  background: rgba(236,242,254,.3);
+  box-sizing: border-box;
+  padding-top: 18px;
+  border-radius: 8px;
+
+}
+:deep .avatar-uploader .el-upload {
+  width: 88px;
+  height: 88px;
+  line-height: 88px;
+  background: #ECF2FE;
+  border-radius: 8px;
+  border: 1px dashed #6F7CA3;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+:deep .avatar-uploader .el-upload:hover {
+  border-color: #409EFF;
+}
+:deep .avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 88px;
+  height: 88px;
+  text-align: center;
+}
+:deep .avatar {
+  width: 88px;
+  height: 88px;
+  display: block;
+}
+</style>

+ 40 - 6
src/views/ybss/syrk/components/registry_sure.vue

@@ -78,7 +78,8 @@
 
       <span slot="footer" class="dialog-footer">
         <el-button  class="row_btn" size="small" @click="dialogVisible = false">取 消</el-button>
-        <el-button  class="row_btn" size="small" type="primary" @click="postdata">确 定</el-button>
+        <el-button  class="row_btn" size="small" type="primary" @click="postdata" v-if="upStatus!='update'">确 定</el-button>
+        <el-button  class="row_btn" size="small" type="primary" @click="updatedata" v-else>修改</el-button>
       </span>
 
       <div style="color: #E65E69;padding: 20px 0"><i class="el-icon-warning-outline"></i> 人员已被登记,如需登记需原住地派出所核查后才可</div>
@@ -90,12 +91,13 @@
 
 <script>
 import {saveRy} from "../../../../api/fwbzdz/fwbzdz";
-import {getdjxx} from "../../../../api/fwbzdz/syrk";
+import {getdjxx,updateRy} from "../../../../api/fwbzdz/syrk";
 export default {
   name: "registry_sure",
-  props:['PostData'],
+  props:['PostData','upStatus'],
   data(){
     return{
+      upStatus:'',
       loading:false,
       dialogVisible:false,
       formData:[],
@@ -109,12 +111,23 @@ export default {
       ]
     }
   },
+  watch:{
+    upStatus:{
+      handler(val){
+        this.upStatus=val
+      },
+      immediate:true
+    }
+  },
   mounted() {
-    getdjxx().then(res=>{
-      this.djInfo = res.data
-    })
+
   },
   methods:{
+    inits(){
+      getdjxx().then(res=>{
+        this.djInfo = res.data.data
+      })
+    },
     handleClose(){
         this.dialogVisible = false
     },
@@ -139,6 +152,27 @@ export default {
         this.$emit('closeDialog')
       })
     },
+    updatedata(){
+      var _this = this;
+      this.loading=true
+      updateRy(this.PostData).then(res => {
+        if(res.data.code=='200'){
+          this.$message.success('成功')
+        }
+        _this.$confirm('暂寄人口登记核查申请保存成功,请等待原居!', '系统提示', {
+          confirmButtonText: '确定',
+          type: 'warning'
+        }).then(() => {
+
+        }).catch(() => {
+
+        });
+      }).finally(() => {
+        this.loading=false
+        this.dialogVisible = false
+        this.$emit('closeDialog')
+      })
+    }
   }
 }
 </script>

+ 93 - 58
src/views/ybss/syrk/syrk.vue

@@ -1,79 +1,114 @@
 <template>
-    <basic-container class="container_body">
-        <avue-crud :option="option" :search.sync="search" :table-loading="loading" :data="tableData" :page.sync="page"
-            v-model="form" ref="crud" @search-change="searchChange" @search-reset="searchReset"
-            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
-            @refresh-change="refreshChange" @on-load="onLoad">
-            <template slot="menuLeft">
-                <div class="search_btn_group">
-                    <button @click="addData" :parentData="selectionList[0]" :disabled="selectionList.length==0">新增</button>
-                    <button>导出</button>
-                </div>
-            </template>
-            <template slot-scope="scope" slot="menu">
-                <div style="display: flex;justify-content: space-around;">
-                    <div @click.stop="rowView(scope.row)" class="row_btn">查看</div>
-                    <div @click.stop="rowEdit(scope.row)" class="row_btn">修改</div>
-                </div>
-            </template>
-        </avue-crud>
-      <add ref="add"  :parentData="selectionList" @reload="reload"/>
-    </basic-container>
+  <basic-container class="container_body">
+    <avue-crud :option="option" :search.sync="search" :table-loading="loading" :data="tableData" :page.sync="page"
+               v-model="form" ref="crud" @search-change="searchChange" @search-reset="searchReset"
+               @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+               @refresh-change="refreshChange" @on-load="onLoad">
+      <template slot="menuLeft">
+        <div class="search_btn_group">
+          <button @click="addData" :parentData="selectionList[0]" :disabled="selectionList.length==0">新增</button>
+          <button>导出</button>
+        </div>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <div style="display: flex;justify-content: space-around;">
+          <div @click.stop="rowView(scope.row)" class="row_btn">查看</div>
+          <div @click.stop="rowEdit(scope.row)" class="row_btn">修改</div>
+        </div>
+      </template>
+    </avue-crud>
+
+
+    <add ref="add"  :parentData="selectionList"  :parentUpData="upData" :upStatus="status" @reload="reload"/>
+
+  </basic-container>
 </template>
 
 <script>
 import add from "./components/add";
 
 export default window.$crudCommon({
-    components:{add},
-    data() {
-        return {
-
-            mode: '1',
-        };
+  components:{add},
+  data() {
+    return {
+      upData:{},
+      status:'',
+      mode: '1',
+    };
+  },
+  watch: {
+    'mode'() {
+      this.onLoad(this.page);
+    }
+  },
+  methods: {
+    reload(){
+      this.onLoad(this.page);
     },
-    watch: {
-        'mode'() {
-            this.onLoad(this.page);
-        }
+    selectionChange(list) {
+      this.selectionList = list;
+      console.log(this.selectionList)
     },
-    methods: {
-      addData(){
-        this.$refs.add.inits()
+    addData(){
+      this.status = 'add'
+      this.upData =null
+      if(this.selectionList.length==1){
         this.$refs.add.dialogVisible = true
-        this.$refs.add.$refs['form'].resetFields();
-      },
-        addsyrk() {
-            this.$store.commit('CHANGE_SYRK', 'syrkxq')
-        },
-        rowView(row) {
-            this.$store.commit('POST_SYRKXQ', row)
-            this.$store.commit('CHANGE_SYRK', 'syrkxq')
-        },
-        rowEdit(row) { },
-        onLoad(page = this.page, params = {}) {
+        this.$refs.add.inits()
+      }else{
+        this.$message.warning('只能选择一条数据')
+      }
 
-            this.loading = true;
-            this.api.getFwry(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-                const data = res.data.data;
-                this.page.total = data.total;
-                this.tableData = data.records;
-                this.loading = false;
-                this.selectionClear();
-            });
-        }
+    },
+    addsyrk() {
+      this.$store.commit('CHANGE_SYRK', 'syrkxq')
+    },
+    rowView(row) {
+      this.$store.commit('POST_SYRKXQ', row)
+      this.$store.commit('CHANGE_SYRK', 'syrkxq')
+    },
+    rowEdit(row) {
+      this.status = 'update'
+      this.upData = row
+      this.$refs.add.dialogVisible = true
+      this.$refs.add.inits()
+    },
+    onLoad(page = this.page, params = {}) {
+
+      this.loading = true;
+      this.api.getFwry(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.tableData = data.records;
+        this.loading = false;
+        this.selectionClear();
+      });
     }
+  }
 }, {
-    api: 'fwbzdz/fwbzdz',
-    option: 'ybss/syrk'
+  api: 'fwbzdz/fwbzdz',
+  option: 'ybss/syrk'
 });
 </script>
 <style lang="scss" scoped>
 @import '@/styles/newcrue.scss';
 
 .row_btn {
-    color: rgba(16, 109, 255, 1) !important;
-    font-size: 14px !important;
-    cursor: pointer;
+  color: rgba(16, 109, 255, 1) !important;
+  font-size: 14px !important;
+  cursor: pointer;
+}
+::v-deep{
+  .el-dialog{
+    border-radius: 15px;
+  }
+  .dialog-footer{
+    button{
+      border-radius: 16px;
+      &:nth-child(2){
+        background: rgb(16, 109, 255);
+      }
+    }
+  }
 }
 </style>

+ 101 - 10
src/views/ybss/syrk/syrkxq.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="bzdzxq">
+    <div class="bzdzxq" v-loading="loading">
         <div class="bzdzxq_left">
             <div class="logo">
                 <img :src="icon_people_color_88" alt="">
@@ -8,12 +8,18 @@
               <p>{{dataInfo.ryXm}} <img :src="icon_boy_16" alt=""> </p>
               <p>{{dataInfo.rySfzh}}</p>
             </div>
+
+            <div class="important">
+              <span>{{dataInfo.ryType}}</span>
+              <span v-for="item in JSON.parse(dataInfo.ryTsLb)">{{item}}</span>
+            </div>
+
             <div class="btns">
-                <button class="btn_primary">
+                <button class="btn_primary" @click="openDialog">
                     <img :src="icon_write_white_16" alt="">
-                    <div @click="openDialog">修改</div>
+                    <div>修改</div>
                 </button>
-                <button class="btn_nomal">
+                <button class="btn_nomal" @click="showLogOff">
                     <img :src="icon_off_gray_16" alt="">
                     <div>注销</div>
                 </button>
@@ -32,7 +38,8 @@
             </el-tabs>
         </div>
 
-      <add ref="add"  :parentData="dataInfo" :status="status" @reload="reload"/>
+      <add ref="update"   :parentUpData="dataInfo" :upStatus="status" @reload="reload"/>
+      <logoff ref="logoffDialog" :parentUpData="dataInfo" @reload="reload"/>
     </div>
 </template>
 <script>
@@ -40,11 +47,13 @@ import Jbxx from './components/Jbxx.vue';
 import { syrkDetail } from "@/api/fwbzdz/fwbzdz";
 import gzdw from "./components/gzdw.vue";
 import add from "./components/add";
+import logoff from "./components/logoff";
 export default {
-    components: { Jbxx,gzdw,add},
+    components: { Jbxx,gzdw,add,logoff},
     data() {
         return {
-          status:'update',
+            loading:false,
+            status:'update',
             icon_people_color_88: require('@/img/fwbzdz/icon_people_color_88.svg'),
             icon_write_white_16: require('@/img/fwbzdz/icon_write_white_16.svg'),
             icon_off_gray_16: require('@/img/fwbzdz/icon_off_gray_16.svg'),
@@ -53,7 +62,14 @@ export default {
             tabLoading: false,
             sydwNum: 0,
             syrkNum: 0,
-          dataInfo:{}
+          dataInfo:{},
+          typeList:[
+            {name:'常住人口',value:'czrk'},
+            {name:'寄住人口',value:'jzrk'},
+            {name:'暂住人口',value:'zzrk'},
+            {name:'境外人口',value:'jwrk'},
+            {name:'未落常人口',value:'wlrk'}
+          ],
         }
     },
     computed: {
@@ -62,12 +78,15 @@ export default {
         },
     },
     mounted(){
+      this.loading=true
       syrkDetail({
         id: this.query.id,
         ryType: this.query.ryType
       }).then(res=>{
         const data = res.data.data
         this.dataInfo = data
+      }).finally(()=>{
+        this.loading=false
       })
         // syrkDetail({
         //     id: this.query.id,
@@ -75,9 +94,14 @@ export default {
         // }).then(res=>{})
     },
     methods: {
+      showLogOff(){
+        this.$refs.logoffDialog.dialogVisible = true
+        this.$refs.logoffDialog.inits()
+        this.$refs.update.inits()
+      },
       openDialog(){
-        this.$refs.add.dialogVisible = true
-        this.$refs.add.inits()
+        this.$refs.update.dialogVisible = true
+        this.$refs.update.inits()
       },
         reload(){
           syrkDetail({
@@ -86,6 +110,8 @@ export default {
           }).then(res=>{
             const data = res.data.data
             this.dataInfo = data
+          }).finally(()=>{
+            this.loading=false
           })
         },
         handleClick(val) {
@@ -97,6 +123,71 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
+::v-deep{
+  .el-dialog{
+    border-radius: 15px;
+  }
+  .dialog-footer{
+    button{
+      border-radius: 16px;
+      &:nth-child(2){
+        background: rgb(16, 109, 255);
+      }
+    }
+  }
+
+}
+.important{
+  display: inline-block;
+  width: 80%;
+  box-shadow: black;
+  margin:5px auto;
+  text-align: center;
+  span{
+    display: inline-block;
+    padding: 2px 12px;
+    border-radius: 5px;
+    margin-right: 5px;
+    font-size: 12px;
+    margin-bottom: 8px;
+    &:first-child{
+      color: #ED7B2F;
+      background: #FEECDF;
+    }
+    &:nth-child(2){
+      color: #8860CC;
+      background: rgba(136,96,204,0.14);
+    }
+    &:nth-child(3){
+      color: #E34D59;
+      background: #FEE4E7;
+    }
+    &:nth-child(4){
+      color: #8860CC;
+      background: rgba(136,96,204,0.14);
+    }
+    &:nth-child(5){
+      color: #E34D59;
+      background: #FEE4E7;
+    }
+    &:nth-child(6){
+      color: #E34D59;
+      background: #FEE4E7;
+    }
+    &:nth-child(7){
+      color: #8860CC;
+      background: rgba(136,96,204,0.14);
+    }
+    &:nth-child(8){
+      color: #E34D59;
+      background: #FEE4E7;
+    }
+    &:nth-child(9){
+      color: #E34D59;
+      background: #FEE4E7;
+    }
+  }
+}
 .left_info{
   width: 100%;
   text-align: center;