Browse Source

居民诉求

feature
是小王呀\24601 1 year ago
parent
commit
7c4a6c955b
  1. 237
      src/views/modules/base/smartExport/exset.vue

237
src/views/modules/base/smartExport/exset.vue

@ -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-item label="筛选条件">
<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 label="政治面貌">
</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-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 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.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>
Loading…
Cancel
Save