<template>
	<div class="app-container">
		<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="70px">
			<el-row>
				<el-col :span="24">
					<el-row>
						<el-col :span="6">
							<el-form-item label="身份证号" prop="idCard">
								<el-input v-model="queryParams.idCard" placeholder="请输入身份证号码" style="width:185px;" clearable @keyup.enter.native="handleQuery" />
							</el-form-item>
						</el-col>
            <el-col :span="6">
            	<el-form-item label="姓名" prop="userName">
            		<el-input v-model="queryParams.userName" placeholder="请输入姓名" style="width:185px;" clearable @keyup.enter.native="handleQuery" />
            	</el-form-item>
            </el-col>
						<el-col :span="6">
							<el-form-item label="联系号码" prop="phoneNum">
								<el-input v-model="queryParams.phoneNum" placeholder="请输入联系号码" style="width:185px;"clearable @keyup.enter.native="handleQuery" />
							</el-form-item>
						</el-col>
            <el-col :span="6">
            	<el-form-item label="年龄阶段" >
            		<el-select v-model="queryParams.params.age" placeholder="年龄阶段" style="width:178px;" clearable>
            			<el-option v-for="dict in angesList" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
            		</el-select>
            	</el-form-item>
            </el-col>
					</el-row>
				</el-col>
				<el-col :span="24">
					<el-row>
						<el-col :span="12" class="jehak">
							<el-form-item label="居住地址" prop="villagerGroup">
                <el-cascader
                	placeholder="点击选择居住地址"
                	:options="optionsList"
                	filterable
                	@change="chahetwo"
                	:props="optionPropsss"
                	style="width: 140%;"
                	@keyup.enter.native="handleQuery"
                	clearable
                  ref = "cdd"
                  v-model="listd"
                  @active-item-change="handleItemChange"
                ></el-cascader>
							</el-form-item>
						</el-col>
            <el-col :span="8" class="jehak">
            	<el-form-item label="户籍地址" prop="villagerGroup">
            		<el-cascader
            			placeholder="点击选择户籍地址"
            			:options="options"
            			filterable
            			@change="chahetwo"
            			:props="optionPropstwo"
            			style="width: 125%;"
            			@keyup.enter.native="handleQuery"
            			clearable
            		></el-cascader>
            	</el-form-item>
            </el-col>
            <el-col :span="4" >
            	<el-form-item>
            		<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            		<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            	</el-form-item>
            </el-col>
					</el-row>
				</el-col>
				<el-col :span="24">
					<el-row>
					</el-row>
				</el-col>
			</el-row>
		</el-form>

		<!-- <el-row :gutter="10" class="mb8">
			<el-col :span="1.5">
				<el-button type="warning" plain icon="el-icon-edit" size="mini" :disabled="multiple" @click="handleDeletehy" >还原</el-button>
			</el-col>

			<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
		</el-row> -->

		<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange" stripe style="width: 100%" :height="tableMaxHeight">
			<el-table-column type="selection" width="55" align="center" />
			<el-table-column label="姓名" align="center" prop="userName" fixed width="100px"/>
			<el-table-column label="联系方式" align="center" prop="phoneNum" width="110" />
			<el-table-column label="身份证号码" align="center" prop="idCard" width="180" />
			<el-table-column label="户籍地址" align="center" prop="domicileSelect"  width="280" />
      <!-- nowInSelect -->
			<el-table-column label="居住地址" align="center" prop="nowInSelect"  />
      <el-table-column label="是否户主" align="center" prop="houseType" width="90" />
      <el-table-column label="删除人" align="center" prop="updateBy" width="90" />
      <el-table-column label="删除时间" align="center" prop="updateTime" width="160" />
			<el-table-column label="操作" align="left" class-name="small-padding fixed-width" fixed="right" width="80" >
				<template slot-scope="scope">
					<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDeletehy(scope.row)" class="hueya" >
					  还原
					</el-button>
				</template>
			</el-table-column>
		</el-table>

		<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />

		<!-- 添加或修改疫苗信息对话框 -->
		<el-dialog :title="title" :visible.sync="opens" width="1240px" append-to-body>
			<el-form ref="form" :model="form" :rules="rules" label-width="100px">
				<el-row>
					<el-col :span="8">
						<el-form-item label="身份证号" prop="idCard"><el-input v-model="form.idCard" placeholder="请输入身份证号码" @blur="idcde" /></el-form-item>
					</el-col>
					<el-col :span="8">
						<el-form-item label="姓名" prop="userName"><el-input v-model="form.userName" placeholder="请输入姓名" /></el-form-item>
					</el-col>
					<el-col :span="8">
						<el-form-item label="性别" prop="gender">
							<!-- <el-input v-model="form.gender" placeholder="请输入性别" /> -->
							<el-select v-model="form.gender" placeholder="性别" clearable style="width: 100%;">
								<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
							</el-select>
						</el-form-item>
					</el-col>
					<el-col :span="24">
						<el-row>
							<el-col :span="8">
								<el-form-item label="联系号码" prop="phoneNum"><el-input v-model="form.phoneNum" placeholder="请输入联系号码" /></el-form-item>
							</el-col>
							<el-col :span="8">
								<el-form-item label="人员分类" prop="keyIndustries">
									<el-select v-model="form.keyIndustries" placeholder="人员分类" clearable style="width: 100%;">
										<el-option v-for="dict in typeOptionsname" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
									</el-select>
								</el-form-item>
							</el-col>
							<el-col :span="8">
								<el-form-item label="年龄" prop="age"><el-input v-model="form.age" placeholder="请输入年龄" /></el-form-item>
							</el-col>
						</el-row>
					</el-col>

          <el-col :span="24">
          	<el-row>
          		<el-col :span="12">
          			<el-form-item label="户籍地址" prop="villageTowns">
          				<!-- <el-input v-model="form.villageTowns" type="textarea" placeholder="请输入内容" /> -->
          				<!-- <treeselect v-model="form.parentId" :options="deptOptionstwo" :normalizer="normalizer" :flat="true" :maxHeight="150" @select="djieskle" :multiple=true placeholder="点击选择户籍地" /> -->
          				<el-cascader
          					placeholder="点击选择户籍地址"
          					:options="options"
          					:filterable="true"
          					separator="/"
          					@change="chahe"
          					v-model="villageTownshy"
          					:props="optionProps"
          					style="width: 100%;"
          					ref="myCascader"
          				></el-cascader>
          			</el-form-item>
          		</el-col>

          		<el-col :span="12">
          			<el-form-item label="详细地址" prop="domicile"><el-input v-model="form.domicile" type="input" placeholder="请输入户籍详细地址" /></el-form-item>
          		</el-col>
          	</el-row>
          </el-col>

					<el-col :span="12">
						<el-form-item label="居住地址" prop="province">
							<!-- <area-select
								type="text"
								v-model="selected"
								v-if="jue"
								:data="$pcaa"
								:level="2"
								style="display: flex;line-height: 18px;"
								@change="onSelected"
								class="hues"
							></area-select> -->
             <!-- <el-cascader
              	placeholder="点击选择居住地址"
              	:options="optionsList"
              	filterable
              	@change="chahetwo"
              	:props="optionPropsss"
              	style="width: 130%;"
              	@keyup.enter.native="handleQuery"
              	clearable
                ref = "cdd"
                v-model="list"
              ></el-cascader> -->
              <el-cascader
              	:placeholder="nhdyesfgh"
              	:options="optionsList"
              	:filterable="true"
              	separator="/"
              	@change="onSelected"
              	v-model="selected"
              	:props="optionPropsss"
              	style="width: 100%;"
              	ref="myCascaderf"
                @active-item-change="handleItemChange"
                :class="[nhdyesfgh == '点击选择居住地址' ? '' : 'placf']"
              ></el-cascader>
						</el-form-item>
					</el-col>

					<el-col :span="12">
						<el-form-item label="详细地址" prop="nowIn"><el-input v-model="form.nowIn" type="input" placeholder="请输入内容" /></el-form-item>
					</el-col>

					<el-col :span="24">
						<el-col :span="12">
							<el-form-item label="户主" prop="houseType">
								<el-select v-model="form.houseType" placeholder="户主" clearable style="width: 100%;"  @change="changese">
									<el-option v-for="dict in typeOptionshuuj" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
								</el-select>
							</el-form-item>
						</el-col>
						<el-col :span="12">
							<el-form-item label="户编号" prop="code">
							<el-input  v-model="form.code" placeholder="请输入户主编号"/>
              <!-- :disabled="nhe" -->
							</el-form-item>
						</el-col>
					</el-col>
				</el-row>
			</el-form>
			<div slot="footer" class="dialog-footer">
				<el-button type="primary" @click="submitForm">确 定</el-button>
				<el-button @click="cancel">取 消</el-button>
			</div>
		</el-dialog>
		<!-- 图片预览 -->
		<el-dialog :close-on-click-modal="false" title="删除原因" :visible.sync="imashow" width="800px" append-to-body >
      <el-form ref="formgt" :model="formgt" :rules="ruleshy" label-width="100px" style="padding-bottom: 30px;">
      <el-form-item label="删除原因:" prop="houseType">
      	<el-select v-model="formgt.houseType" placeholder="请选择删除原因" clearable style="width: 100%;">
      		<el-option v-for="dict in typeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
      	</el-select>
      </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
      	<el-button type="primary" @click="submitFormfr">确 定</el-button>
      	<el-button @click="cancel">取 消</el-button>
      </div>
		</el-dialog>
    <el-dialog :close-on-click-modal="false" title="查看信息" :visible.sync="jiezhong" width="1200px" append-to-body class="ojhgy">
    	<el-table :data="jiezheList" stripe style="width: 100%">
    		<el-table-column label="疫苗名称" align="center" prop="vaccineName" />
    		<el-table-column label="剂次" align="center" prop="jici" />
    		<el-table-column label="接种时间" align="center" prop="vaccinationTime" width="180">
    			<template slot-scope="scope">
    				<span>{{ scope.row.vaccinationTime }}</span>
    			</template>
    		</el-table-column>
    		<el-table-column label="接种地点" align="center" prop=".vaccinationPlace" />
    	</el-table>
    </el-dialog>

	</div>
