Browse Source

居民导出,居民搜索功能居民信息不完整页面

dlt_manageScope_0428
mk 1 year ago
parent
commit
2dcc9c5125
  1. 4
      src/assets/scss/modules/management/list-main.scss
  2. 4
      src/js/columns/constants/index.js
  3. 120
      src/views/components/resiSearch.vue
  4. 134
      src/views/modules/base/resi.vue
  5. 2
      src/views/modules/portrayal/jumin/cpts/table/sheng.vue
  6. 6
      src/views/modules/workSys/setResiUpdate/index.vue

4
src/assets/scss/modules/management/list-main.scss

@ -28,7 +28,7 @@
}
//查询栏---分开的日期时间范围的宽度
.u-item-width-daterange{
width: 206px;
width: 209px;
}
//查询栏---后方带一个文字长度
.u-item-width-normal-text{
@ -62,7 +62,7 @@
height: auto;
}
.u-item-width-service{
width: 218px;
width: 220px;
}
}

4
src/js/columns/constants/index.js

@ -9,6 +9,10 @@
*/
// constants.js
export const genderList = [
{
label: '未知',
value: '0'
},
{
label: '男',
value: '1'

120
src/views/components/resiSearch.vue

@ -3,25 +3,33 @@
<!-- <el-card class="resi-card"> -->
<div class="g-main">
<el-form :inline="true" class="header_form_box" :model="form" :label-width="'105px'">
<el-form-item label="国籍">
<el-select v-model="form.nationality" class="u-item-width-normal" clearable size="small">
<template v-for="item in nationalityList">
<el-form-item label="政治面貌">
<el-select v-model="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="form.householdSituation" class="u-item-width-normal" clearable size="small">
<template v-for="item in household">
<el-form-item label="健康状态">
<el-select v-model="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="form.partyFlag" class="u-item-width-normal" clearable size="small">
<template v-for="item in partyList">
<el-form-item label="关注人群">
<el-select v-model="form.attentionCrowds" collapse-tags multiple class="u-item-width-normal" clearable
size="small">
<template v-for="item in resiClass">
<el-option :label='item.label' :value='item.value'> </el-option>
</template>
</el-select>
</el-form-item>
<el-form-item label="特殊人群">
<el-select v-model="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>
@ -33,9 +41,16 @@
</template>
</el-select>
</el-form-item>
<el-form-item label="民族">
<el-select v-model="form.nation" class="u-item-width-normal" clearable size="small">
<template v-for="item in nation">
<el-form-item label="身份">
<el-select v-model="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-select v-model="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>
@ -47,22 +62,24 @@
</template>
</el-select>
</el-form-item>
<el-form-item label="健康状态">
<el-select v-model="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>
<el-form-item label="名称模糊查询">
<el-select v-model="basicType" class="u-item-width-service" clearable size="small">
<template >
<el-option @click.native="handelClickBasicType" :label='item.label' :value='item.value' v-for="(item, index) in basicInfoList" :key="index"> </el-option>
</template>
</el-select>
</el-form-item>
<el-form-item label="更新时间">
<el-date-picker v-model="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>
<el-form-item v-for="(item, index) in basicInfoList" :key="index" v-if="basicType == item.value">
<el-input v-model="form[item.value]" class="u-item-width-service" placeholder="请输入" clearable size="small">
</el-input>
</el-form-item>
<el-form-item label="居民年龄">
<el-input v-model="form.ageStart" @change="handleAgeChange" class="u-item-width-daterange" placeholder="请输入" clearable size="small">
</el-input>
<span class="u-data-tag"></span>
<el-date-picker v-model="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-input v-model="form.ageEnd" @change="handleAgeChange" class="u-item-width-daterange u-data-tag"
placeholder="请输入" clearable size="small">
</el-input>
</el-form-item>
<el-form-item label="性别">
<el-select v-model="form.gender" class="u-item-width-normal" clearable size="small">
@ -75,60 +92,35 @@
<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="form.attentionCrowds" collapse-tags multiple class="u-item-width-normal" clearable
size="small">
<template v-for="item in resiClass">
<el-form-item label="国籍">
<el-select v-model="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="basicType" class="u-item-width-service" clearable size="small">
<template >
<el-option @click.native="handelClickBasicType" :label='item.label' :value='item.value' v-for="(item, index) in basicInfoList" :key="index"> </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="form[item.value]" class="u-item-width-service" placeholder="请输入" clearable size="small">
</el-input>
</el-form-item>
<el-form-item label="身份">
<el-select v-model="form.identity" class="u-item-width-normal" clearable size="small">
<template v-for="item in projectStaffList">
<el-form-item label="民族">
<el-select v-model="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-input v-model="form.ageStart" @change="handleAgeChange" class="u-item-width-daterange" placeholder="请输入" clearable size="small">
</el-input>
<el-form-item label="更新时间">
<el-date-picker v-model="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-input v-model="form.ageEnd" @change="handleAgeChange" class="u-item-width-daterange u-data-tag"
placeholder="请输入" clearable size="small">
</el-input>
</el-form-item>
<el-form-item label="特殊人群">
<el-select v-model="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-date-picker v-model="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-item label="备注">
<el-input v-model="form.remark" placeholder="请输入" size="small" class="u-item-width-normal" clearable></el-input>
</el-form-item>
</el-form>
</div>
<el-row v-if="showSmartSearchForm" class="resi-row-more f-m0">
<el-col :span="24">

134
src/views/modules/base/resi.vue

@ -122,9 +122,10 @@
style="margin-left: 10px"
size="small"
class="diy-button--white"
@click="diyExport"
@click="handleExport"
:loading="exportLoading"
plain
>导出</el-button
>{{exportBtnTitle}}</el-button
>
<!-- <el-button v-if="btnAuths.ic_resi_export"
style="margin-left: 10px"
@ -347,22 +348,6 @@
<resi-change-record ref="ref_changerecord"></resi-change-record>
</el-dialog>
<el-dialog
:visible.sync="diyDialog"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="1150px"
top="5vh"
class="dialog-h"
>
<diy-info
v-if="diyDialog"
ref="ref_diy"
:list="exportList"
:search="searchForm"
@close="handleDiyClose"
></diy-info>
</el-dialog>
<baobiao ref="baobiao" />
@ -433,7 +418,6 @@ import resiTransfer from "../../components/resiTransfer.vue";
import resiChangeRecord from "../../components/resiChangeRecord.vue";
import baobiao from "@/views/modules/cpts/baobiao";
import diyInfo from "./diyInfo.vue";
import { requestPost, requestGet } from "@/js/dai/request";
import { Loading } from "element-ui"; // Loading
@ -448,14 +432,13 @@ export default {
resiInfo,
resiTransfer,
resiChangeRecord,
diyInfo,
resiChangeTransfer,
resideathAdd,
},
data() {
return {
showSercahStatus: false,
diyDialog: false,
exportLoading:false,
exportBtn: false,
exportBtnTitle: "导出",
importBtnTitle: "导入",
@ -495,7 +478,6 @@ export default {
activeName: "",
tableData: [],
searchList: [],
exportList: [],
treeData: [],
autoOpenArr: [],
@ -735,14 +717,7 @@ export default {
this.deathShow = false;
this.handleSearchFrom();
},
handleDiyClose() {
this.diyDialog = false;
},
async diyExport() {
await this.getExportList();
console.log(this.$refs[""]);
},
computedWidth(label, type) {
let wd = "";
if (type == "input" || type == "select") wd = 40 * label.length;
@ -842,15 +817,36 @@ export default {
this.$refs.myResiSearch.level = "";
this.getTableData();
},
async handleExportModule() {
let url = "/epmetuser/icresiuser/import/download-template";
async handleExport() {
this.exportLoading = true;
this.exportBtnTitle = '正在导出中'
let url = "/actual/base/residentBaseInfo/fixedExport ";
// 使
const { categoryKey, agencyId, level } = this.$refs.myResiSearch.form;
//
let _obj = JSON.parse(JSON.stringify(this.$refs.myResiSearch.form));
// categoryKey
if (Array.isArray(categoryKey) && categoryKey.length) {
_obj.categoryKey = categoryKey.join(",");
} else {
_obj.categoryKey = "";
}
// agencyId
if (Array.isArray(agencyId) && agencyId.length) {
_obj.agencyId = agencyId[agencyId.length - 1];
} else {
_obj.agencyId = "";
}
let params = {};
_obj.level = level || "";
_obj.orgType = level || "";
_obj = { ..._obj, ...this.searchAgencyObj };
await this.$http({
method: "POST",
url,
responseType: "blob",
data: params,
data: _obj,
})
.then((res) => {
console.log("res----dddd", res);
@ -873,9 +869,14 @@ export default {
document.body.removeChild(aLink); //
window.URL.revokeObjectURL(url); //blob
} else this.$message.error("下载失败");
this.exportLoading = false;
this.exportBtnTitle = '导出'
})
.catch((err) => {
console.log("err", err);
this.exportLoading = false;
this.exportBtnTitle = '导出'
return this.$message.error("网络错误");
});
},
@ -902,47 +903,7 @@ export default {
window.URL.revokeObjectURL(url);
}
},
async handleExport() {
this.exportBtn = true;
this.exportBtnTitle = "正在导出...";
let params = {
formCode: "resident_base_info",
conditions: this.conditions,
};
// .post('epmetuser/icresiuser/exportExcel', params)
await axios({
url: window.SITE_CONFIG["apiURL"] + "/epmetuser/icresiuser/exportExcel",
method: "post",
data: params,
responseType: "blob",
})
.then((res) => {
console.log("resllll", res);
let fileName = window.decodeURI(
res.headers["content-disposition"].split(";")[1].split("=")[1]
);
console.log("filename", fileName);
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel",
});
var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a");
aLink.style.display = "none";
aLink.href = url;
aLink.setAttribute("download", fileName);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink); //
window.URL.revokeObjectURL(url); //blob
})
.catch((err) => {
console.log("获取导出情失败", err);
this.$message.error("获取导出失败");
});
this.exportBtnTitle = "导出";
this.exportBtn = false;
},
//
handleExcelSuccess(res, file) {
if (res.code === 0 && res.msg === "success") {
@ -1069,7 +1030,7 @@ export default {
});
},
async handleAdd() {
handleAdd() {
this.$router.push({ name: "add-resi" });
},
@ -1131,29 +1092,6 @@ export default {
return options;
},
async getExportList(type) {
const url = "/oper/customize/icformitemgroup/list";
let params = {
formCode: "resident_base_info",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
data.forEach((item) => {
(async (id) => {
item.queryItemList = [];
})(item.id);
});
this.exportList = [...data];
this.$nextTick(() => {
this.diyDialog = true;
});
console.log("获取详情成功getExportList----", this.exportList);
} else {
this.$message.error(msg);
}
},
async deleteresiBatch() {
if (this.selection.length === 0)

2
src/views/modules/portrayal/jumin/cpts/table/sheng.vue

@ -1,6 +1,6 @@
<template>
<div class="table">
<el-table>
<el-table :data="tableData">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="不满意事项类型" prop="scope" width="190" />
<el-table-column label="不满意事项描述" prop="problemDesc" width="" />

6
src/views/modules/workSys/setResiUpdate/index.vue

@ -61,7 +61,7 @@
<el-option
v-for="item in dicts.stafflist"
:key="item.value"
:label="item.name"
:label="item.roleStr"
:value="item.staffId"
></el-option>
</el-select>
@ -90,6 +90,10 @@ export default {
label: "每周",
value: "week",
},
{
label: "每半自然月",
value: "halfMonth",
},
{
label: "每自然月",
value: "month",

Loading…
Cancel
Save