|
|
|
@ -1,23 +1,22 @@ |
|
|
|
<template> |
|
|
|
<div class="div_form"> |
|
|
|
<div class="form"> |
|
|
|
<h2>智能导出/导出设置</h2> |
|
|
|
<el-form ref="form" :model="form" label-width="80px"> |
|
|
|
<el-form-item label="报表名称" autocomplete="off"> |
|
|
|
<h4>智能导出/导出设置</h4> |
|
|
|
<el-form ref="form" :model="form" > |
|
|
|
<el-form-item required label="报表名称" autocomplete="off" > |
|
|
|
<el-input v-model="form.name" size="mini" style="width: 40%; margin-left: 30px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="筛选条件"> |
|
|
|
<el-form :inline="true" class="header_form_box" style="display: flex; flex-wrap: wrap;" :model="form" |
|
|
|
<el-form :inline="true" class="header_form_box" :model="form" size="mini" |
|
|
|
:label-width="'105px'"> |
|
|
|
<el-form-item> |
|
|
|
<span style="width:100px;text-align: right;padding-right:14px;display: inline-block; ">所属组织:</span> |
|
|
|
<el-form-item style="margin-bottom: 10px;" class="tableList" label="所属组织"> |
|
|
|
<el-cascader class="u-item-width-normal" size="small" ref="myCascader" v-model="form.agencyId" |
|
|
|
:options="orgOptions" :props="orgOptionProps" :show-all-levels="false" @change="handleChangeAgency" |
|
|
|
clearable></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="villageId"> |
|
|
|
<!-- <el-form-item style="margin-bottom: 10px;" prop="villageId" class="tableList"> |
|
|
|
<div class="resi-cell"> |
|
|
|
<div class="resi-cell-value"> |
|
|
|
<div class="resi-cell-value" > |
|
|
|
<span style="width:100px;text-align: right;padding-right:14px;display: inline-block; ">所属房屋:</span> |
|
|
|
<el-select v-model.trim="form.villageId" placeholder="请选择小区" size="small" filterable clearable |
|
|
|
class="u-item-width-communitycascader" @clear="handleClearVillage" @change="handleChangeV" |
|
|
|
@ -44,142 +43,167 @@ |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="居民分类"> |
|
|
|
<el-cascader ref="categoryAll" size="small" class="u-item-width-normal" v-model.trim="categoryAll" |
|
|
|
:options="categoryAllList" :props="{ multiple: true, checkStrictly: true, emitPath: false }" |
|
|
|
collapse-tags clearable></el-cascader> |
|
|
|
</el-form-item> --> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="小区" class="tableList" > |
|
|
|
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in partyList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="政治面貌"> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="楼号" class="tableList"> |
|
|
|
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in partyList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="健康状态"> |
|
|
|
<el-select v-model.trim="form.healthStatus" collapse-tags multiple class="u-item-width-normal" clearable |
|
|
|
size="small"> |
|
|
|
<template v-for="item in healthStatusList"> |
|
|
|
|
|
|
|
<el-form-item style="margin-bottom: 10px;" label="单元号" class="tableList"> |
|
|
|
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in partyList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="关注人群"> |
|
|
|
<el-cascader size="small" class="u-item-width-normal" v-model.trim="form.attentionCrowds" |
|
|
|
:options="resiClass" :props="{ multiple: true, checkStrictly: true, emitPath: false }" collapse-tags |
|
|
|
clearable></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="特殊人群"> |
|
|
|
<el-select v-model.trim="form.specialCategoryCodes" class="u-item-width-normal" clearable size="small" |
|
|
|
collapse-tags multiple> |
|
|
|
<template v-for="item in specialCategoryList"> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="房屋号" class="tableList"> |
|
|
|
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in partyList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="就业状态"> |
|
|
|
<el-select v-model.trim="form.careerStatus" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in careerStatusList"> |
|
|
|
<el-form-item class="tableList" label="国籍"> |
|
|
|
<el-select v-model.trim="form.nationality" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nationalityList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="身份"> |
|
|
|
<el-select v-model.trim="form.identity" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in projectStaffList"> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="居民分类" class="tableList" > |
|
|
|
<el-cascader ref="categoryAll" size="small" class="u-item-width-normal" v-model.trim="categoryAll" |
|
|
|
:options="categoryAllList" :props="{ multiple: true, checkStrictly: true, emitPath: false }" |
|
|
|
collapse-tags clearable></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item class="tableList" style="margin-bottom: 10px;" label="民族"> |
|
|
|
<el-select v-model.trim="form.nation" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nation"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="人户状况"> |
|
|
|
<el-form-item class="tableList" style="margin-bottom: 10px;" label="性别"> |
|
|
|
<el-select v-model.trim="form.gender" class="u-item-width-normal" clearable size="small"> |
|
|
|
<el-option label='男' value='1'> </el-option> |
|
|
|
<el-option label='女' value='2'> </el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item class="tableList" style="margin-bottom: 10px;" label="出生日期"> |
|
|
|
<el-date-picker v-model.trim="form.updateTimeStart" type="datetime" size="small" |
|
|
|
class="u-item-width-daterange" value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
<span class="u-data-tag">至</span> |
|
|
|
<el-date-picker v-model.trim="form.updateTimeEnd" type="datetime" size="small" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" class="u-item-width-daterange u-data-tag" placeholder="结束日期" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="籍贯"> |
|
|
|
<el-input v-model.trim="form.nativePlace" class="u-item-width-service" placeholder="请输入" clearable |
|
|
|
size="small"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="人户状况" class="tableList"> |
|
|
|
<el-select v-model.trim="form.householdSituation" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in household"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="人房关系"> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="人房关系" class="tableList"> |
|
|
|
<el-select v-model.trim="form.resiHouseRel" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in resiHouseRelList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item v-for="(item, index) in basicInfoList" :key="index" v-if="basicType == item.value"> |
|
|
|
<el-input v-model.trim="form[item.value]" class="u-item-width-service" placeholder="请输入" clearable |
|
|
|
size="small"> |
|
|
|
</el-input> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="政治面貌" class="tableList"> |
|
|
|
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in partyList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="性别"> |
|
|
|
<el-select v-model.trim="form.gender" class="u-item-width-normal" clearable size="small"> |
|
|
|
<el-option label='男' value='1'> </el-option> |
|
|
|
<el-option label='女' value='2'> </el-option> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="健康状态" class="tableList"> |
|
|
|
<el-select v-model.trim="form.healthStatus" collapse-tags multiple class="u-item-width-normal" clearable |
|
|
|
size="small"> |
|
|
|
<template v-for="item in healthStatusList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="文化程度"> |
|
|
|
<el-select v-model.trim="form.cultureLevel" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in Education"> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="关注人群类别" class="tableList"> |
|
|
|
<el-cascader size="small" class="u-item-width-normal" v-model.trim="form.attentionCrowds" |
|
|
|
:options="resiClass" :props="{ multiple: true, checkStrictly: true, emitPath: false }" collapse-tags |
|
|
|
clearable></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="特殊人群类别" class="tableList"> |
|
|
|
<el-select v-model.trim="form.specialCategoryCodes" class="u-item-width-normal" clearable size="small" |
|
|
|
collapse-tags multiple> |
|
|
|
<template v-for="item in specialCategoryList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="国籍"> |
|
|
|
<el-select v-model.trim="form.nationality" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nationalityList"> |
|
|
|
<el-form-item class="tableList" style="margin-bottom: 10px;" label="文化程度"> |
|
|
|
<el-select v-model.trim="form.cultureLevel" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in Education"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="宗教信仰"> |
|
|
|
<el-select v-model.trim="form.nationality" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nationalityList"> |
|
|
|
<el-form-item class="tableList" style="margin-bottom: 10px;" label="婚姻状态"> |
|
|
|
<el-select v-model.trim="form.nation" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nation"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="岗位人员"> |
|
|
|
<el-form-item class="tableList" style="margin-bottom: 10px;" label="宗教信仰"> |
|
|
|
<el-select v-model.trim="form.nationality" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nationalityList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="民族"> |
|
|
|
<el-select v-model.trim="form.nation" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nation"> |
|
|
|
<el-form-item style="margin-bottom: 10px;" label="就业状态" class="tableList"> |
|
|
|
<el-select v-model.trim="form.careerStatus" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in careerStatusList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="婚姻状态"> |
|
|
|
<el-select v-model.trim="form.nation" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nation"> |
|
|
|
<!-- <el-form-item style="margin-bottom: 10px;" label="身份" class="tableList"> |
|
|
|
<el-select v-model.trim="form.identity" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in projectStaffList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="籍贯"> |
|
|
|
<el-input v-model.trim="form.nativePlace" class="u-item-width-service" placeholder="请输入" clearable |
|
|
|
</el-form-item> --> |
|
|
|
<!-- <el-form-item style="margin-bottom: 10px;" class="tableList" v-for="(item, index) in basicInfoList" :key="index" v-if="basicType == item.value"> |
|
|
|
<el-input v-model.trim="form[item.value]" class="u-item-width-service" placeholder="请输入" clearable |
|
|
|
size="small"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> --> |
|
|
|
<el-form-item class="tableList" style="margin-bottom: 10px;" label="岗位人员"> |
|
|
|
<el-select v-model.trim="form.nationality" class="u-item-width-normal" clearable size="small"> |
|
|
|
<template v-for="item in nationalityList"> |
|
|
|
<el-option :label='item.label' :value='item.value'> </el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="出生日期"> |
|
|
|
<el-date-picker v-model.trim="form.updateTimeStart" type="datetime" size="small" |
|
|
|
class="u-item-width-daterange" value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" |
|
|
|
:picker-options="pickerOptionsStart"> |
|
|
|
</el-date-picker> |
|
|
|
<span class="u-data-tag">至</span> |
|
|
|
<el-date-picker v-model.trim="form.updateTimeEnd" type="datetime" size="small" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" class="u-item-width-daterange u-data-tag" placeholder="结束日期" |
|
|
|
:picker-options="pickerOptionsEnd"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
</el-form> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="导出字段" autocomplete="off"> |
|
|
|
@ -187,7 +211,7 @@ |
|
|
|
<div class="diy-wr"> |
|
|
|
<div class="left"> |
|
|
|
<el-tabs v-model.trim="leftActive" tab-position="left" class="left-h" @tab-click="handleTabsClick"> |
|
|
|
<el-tab-pane v-for="item in leftList" :key="item.id" :label="item.label" :name="item.id"> |
|
|
|
<el-tab-pane v-for="item in leftList" :key="item.id" :label="item.label" :name="item.id"> |
|
|
|
<div class="pd10 check-boxwr scroll-h"> |
|
|
|
<checkBox v-if="item.queryItemList.length > 0" :ref="'checkbox' + item.id" |
|
|
|
:list="item.queryItemList" @change="handleChangeBox" /> |
|
|
|
@ -198,7 +222,6 @@ |
|
|
|
<div class="right"> |
|
|
|
<div class="right-header"> |
|
|
|
<div class="title">导出信息</div> |
|
|
|
<el-button plain @click="handlePreview('')">预览</el-button> |
|
|
|
</div> |
|
|
|
<div class="h80 scroll-h"> |
|
|
|
<el-collapse v-model.trim="activeCollapse" id="collapsWr"> |
|
|
|
@ -213,8 +236,12 @@ |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-button @click="handclose" type="primary">取消</el-button> |
|
|
|
<el-button @click="exportTemplate" type="primary">导出数据</el-button> |
|
|
|
<div style="text-align: right"> |
|
|
|
<el-button @click="handclose" type="primary">取消</el-button> |
|
|
|
<el-button @click="exportTemplate" type="primary">导出数据 |
|
|
|
</el-button></div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
@ -224,6 +251,7 @@ |
|
|
|
import checkBox from '../../../components/checkBox.vue' |
|
|
|
import dragItem from '../../../components/dragItem.vue' |
|
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
|
import Sortable from 'sortablejs' |
|
|
|
export default { |
|
|
|
|
|
|
|
name: "set", |
|
|
|
@ -480,7 +508,31 @@ specialCategoryList: [ |
|
|
|
specialCategoryCodes: [], |
|
|
|
remark: '', |
|
|
|
level: '', |
|
|
|
orgType: '' |
|
|
|
orgType: '', |
|
|
|
pickerOptionsStart: { |
|
|
|
disabledDate: time => { |
|
|
|
let dateVal = this.form.birthdayEnd |
|
|
|
if (dateVal) { |
|
|
|
return time.getTime() > new Date(dateVal).getTime(); |
|
|
|
} else { |
|
|
|
return time.getTime() > Date.now() - 8.64e6; |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
pickerOptionsEnd: { |
|
|
|
disabledDate: time => { |
|
|
|
let nowData = Date.now(); |
|
|
|
if (this.form.birthdayStart) { |
|
|
|
let birthdayStartTime = new Date(this.form.birthdayStart); |
|
|
|
return ( |
|
|
|
time.getTime() < birthdayStartTime - 24 * 60 * 60 * 1000 || |
|
|
|
time.getTime() > nowData |
|
|
|
); |
|
|
|
} else { |
|
|
|
return (time.getTime() > nowData || time.getTime() === nowData); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
categoryAll:[], |
|
|
|
categoryAllList: [ |
|
|
|
@ -1203,18 +1255,15 @@ specialCategoryList: [ |
|
|
|
display: flex; |
|
|
|
flex-wrap: wrap; |
|
|
|
} |
|
|
|
|
|
|
|
.diy-wr { |
|
|
|
display: flex; |
|
|
|
width: 100%; |
|
|
|
height: calc(80vh - 120px); |
|
|
|
|
|
|
|
.left { |
|
|
|
width: 49%; |
|
|
|
width: 30%; |
|
|
|
height: 100%; |
|
|
|
|
|
|
|
.check-boxwr { |
|
|
|
height: calc(80vh - 120px); |
|
|
|
overflow: auto; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1244,10 +1293,11 @@ specialCategoryList: [ |
|
|
|
|
|
|
|
.left-h { |
|
|
|
height: 100%; |
|
|
|
|
|
|
|
::v-deep .el-tabs__header.is-left, |
|
|
|
::v-deep .el-tabs__nav-wrap.is-left::after { |
|
|
|
height: calc(80vh - 120px); |
|
|
|
// height: calc(80vh - 120px); |
|
|
|
height:500px; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1325,5 +1375,12 @@ specialCategoryList: [ |
|
|
|
.resi-cell-select:last-child { |
|
|
|
margin-right: 0; |
|
|
|
} |
|
|
|
.tableList{ |
|
|
|
margin-bottom: 10px; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
.el-form-item::after { |
|
|
|
content: none !important; |
|
|
|
} |
|
|
|
</style> |