</template>

<script>
import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo, listRoleer, idces, delInfort,yiaoe,exportConfig,exportConfigtyr,importLog,listInfotj,listRoleergth,delInfohy } from '@/api/system/bin';
import { treeselect } from '@/api/system/dept';
import Treeselect from '@riophae/vue-treeselect';
import { getToken } from '@/utils/auth';
import '@riophae/vue-treeselect/dist/vue-treeselect.css';
export default {
	name: 'Info',
	components: { Treeselect },
	data() {
		return {
			// 遮罩层
			loading: true,
			// 选中数组
			ids: [],
			// 非单个禁用
			single: true,
			// 非多个禁用
			multiple: true,
			// 显示搜索条件
			showSearch: true,
			// 总条数
			total: 0,
      ruleshy:{},
			// 疫苗信息表格数据
			infoList: [],
			dialogImageUrl: '',
			// 弹出层标题
			title: '',
			// 是否显示弹出层
			opens: false,
      tableMaxHeight:300,
			process: process.env.VUE_APP_BASE_API,
			// 查询参数
			queryParams: {
				pageNum: 1,
				pageSize: 10,
				villageTowns: null,
				village: null,
				villagerGroup: null,
				houseType: null,
				province: null,
				city: null,
				userName: null,
        isDel:"Y",
				gender: null,
				idCard: null,
				phoneNum: null,
				keyIndustries: null,
				isVaccination: null,
				vaccineName: null,
				vaccinationTime: null,
				vaccinationPlace: null,
				contraindication: null,
				params:{
					age:''
				}
			},
			config: [],
			comfietg:[],
			configther:[],
			configfor:[],
			// 表单参数
			form: {
				nowIn: '',
				age:'',
				code:'',
				vaccineInfoUserList: [
					{
						vaccineName: '',
						vaccinationTime: '',
						vaccinationPlace: '',
						jici: '',
						progress: '',
						url:null,
						disableg:false
					}
				]
			},
      // 用户导入参数
      upload: {
        // 是否显示弹出层（用户导入）
        opens: false,
        // 弹出层标题（用户导入）
        title: "",
        // 是否禁用上传
        isUploading: false,
        // 是否更新已经存在的用户数据
        updateSupport: 0,
        // 设置上传的请求头部
        headers: { Authorization: "Bearer " + getToken() },
        // 上传的地址
        url: process.env.VUE_APP_BASE_API + "/boman-web-core//file/common/importYmjz"
      },
			// 表单校验
			rules: {
				province: [{ required: true, message: '居住地址不能为空', trigger: 'blur' }],
				idCard: [{ required: true, message: '身份证号码不能为空', trigger: 'blur' }],
				userName: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
				villageTowns:[{ required: true, message: '户籍地址不能为空或不能只选潜山市', trigger: 'blur' }],
			},
			selected: [12, 340800000000, 340882000000, 340882100000, 340882100002],
			selectedtwo: [],
			statusOptions: [
				{
					dictValue: '女',
					dictLabel: '女'
				},
				{
					dictValue: '男',
					dictLabel: '男'
				}
			],
			statusOptionstue: [
				{
					dictValue: '已完成',
					dictLabel: '已完成'
				},
				{
					dictValue: '未完成',
					dictLabel: '未完成'
				}
			],
			typeOptionshuuj: [
				{
					dictValue: '是',
					dictLabel: '是'
				},
				{
					dictValue: '否',
					dictLabel: '否'
				}
			],
			deptOptionstwo: [],
			options: [],
      optionss:[],
      optionsList: [],
			optionProps: {
				value: 'label',
				label: 'label',
				children: 'children',
				checkStrictly: true
			},
      optionPropsss: {
      	value: 'areaId',
      	label: 'name',
      	checkStrictly: true,
        lazy: true,
        lazyLoad: this.lazyLoads,
        leaf: "leaf"
      },
			optionPropstwo: {
				value: 'id',
				label: 'label',
				children: 'children',
				checkStrictly: true
			},
			heuiq: [],
			typeOptions: [],
			typeOptionsty: [
				{
					dictValue: '是',
					dictLabel: '是'
				},
				{
					dictValue: '否',
					dictLabel: '否'
				}
			],
			typeOptionstyzandeh:[],
			angesList: [

			],
			typeOptionsname: [],
			typeOptionstimes: [],
			typeOptionsvaccinatio: [],
			typeOptionscont: [],
			typeOptionscontty: [],
			typeOptionscontqit:[],
			// 剂次
			typeOptionstimesgt: [
				{
					dictValue: '1',
					dictLabel: '1'
				},
				{
					dictValue: '2',
					dictLabel: '2'
				},
				{
					dictValue: '3',
					dictLabel: '3'
				},
				{
					dictValue: '加强针',
					dictLabel: '加强针'
				}
			],
			imashow: false,
			naneme: false,
			shouwes: false,
			shouwestwo:false,
			villageTownshy: undefined,
			naiseurya: '',
			hsuej: '',
			jdourdjoaj: false,
			jiezhong: false,
			jiezheList: [],
			fireLise:{config:[]},
			nameutaiL:0,
			jue:false,
			nhue:true,
      exportflag:true,
      errorlog:false,
      errorList:[],
      idfer:0,
      formgt:{},
      list: [],
      listd:[],
      dneyhsd:{},
      nhdyesfgh:'点击选择居住地址',
      nhe:false
		};
	},
	created() {
		this.getList();
		this.getTreeselectjue();
    this.mnyesfjer(0)
    this.getTreeselectjuetj()
		// 重点行业
		this.getDicts('person_type').then(response => {
			this.typeOptions = response.data;
		});
		// 疫苗名称
		this.getDicts('renyuanfenlei').then(response => {
			this.typeOptionsname = response.data;
		});

		// 年龄阶段
		this.getDicts('age_interval').then(response => {
			this.angesList = response.data;
		});
    window.onresize = () => {
                    this.changeTableMaxHeight()
                  }
                  this.changeTableMaxHeight()

		// this.form.province = this.selected[0];
		// this.form.city = this.selected[1];
		// this.form.region = this.selected[2];
		console.log(this.selected,456)
		// this.queryParams.province = this.selectedtwo[0];
		// this.queryParams.city = this.selectedtwo[1];
		// this.queryParams.region = this.selectedtwo[2];
		// this.naiseurya = this.form.province + this.form.city + this.form.region;
	},
	mounted() {
		console.log(136)
    window.onresize = () => {
                    this.changeTableMaxHeight()
                  }
                  this.changeTableMaxHeight()
	},
	methods: {
		onSelected(data) {
			console.log(data, 125);
      console.log(this.$refs['myCascaderf'].getCheckedNodes()[0].pathLabels)
			// province
      let nhdye = []
      nhdye = this.$refs['myCascaderf'].getCheckedNodes()[0].pathLabels
      // id
			// this.form.province = data[0];
			// this.form.city = data[1];
			// this.form.region = data[2];
      // 名称
      this.form.province = nhdye[0];
      this.form.city = nhdye[1];
      this.form.region = nhdye[2];
      this.form.residenceTown = nhdye[3];
      this.form.residenceVillage = nhdye[4];


			this.naiseurya = this.form.province + this.form.city + this.form.region;
			if (this.jdourdjoaj == false) {
				// 修改
				this.form.nowIn = '';
			}
			// this.form.nowIn = undefined
			// this.form.villageTowns = data[3]
		},
		dakousr() {
			console.log(2345);
		},
    mnyesfjer(index){
      this.loading = true;
      let pids = {}
      pids.pid = index
      listRoleergth(pids).then(response => {
      	this.optionsList = this.handleData(response.data);
      	this.loading = false;
      });
    },




    // // 模拟请求一级节点
    //      getfristChild() {
    //       return [
    //         {
    //           label: "第一个",
    //           hasChdild: true,
    //           leaf: false,
    //           pid: null,
    //           value: "1",
    //         },
    //         {
    //           label: "第2个",
    //           hasChdild: true,
    //           leaf: false,

    //           pid: null,
    //           value: "2",
    //         },
    //         {
    //           label: "第3个",
    //           hasChdild: true,
    //           leaf: true,

    //           pid: null,
    //           value: "3",
    //         },
    //       ];
    //     },
    //     // 模拟请求子级节点
    //      getOther(value) {
    //       let res = [];
    //       if (value == 1) {
    //         res = [
    //           {
    //             label: "第一个1",
    //             hasChdild: false,
    //             pid: 1,
    //             value: "11",
    //             leaf: false, // 差别： 这里加了是否叶子节点属性，后面都加了
    //           },
    //           {
    //             label: "第一个2",
    //             hasChdild: false,
    //             pid: 1,
    //             value: "12",
    //             leaf: false,
    //           },
    //         ];
    //       }
    //       if (value == 2) {
    //         res = [
    //           {
    //             label: "第2个1",
    //             hasChdild: false,
    //             pid: 2,
    //             leaf: true,
    //             value: "5",
    //           },
    //           {
    //             label: "第2个2",
    //             hasChdild: false,
    //             leaf: true,

    //             pid: 2,
    //             value: "6",
    //           },
    //         ];
    //       }
    //       if (value == 11) {
    //         res = [
    //           {
    //             label: "第3个1",
    //             hasChdild: false,
    //             pid: 2,
    //             leaf: true,

    //             value: "111",
    //           },
    //           {
    //             label: "第3个2",
    //             hasChdild: false,
    //             leaf: true,

    //             pid: 2,
    //             value: "112",
    //           },
    //         ];
    //       }
    //       return res;
    //     },






        // // 模拟请求一级节点
        //      getfristChild() {
        //       return [
        //         {
        //           label: "第一个",
        //           hasChdild: true,
        //           pid: null,
        //           value: "1",
        //         },
        //         {
        //           label: "第2个",
        //           hasChdild: true,
        //           pid: null,
        //           value: "2",
        //         },
        //         {
        //           label: "第3个",
        //           hasChdild: true,
        //           pid: null,
        //           value: "3",
        //         },
        //       ];
        //     },
        //     // 模拟请求子级节点
        //      getOther(value) {
        //       let res = [];
        //       if (value == 1) {
        //         res = [
        //           {
        //             label: "第一个1",
        //             hasChdild: false,
        //             pid: 1,
        //             value: "3",
        //           },
        //           {
        //             label: "第一个2",
        //             hasChdild: false,
        //             pid: 1,
        //             value: "4",
        //           },
        //         ];
        //       }
        //       if (value == 2) {
        //         res = [
        //           {
        //             label: "第2个1",
        //             hasChdild: false,
        //             pid: 2,
        //             value: "5",
        //           },
        //           {
        //             label: "第2个2",
        //             hasChdild: false,
        //             pid: 2,
        //             value: "6",
        //           },
        //         ];
        //       }
        //       return res;
        //     },
    // lazyLoads(node, resolve){
    //   if (node.level == 0) {
    //     console.log(node,2547);
    //           if (this.list.length > 0) {
    //             // 存在回显的id我们才去设置回显
    //             let res =  this.format(); // 这里就是获取第一次要回显的内容了
    //             console.log("00000", res);
    //             this.optionsList = res; // 有回显第一次就直接给绑定的对象，不要resolve
    //           } else {

    //             let res =  this.getfristChild(); // 不存在就默认加载第一集节点
    //             console.log(res,67)
    //             resolve(res);
    //           }
    //         } else {
    //           // 记录选择的，不然会点击字节点加载时丢失数据
    //           let list = this.list;
    //           // 有children属性了就不要再请求了,不然字节点会重复
    //           if (!node.data.children) {
    //             // 获取子节点数据
    //             let res =  this.getOther(node.data.value);
    //             setTimeout(() => {
    //               // 模拟延时，实际不需要
    //               resolve(res);
    //             }, 100);
    //           } else {
    //             resolve([]);
    //           }
    //           // 重新把选择的id放回来-
    //           // this.$nextTick(() => {
    //           //   this.list = [...new Set([...this.list, ...list])]; //差别： 合并并且去重
    //           // });
    //           setTimeout(() => {
    //             this.list = [...new Set([...this.list, ...list])]; //差别： 合并并且去重
    //           }, 250);
    //         }
    // },

    // lazyLoads(node, resolve) {
    //   console.log(node)
    //       if (node.level == 0) {
    //         let res =  this.mnyesfjer(0); // 不存在就默认加载第一集节点
    //         resolve(res);
    //       } else {
    //         // 有children属性了就不要再请求了,不然字节点会重复
    //         // if (!node.data.children) {
    //           // 获取子节点数据
    //           let res =  this.mnyesfjer(node.data.areaId);
    //           console.log(node.children)
    //           let nfhh = node.children.push(res)
    //           setTimeout(() => {
    //             resolve(nfhh);
    //           }, 200);
    //         // } else {
    //         //   resolve([]);
    //         // }
    //       }
    //     },
     format() {
          let res =  this.getfristChild(); // 拿一级数据
          this.list.forEach((item) => {
            // 遍历回显的id 二维数组
            if (item.length > 1) {
              item.forEach(async (sitem, index) => {
                if (index == item.length - 1) {
                  return; // 如果是一级节点就不用查找了
                }
                let arr =  this.getOther(sitem); // 不是一级，获取子级
                this.findItem(res, arr, sitem); //  判断当前拿到的子级数据属于哪个一级数据下的子级，并且加到当前一级的children属性下
              });
            }
          });
           },
     // 递归判断
           findItem(res, arr, id) {
            for (let i = 0; i < res.length; i++) {
              if (res[i].value === id) {
                res[i].children = arr; // 有chidlren 也要判断是不是这个children下的子级
                return res;
              }
              if (res[i].children) {
                this.findItem(res[i].children, arr, id);
              }
            }
             return res;
          },


   // getAddress() {
   // 	        this.mnyesfjer(0).then(res => {
   // 	          this.optionsList =  this.handleData(res.data);
   // 	        }).catch(err => {
   // 	        })
   // 	    },
   	     handleItemChange(val) {
           console.log(val,235)
   	        let code = val ? val[val.length - 1] : '';  //需请求数据的上级地址的code值
   	        let level = val.length + 1;  //需请求第几级地址
   	        this.optionsList = this.handleData(this.optionsList, code, level);
         	},

         	handleData(data, val, level) {
            console.log(data,val,level)
   	        for (let i = 0; i < data.length; i++) {
   	          if(!data[i].children) {
   	            this.$set(data[i], 'children', []);
   	          }
   	          if(data[i].areaId === val){
                let vfer = {}
                vfer.pid = val
   	            listRoleergth(vfer).then(res => {
   	              if(res.data.length) {
   	                data[i].children = res.data;
   	                data[i].children.forEach(ele => {
   	                  this.$set(ele, 'children', [])
   	                });
   	              }else {
   	                data[i].children = undefined;
   	              }
   	            }).catch(err => {
   	            });
   	          }else {
   	            if(data[i].children.length){
   	              this.handleData(data[i].children,val,level)
   	            }
   	          }
   	        }

             return data;
         },




		onSelectedtwo(data) {
			console.log(data);
			// province
			this.queryParams.province = data[0];
			this.queryParams.city = data[1];
			this.queryParams.region = data[2];
			// this.queryParams.villageTowns = data[3]
		},
		/** 查询疫苗信息列表 */
		getList() {
			this.loading = true;
			listInfo(this.queryParams).then(response => {
				this.infoList = response.rows;
				this.total = response.total;
				this.loading = false;
			});
		},
		getToken() {
			return getToken();
		},
		getTreeselectjue() {
			this.loading = true;
      let pids = {}
      pids.pid = 0
			listRoleer().then(response => {
				this.options = response.data;
				this.loading = false;
			});
		},
    // 统计数据
    getTreeselectjuetj() {
    	this.loading = true;
      listInfotj().then(response => {
        this.dneyhsd =  response.data
        this.loading = false;
      });
    },

		/** 转换角色数据结构 */
		normalizer(node) {
			// if (node.children && !node.children.length) {
			//   delete node.children;
			// }
			return {
				id: node.id,
				label: node.roleName
			};
		},
		// 点击组/角色
		djieskle(node, instanceId) {
			// this.personnel(node.id);
			console.log(node, instanceId);
		},
		// 身份证
		idcde(event) {
			console.log(event);
			// 身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X
			let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
			if (reg.test(this.form.idCard)) {
				this.idea();
				// this.go(this.form.idCard.length);
				// callback()
			} else {
				// callback(new Error('身份证号码不正确'))
				this.msgInfo('身份证号码不正确');
			}
		},
		// 实现自动生成生日，性别，年龄
		go(val) {
			let iden = this.form.idCard;
			let sex = null;
			let birth = null;
			let birthr = '';
			let myDate = new Date();
			let month = myDate.getMonth() + 1;
			let day = myDate.getDate();
			let age = 0;

			if (val === 18) {
				age = myDate.getFullYear() - iden.substring(6, 10) - 1;
				sex = iden.substring(16, 17);
				birth = iden.substring(6, 10) + '-' + iden.substring(10, 12) + '-' + iden.substring(12, 14);
				if (iden.substring(10, 12) < month || (iden.substring(10, 12) == month && iden.substring(12, 14) <= day)) age++;
			}
			if (val === 15) {
				age = myDate.getFullYear() - iden.substring(6, 8) - 1901;
				sex = iden.substring(13, 14);
				birth = '19' + iden.substring(6, 8) + '-' + iden.substring(8, 10) + '-' + iden.substring(10, 12);
				if (iden.substring(8, 10) < month || (iden.substring(8, 10) == month && iden.substring(10, 12) <= day)) age++;
			}

			if (sex % 2 === 0) sex = '女';
			else sex = '男';
			this.form.gender = sex;
			// this.baseInfo.age = age;
			birthr = birth + '';
			console.log(birthr);
			// this.form.birthday = birthr;
			// this.$set(this.form.birthday, birthr)
			// this.baseInfo.birthplace = this.area[iden.substring(0,2)];
		},
		// 请求身份证数据
		idea() {
			idces({ idCard: this.form.idCard }).then(response => {
				console.log(response);
				this.form.gender = response.data.gender;
				// this.form.birthday = response.data.birthday;
				this.form.age = response.data.age
				this.form.code = response.data.code
				if (response.data.userName == null) {
					this.form.userName = undefined;
				} else {
					this.form.userName = response.data.userName;
				}
			});
		},
		// 取消按钮
		cancel() {
			this.opens = false;
			this.jiezhong = false;
			this.imashow = false;
      this.errorlog=false;
			this.reset();
		},
		gywoa() {
			console.log(this.form.isVaccination);
			if (this.form.isVaccination !== null) {
				if (this.form.isVaccination == '是') {
					// 接种疫苗
					this.naneme = false,
					this.shouwes = true;
				}else {
					this.naneme = true,
					this.shouwes = false,
					this.form.vaccineInfoUserList = [{
						vaccineName: '',
						vaccinationTime: '',
						vaccinationPlace: '',
						jici: '',
						progress: '',
						url:null
					}
				]
				}
			}
		},
		gywoatwo() {
			console.log(this.queryParams.isVaccination);
			if (this.queryParams.isVaccination !== null) {
				if (this.queryParams.isVaccination == '是') {
					// 接种疫苗
					// (this.naneme = false), (this.shouwes = true);
					this.shouwestwo = false
				} else {
					// (this.naneme = true), (this.shouwes = false);
					this.shouwestwo = true
				}
			}
		},

		// 表单重置
		reset() {
			this.form = {
				id: null,
				villageTowns: null,
				village: null,
				age:'',
				code:'',
				villagerGroup: null,
				houseType: null,
				domicile: null,
				province: null,
				city: null,
				region: null,
				userName: null,
        isDel:"Y",
				gender: null,
				idCard: null,
				phoneNum: null,
				keyIndustries: null,
				isVaccination: null,
				vaccinationPlace: null,
				contraindication: null,
				nowIn: '',
				remark: null,
        residenceTown:null,
        residenceVillage:null
			};
			this.resetForm('form');
		},
		/** 搜索按钮操作 */
		handleQuery() {
			this.queryParams.pageNum = 1;
			console.log(this.queryParams)
			this.getList();
		},
		/** 重置按钮操作 */
		resetQuery() {
			this.nhue = false
			this.selectedtwo = []
			setTimeout( ()=>{
				this.nhue = true
			},100)
			this.queryParams.province = undefined;
			this.queryParams.city = undefined;
			this.queryParams.region = undefined;
      this.queryParams.deptId = undefined
      this.listd = []
			this.resetForm('queryForm');
			this.handleQuery();
		},
		// 多选框选中数据
		handleSelectionChange(selection) {
			this.ids = selection.map(item => item.id);
			this.single = selection.length !== 1;
			this.multiple = !selection.length;
		},
		/** 新增按钮操作 */
		handleAdd() {
			this.reset();
			this.opens = true;
			(this.naneme = false),
			(this.shouwes = false);
			this.selected = ['安徽省', '安庆市', '潜山市'],
			this.form.province = this.selected[0];
			this.villageTownshy = '';
			this.naiseurya = '';
			this.hsuej = '';
			this.form.city = this.selected[1];
			this.form.region = this.selected[2];
			this.title = '添加常住人口';
			this.jdourdjoaj = true;
			this.jue = true
      this.form.province = '安徽省';
      this.form.city = '安庆市';
      this.form.region = '潜山市';
      this.form.residenceTown = '梅城镇';
      this.form.residenceVillage = '龙井社区';
       this.nhdyesfgh = this.form.province + '/' + this.form.city + '/' + this.form.region + '/' + this.form.residenceTown + '/' + this.form.residenceVillage;
			console.log(this.form)
		},
		/** 修改按钮操作 */
		handleUpdate(row) {
			this.reset();
			const id = row.id || this.ids;
			getInfo(id).then(response => {
				this.form = response.data;
				this.jue = false
				if(response.data.province !== null && response.data.province !== ""){
					this.nhdyesfgh = response.data.province;
          if(response.data.city !== null && response.data.city !== ""){
            this.nhdyesfgh = response.data.province + '/' + response.data.city;
            if(response.data.region !== null && response.data.region !== ""){
            	this.nhdyesfgh = response.data.province + '/' + response.data.city + '/' + response.data.region;
              if(this.form.residenceTown !==null && this.form.residenceTown !=='' && this.form.residenceTown !== undefined){
                this.nhdyesfgh = response.data.province + '/' + response.data.city + '/' + response.data.region + '/' + this.form.residenceTown;
                if(this.form.residenceVillage !==null && this.form.residenceVillage !=='' && this.form.residenceVillage !== undefined){
                  this.nhdyesfgh = response.data.province + '/' + response.data.city + '/' + response.data.region + '/' + this.form.residenceTown + '/' + this.form.residenceVillage;
                }
              }
            }else{
            	// this.nhdyesfgh ='点击选择居住地址'
            }
          }else{
          	// this.nhdyesfgh ='点击选择居住地址'
          }
				}else{
					this.nhdyesfgh ='点击选择居住地址'
				}


				// if(response.data.province !== null){
				// 	this.selected[0] = response.data.province;
				// }else{
				// 	this.selected[0] ='安徽省'
				// }
				// if(response.data.city !== null){
				// 	this.selected[1] = response.data.city;
				// }else{
				// 	this.selected[1] = '安庆市'
				// }
				// if(response.data.region !== null){
				// 	this.selected[2] = response.data.region;
				// }else{
				// 	this.selected[2] = '潜山市'
				// }
				// this.onSelected(this.selected)
				setTimeout( ()=>{
					this.jue = true
				},100)
				// this.jue = true
				console.log(this.selected,98767)
				// if(this.form){
				if (this.form.isVaccination !== null) {
					if (this.form.isVaccination == '是') {
						// 接种疫苗
						(this.naneme = false), (this.shouwes = true);
					} else {
						(this.naneme = true), (this.shouwes = false);
					}
				} else {
					this.naneme = false;
					this.shouwes = false;
				}

				if (this.form.dictValue !== null && this.form.dictValue !== undefined) {
					this.jicheru(this.form.dictValue);
				}
				if (this.form.villageTowns !== null) {
					this.villageTownshy = this.form.villageTowns;
					if (this.form.village !== null) {
						this.villageTownshy = this.form.village;
						if (this.form.villagerGroup !== null) {
							this.villageTownshy = this.form.villagerGroup;
						}
					}
				}else{
					this.villageTownshy = '';
				}
        console.log(this.villageTownshy,3455)

				if (this.form.vaccineInfoUserList !== null) {
					if (this.form.vaccineInfoUserList.length == 0) {

					}else {
						this.form.isVaccination = '是'
						this.form.vaccineInfoUserList.filter(router =>{
							if(router.url == undefined){
								router.url = null
							}else if(router.url == []){
								router.url = null
							}
							router.disableg = true
						})
					}
				}
				// villageTownshy
				// }
				// this.heuiq.push()
				this.naiseurya = '';
				this.hsuej = '';
				this.opens = true;
				this.jdourdjoaj = false;
				this.title = '查看编辑常住人口';
			});
		},
		chahe(data) {
			console.log(data);
			// let labelValue = this.$refs['myCascader'].inputValue
			// console.log(labelValue)
			console.log(this.$refs['myCascader'])
			this.form.villageTowns = data[1];
			this.form.village = data[2];
			this.form.villagerGroup = data[3];
			if (this.form.villageTowns !== undefined) {
				this.hsuej = this.form.villageTowns;
				if (this.form.village !== undefined) {
					this.hsuej = this.form.villageTowns + this.form.village;
					if (this.form.villagerGroup !== undefined) {
						this.hsuej = this.form.villageTowns + this.form.village + this.form.villagerGroup;
					}
				}
			}
			this.form.domicile = '';

      // if(this.jdourdjoaj == true){
      //   //新增
      //   this.form.nowIn =  this.hsuej

      // }else{
      //    this.form.nowIn !=  this.hsuej
      // }
		},
		chahetwo(data) {
			console.log(data)
			// this.queryParams.villageTowns = data[1];
			// this.queryParams.village = data[2];
			// this.queryParams.villagerGroup = data[3];
			this.queryParams.deptId = data[ data.length - 1]
		},
		/** 提交按钮 */
		submitForm() {
			this.$refs['form'].validate(valid => {
				console.log(this.selected);
				if (valid) {
					if (this.form.id != null) {
						// this.form.nowIn = this.naiseurya + this.form.nowIn;
						// this.form.domicile = this.hsuej + this.form.domicile;
						updateInfo(this.form).then(response => {
							this.msgSuccess('修改成功');
							this.opens = false;
							this.getList();
						});
					} else {
						// this.form.nowIn = this.naiseurya + this.form.nowIn;
						// this.form.domicile = this.hsuej + this.form.domicile;
						// if (this.form.nowIn == 'undefined') {
						// 	this.form.nowIn = null;
						// }
						console.log(this.form)
						// return
						addInfo(this.form).then(response => {
							this.msgSuccess('新增成功');
							this.opens = false;
							this.getList();
						});
					}
				}
			});
		},
		/** 删除按钮操作 */
		handleDelete(row) {
			const ids = row.id || this.ids;
      this.idfer = ids
      this.imashow = true;
			// this.$confirm('是否确认删除疫苗信息编号为"' + ids + '"的数据项?', '警告', {
			// 	confirmButtonText: '确定',
			// 	cancelButtonText: '取消',
			// 	type: 'warning'
			// })
			// 	.then(function() {
			// 		return delInfo(ids);
			// 	})
			// 	.then(() => {
			// 		this.getList();
			// 		this.msgSuccess('删除成功');
			// 	});
		},
    submitFormfr(){
      // formgt
      if(this.formgt.houseType == null || this.formgt.houseType == undefined){
        this.$message.error('请选择删除原因');
        return  false
      }
      let nhue = {}
      nhue.deleteReason = this.formgt.houseType
      nhue.id = this.idfer
      delInfo(nhue).then(response => {
      	this.msgSuccess('删除成功');
      	this.imashow = false;
      	this.getList();
      });
    },
    // 还原
    handleDeletehy(row){
      const ids = row.id || this.ids;
      this.$confirm('是否确认还原信息?', '警告', {
      	confirmButtonText: '确定',
      	cancelButtonText: '取消',
      	type: 'warning'
      })
      	.then(function() {
      		return delInfohy(ids);
      	})
      	.then(() => {
      		this.getList();
      		this.msgSuccess('还原成功');
      	});
    },
		/** 导出按钮操作 */
		handleExport() {
			var heuia = {
                tableName: "vaccine_info",
                empty: false,
                condition: {}
            }
            var that=this;
            heuia.condition = this.queryParams
			const queryParams = this.queryParams
			this.$confirm('是否确认导出?', "警告", {
			    confirmButtonText: "确定",
			    cancelButtonText: "取消",
			    type: "warning"
			  }).then(function() {
			    return exportConfig(heuia);
			  }).then(response => {
				  const jues= response.data
          that.exportflag=false;
          that.$alert('数据导入中，系统将自动处理数据，请稍后查看结果', "导出结果", { dangerouslyUseHTMLString: true });
          // that.msgSuccess('数据导入中，系统将自动处理数据，请稍后查看结果');
				// exportConfigtyr().then(responsr => {
				// 			console.log(responsr)
				// 			if(responsr.data == true){
				// 				// this.download(jues);
				// 				// window.location.href = jues
				// 				window.open(jues)
				// 			}else{
				// 				this.msgSuccess('数据暂未加载完成，请稍后点击导出进度按钮查看');
				// 			}
				// 		});

			  })


			// this.download('/boman-web-core/core/info/export',
			// 	{
			// 		...this.queryParams
			// 	},
			// 	`post_${new Date().getTime()}.xlsx`
			// );

		},

		// 点击查看
		chakei(row) {
			console.log(row);
			// yiaoe({idCard:row.idCard}).then(response => {
			// 	// this.msgSuccess('操作成功');
			// 	if(response.code == 200){
			// 		this.jiezheList = response.data
			// 	}
			// });

			this.jiezhong = true;
		},
    /** 导入按钮操作 */
    handleImport() {
      this.upload.title = "数据导入";
      this.upload.opens = true;
    },

  // 判断是否选择户主
  changese(){
    console.log(this.form.houseType)
    if(this.form.houseType == '是'){
      this.form.code = this.form.idCard
      this.nhe = false
    }else{
      this.form.code != this.form.idCard
      this.nhe = true
    }
  },
  // 获取屏幕高度
            showFilterForm () {
                  this.filterActive = !this.filterActive
                  this.changeTableMaxHeight()
                },

                changeTableMaxHeight () {
                  let height = document.body.offsetHeight // 网页可视区域高度
                  // if (this.filterActive) {
                  //   this.tableMaxHeight = height - 320
                  // } else {
                    this.tableMaxHeight = height - 250
                  // }
                  console.log(height)
                },
	}
};
</script>
<style lang="scss">
  .placf {
    .el-input {
      .el-input__inner::placeholder{
        color: #333;
      }
      /* 谷歌 */
          .el-input__inner::-webkit-input-placeholder {
             color: #333;
          }
           /* 火狐 */
         .el-input__inner:-moz-placeholder {
              color: #333;
          }
           /*ie*/
         .el-input__inner:-ms-input-placeholder {
              color: #333;
          }
    }

  }
	.jdueuh{
		.el-form-item__label {
			width: 0px !important;
		}
		.el-form-item__content {
			margin-left: 10px !important;
			// width: 70%;
		}
	}
	.ijeuhdy{
		.el-form-item__label {
			width: 80px !important;
		}
		.el-form-item__content {
			margin-left: 80px !important;
			// width: 70%;
		}
	}
	.znshu{
		.el-form-item__label {
			width: 80px !important;
			// padding-left: 30px;
		}
		.el-form-item__content {
			margin-left: 80px !important;

			// width: 70%;
		}
		.el-input__inner{
			padding-left: 0 !important;
		}
	}
	.heioangd{
		.el-form-item__label {
			width: 70px !important;
		}
		.el-form-item__content {
			margin-left: 70px !important;
			// width: 70%;
		}
	}
.hues {
	.area-select {
		margin-left: 0 !important;
		margin-right: 10px;
	}
}
.jehak {
	.el-form-item {
		width: 100%;
	}
	.el-form-item__content {
		width: 60%;
	}
}
.oiuyty {
	.el-form-item__label {
		width: 80px !important;
	}
	.el-form-item__content {
		margin-left: 80px !important;
		// width: 70%;
	}
	input {
		padding-right: 0 !important;
	}
}
.el-dialog__body {
	padding-top: 0;
	padding-bottom: 0;
}
.jhy {
	// width: 100%;
	// .el-form-item__content {
	// 	width: 100%;
	// 	margin-left: 0 !important;
	// }
	.el-form-item__content {
		margin-left: 55px !important;
		// width: 70%;
	}
	.el-form-item__label {
		width: 55px !important;
	}
}
.ehiqya {
	.el-form-item__content {
		display: flex;
		.jdidur {
			flex: 1;
			margin-left: 10px;
			// text-align: left;
			display: flex;
		}
	}
	.upload-demo {
		display: flex;
	}
}
.jdoier{
	display: flex;
	align-items: center;
	.upload-demo {
		display: flex;
	}
}
.hueyde {
	width: 18px;
	height: 18px;
	margin: 0 5px;
	margin-right: 10px;
}
.hueydele {
	width: 15px;
	height: 18px;
}
.hyeoa {
	height: 100%;
	display: flex;
	align-items: center;
}
.hjdoecdre {
	// margin-top: 50%;
	transform: translateY(50%);
}
.ojhgy {
	.el-dialog {
		padding-bottom: 40px;
		padding-top: 10px;
	}
	.el-dialog__header {
		padding-bottom: 20px;
	}
	.el-table .cell {
		line-height: 50px;
	}
}
.hueya{
	margin-left: 0 !important;
}
.iejghiadh{
	.el-input__inner{
		padding-right: 0 !important;
		padding-left: 5px !important;
	}
}
</style>
