Browse Source

Merge branch 'yantai_dev' into dev

# Conflicts:
#	src/views/components/resiSearch.vue
dev
lichao 2 years ago
parent
commit
6a84dfd359
  1. 1
      src/views/components/resiSearch.vue
  2. 28
      src/views/modules/census/census-accountActiveList.vue
  3. 86
      src/views/modules/census/census-accountList.vue
  4. 67
      src/views/modules/census/census-houseList.vue
  5. 36
      src/views/modules/census/census-nineList.vue
  6. 25
      src/views/modules/census/census-orgStatusList.vue
  7. 66
      src/views/modules/census/census-residentList.vue
  8. 302
      src/views/modules/communityParty/dyhx/party.vue
  9. 1007
      src/views/modules/communityParty/dyhx/party1.vue
  10. 1184
      src/views/modules/communityParty/dyhx/party22.vue

1
src/views/components/resiSearch.vue

@ -535,6 +535,7 @@ export default {
} else {
let temp = [];
for (let i in this.ageObj) {
if(this.ageObj[i]==null) this.ageObj[i] = ''
temp.push(this.ageObj[i]);
}
let arr4 = [

28
src/views/modules/census/census-accountActiveList.vue

@ -11,7 +11,6 @@
v-model="formData.orgId"
:options="orgOptions"
:props="orgOptionProps"
clearable
:show-all-levels="false"
@change="handleChangeAgency"
/>
@ -40,6 +39,7 @@
></el-date-picker>
</el-form-item>
<el-button class="btnSearch" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--output" size="small" @click="resetForm">重置</el-button>
</div>
</el-form>
</div>
@ -78,7 +78,7 @@
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total,jumper"
:total="total"
></el-pagination>
</div>
@ -114,7 +114,7 @@
:current-page.sync="pageNo2"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="parseInt(pageSize2)"
layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total,jumper"
:total="total2"
></el-pagination>
</div>
@ -223,6 +223,12 @@ export default {
this.getCountLevel();
},
methods: {
resetForm() {
for (const n in this.formData) {
if (typeof this.formData[n] == 'object') this.formData[n] = [];
else this.formData[n] = '';
}
},
handleSizeChange(val) {
this.pageSize = val;
window.localStorage.setItem('pageSize', val);
@ -256,7 +262,8 @@ export default {
this.orgId = this.formData.orgId;
}
console.log(this.formData);
this.pageNo = 1;this.pageNo2 = 1;
this.pageNo = 1;
this.pageNo2 = 1;
this.getTableData();
this.getTableData2();
this.getCountLevel();
@ -284,7 +291,7 @@ export default {
async handleExport(type) {
const url = '/gov/org/staffLoginLog/accountActivityInfo-export';
const { data, code, msg } = await requestPost(url, param);
// const { data, code, msg } = await requestPost(url, param);
axios({
url: window.SITE_CONFIG['apiURL'] + url,
@ -395,7 +402,7 @@ export default {
this.tableLoading2 = false;
if (code === 0) {
this.total2 = data.total || 0;
console.log(this.total2)
console.log(this.total2);
this.tableData2 = data.list
? data.list.map(item => {
return item;
@ -490,4 +497,13 @@ export default {
border-radius: 6px;
color: #fff;
}
.flex {
display: flex;
.width1 {
width: 220px;
}
.flex1 {
flex: 1;
}
}
</style>

86
src/views/modules/census/census-accountList.vue

@ -11,7 +11,6 @@
v-model="formData.orgId"
:options="orgOptions"
:props="orgOptionProps"
clearable
@change="handleChangeAgency"
:show-all-levels="false"
/>
@ -40,6 +39,7 @@
></el-date-picker>
</el-form-item>
<el-button class="btnSearch" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--output" size="small" @click="resetForm">重置</el-button>
</div>
</el-form>
<div class="flex">
@ -99,9 +99,9 @@
>
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="agencyName" align="center" label="社区名称" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="streetName" label="所属街道" min-width="140" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="streetName" label="所属街道" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="districtName" label="所属区县" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" width="110" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
</el-table>
</div>
</el-col>
@ -120,25 +120,32 @@
</el-col>
</el-row>
</div>
<el-dialog :title="title" :visible.sync="dialogVisible" v-if="dialogVisible" width="30%" :before-close="handleClose">
<el-dialog :title="title" :visible.sync="dialogVisible" v-if="dialogVisible" width="50%" :before-close="handleClose">
<div
style=" text-align: right;
margin-top: -30px;
margin-bottom: 10px;"
>
<el-button size="small" class="diy-button--output" @click="handleExport()">导出</el-button>
</div>
<el-table :data="tableDataView" border v-loading="tableLoading2" :header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }" class="table" style="width: 100%">
<template v-if="orgType == 'community'">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="agencyName" align="center" label="社区名称" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="streetName" label="所属街道" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="districtName" label="所属区县" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" width="110" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
</template>
<template v-if="orgType == 'street'">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="agencyName" label="镇街名称" align="center" :show-overflow-tooltip="true" />
<el-table-column prop="districtName" label="所属区县" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" width="110" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
</template>
<template v-if="orgType == 'district'">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="agencyName" label="区县名称" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" width="110" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="count" align="center" label="登录次数" :show-overflow-tooltip="true"></el-table-column>
</template>
</el-table>
@ -148,7 +155,7 @@
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total,jumper"
:total="total"
></el-pagination>
</el-dialog>
@ -269,6 +276,47 @@ export default {
// this.getPie();
},
methods: {
resetForm() {
for (const n in this.formData) {
if (typeof this.formData[n] == 'object') this.formData[n] = [];
else this.formData[n] = '';
}
},
async handleExport() {
const url = '/gov/org/staffLoginLog/community-count-export';
// const { data, code, msg } = await requestPost(url, param);
axios({
url: window.SITE_CONFIG['apiURL'] + url,
method: 'post',
data: {
orgId: this.orgId,
level: this.orgType,
startDate: this.formData.startDate,
endDate: this.formData.endDate
},
responseType: 'blob'
})
.then(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);
return this.$message.error('网络错误');
});
},
handleSearch(val) {
let tmp = this.formData.orgId;
if (!(tmp && typeof tmp != 'undefined' && tmp != 0 && tmp != null)) {
@ -388,7 +436,7 @@ export default {
async getCountLevel() {
const url = '/gov/org/staffLoginLog/count-level';
// const url = 'http://yapi.elinkservice.cn/mock/356/gov/org/staffLoginLog/count-level';
let param = { ...this.formData };
const { data, code, msg } = await requestPost(url, param);
console.log('getCountLeveldata', data);
@ -402,13 +450,13 @@ export default {
this.tableLoading = true;
const url = '/gov/org/staffLoginLog/community-count';
// const url = 'http://yapi.elinkservice.cn/mock/356/gov/org/staffLoginLog/community-count';
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
pageNo,
isPage: true,
dataRange: 'exclude_zero',
...formData
});
@ -620,4 +668,22 @@ export default {
.cur {
cursor: pointer;
}
.diy-button--output {
width: 100px;
height: 38px;
background: #feb349;
box-shadow: 0px 2px 6px 0px rgba(198, 122, 16, 0.31);
border-radius: 6px;
color: #fff;
}
.flex {
display: flex;
.width1 {
width: 220px;
}
.flex1 {
flex: 1;
}
}
</style>

67
src/views/modules/census/census-houseList.vue

@ -8,7 +8,7 @@
<el-cascader
class="customer_cascader"
ref="myCascader"
clearable
filterable
v-model="formData.orgId"
:options="orgOptions"
:props="orgOptionProps"
@ -40,6 +40,7 @@
></el-date-picker>
</el-form-item>
<el-button class="btnSearch" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--output" size="small" @click="resetForm">重置</el-button>
</div>
</el-form>
</div>
@ -47,8 +48,8 @@
<el-row :gutter="20">
<el-col :span="12">
<div class="div_table_title">房屋用途统计</div>
<el-row>
<el-col :span="12">
<div class="flex">
<div class="width1">
<div :style="'height:' + TableHeight + 'px;margin-top:20px'">
<screen-echarts-frame
@handelClickMyPei="handelClickMyPei"
@ -57,27 +58,27 @@
ref="pieChart"
></screen-echarts-frame>
</div>
</el-col>
<el-col :span="12">
</div>
<div class="flex1">
<div :style="'height:' + TableHeight + 'px;margin-top:20px;display:flex;align-items: center;'">
<div class="legend">
<div class="legend-row" :key="item.name" v-for="(item, index) in chartData.data" @click="handleClickItem(item)">
<div class="kuai" :style="{ backgroundColor: color[index] }"></div>
<div class="kuai" :style="{ backgroundColor: color1[index] }"></div>
<div class="content">
<div class="name">{{ item.name }}</div>
<div class="name">{{ index }}{{ item.name }}</div>
<div class="num">{{ item.value }}</div>
<div class="unit" :style="{ color: color[index] }">{{ item.radio }}%</div>
<div class="unit" :style="{ color: color1[index] }">{{ item.radio }}%</div>
</div>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>
</el-col>
<el-col :span="12">
<div class="div_table_title">房屋状态统计</div>
<el-row>
<el-col :span="12">
<div class="flex">
<div class="width1">
<div :style="'height:' + TableHeight + 'px;margin-top:20px'">
<screen-echarts-frame2
@handelClickMyPei="handelClickMyPei2"
@ -86,8 +87,8 @@
ref="pieChart2"
></screen-echarts-frame2>
</div>
</el-col>
<el-col :span="12">
</div>
<div class="flex1">
<div :style="'height:' + TableHeight + 'px;margin-top:20px;display:flex;align-items: center;'">
<div class="legend2">
<div class="legend-row" :key="item.name" v-for="(item, index) in chartData2.data" @click="handleClickItem2(item)">
@ -98,13 +99,13 @@
<div class="content">
<div class="name">{{ item.name }}</div>
<div class="num">{{ item.value }}</div>
<div class="unit" :style="{ color: color[index] }">{{ item.radio }}%</div>
<div class="unit" :style="{ color: color2[index] }">{{ item.radio }}%</div>
</div>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>
</el-col>
<el-col :span="24">
@ -142,7 +143,7 @@
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total,jumper"
:total="total"
></el-pagination>
</el-col>
@ -191,6 +192,7 @@ export default {
return time.getTime() > nowData;
};
return {
optionData: {},
dialogVisible: false,
detailId: '',
detailData: {},
@ -231,7 +233,8 @@ export default {
pieInitState2: false,
pieOption: [],
pieOption2: [],
color: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915', '#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
color1: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915','#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
color2: ['#3C94FE', '#22C1C3', '#F0D915', '#FE6252', '#A17AFA', '#A19FFF', '#6FC364', '#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
chartData: [],
chartData2: [],
pieData: [],
@ -265,6 +268,15 @@ export default {
this.getOrgTreeList();
},
methods: {
resetForm() {
for (const n in this.formData) {
if (typeof this.formData[n] == 'object') this.formData[n] = [];
else this.formData[n] = '';
}
this.orgId = this.optionData.agencyId;
this.orgIdPath = this.optionData.orgIdPath;
this.orgType = this.optionData.level;
},
show(row) {
this.dialogVisible = true;
this.pageType = 'view';
@ -280,7 +292,7 @@ export default {
},
async getTableData() {
this.tableLoading = true;
// const url = '/gov/org/staffLoginLog/community-count';
const url = '/gov/org/ichouse/getHousePictureList';
const { pageSize, pageNo, formData } = this;
@ -437,7 +449,7 @@ export default {
color: '#fff'
}
},
color: this.color,
color: this.color1,
title: {
text: this.pieData.total,
subtext: '总数',
@ -541,7 +553,7 @@ export default {
color: '#fff'
}
},
color: this.color,
color: this.color2,
title: {
text: this.pieData2.total,
subtext: '总数',
@ -703,6 +715,7 @@ export default {
// const _arr = [{ ...agencyList, subAgencyList: [...subAgencyList] }];
// this.orgOptions = this.deepTree(_arr);
this.orgOptions = [];
this.optionData = data;
this.orgOptions.push(data);
this.orgId = data.agencyId;
this.orgIdPath = data.orgIdPath;
@ -837,6 +850,7 @@ export default {
border-radius: 6px;
color: #fff;
}
.div_search {
.item_width_2 {
width: 200px;
@ -896,4 +910,13 @@ export default {
border-radius: 6px;
color: #fff;
}
.flex {
display: flex;
.width1 {
width: 220px;
}
.flex1 {
flex: 1;
}
}
</style>

36
src/views/modules/census/census-nineList.vue

@ -8,9 +8,9 @@
<el-cascader
class="customer_cascader"
ref="myCascader"
clearable
v-model="formData.orgId"
:options="orgOptions"
filterable
:props="orgOptionProps"
:show-all-levels="false"
@change="handleChangeAgency"
@ -18,6 +18,7 @@
</el-form-item>
<el-button class="btnSearch" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--output" size="small" @click="resetForm">重置</el-button>
</div>
</el-form>
</div>
@ -25,8 +26,8 @@
<el-row :gutter="20">
<el-col :span="24">
<div class="div_table_title">九小场所分析</div>
<el-row>
<el-col :span="12">
<div class="flex">
<div class="width1">
<div style="height:220px;margin-top:20px">
<screen-echarts-frame
@handelClickMyPei="handelClickMyPei"
@ -35,8 +36,8 @@
ref="pieChart"
></screen-echarts-frame>
</div>
</el-col>
<el-col :span="12">
</div>
<div class="flex1">
<div style="height:220px;margin-top:20px;display:flex;align-items: center;">
<div class="legend">
<div class="legend-row" :key="item.name" v-for="(item, index) in chartData.data" @click="handleClickItem(item)">
@ -49,8 +50,8 @@
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>
</el-col>
<el-col :span="24">
@ -86,7 +87,7 @@
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total,jumper"
:total="total"
></el-pagination>
</el-col>
@ -177,7 +178,7 @@ export default {
pieInitState2: false,
pieOption: [],
pieOption2: [],
color: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915', '#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
color: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915','#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
chartData: {},
placeType: '',
pieData: []
@ -208,6 +209,13 @@ export default {
this.getPie();
},
methods: {
resetForm() {
for (const n in this.formData) {
if (typeof this.formData[n] == 'object') this.formData[n] = [];
else this.formData[n] = '';
}
this.orgType = '';
},
show(row) {
this.dialogVisible = true;
this.pageType = 'view';
@ -236,7 +244,6 @@ export default {
async getTableData() {
this.tableLoading = true;
const url = '/gov/org/enterprise/list';
// const url = 'http://yapi.elinkservice.cn/mock/356/gov/org/staffLoginLog/community-count';
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, {
@ -661,4 +668,13 @@ export default {
border-radius: 6px;
color: #fff;
}
.flex {
display: flex;
.width1 {
width: 220px;
}
.flex1 {
flex: 1;
}
}
</style>

25
src/views/modules/census/census-orgStatusList.vue

@ -9,7 +9,6 @@
class="customer_cascader"
ref="myCascader"
filterable
clearable
v-model="formData.orgId"
:options="orgOptions"
:props="orgOptionProps"
@ -45,6 +44,7 @@
</el-form-item>
<el-button class="btnSearch" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--output" size="small" @click="resetForm">重置</el-button>
</div>
</el-form>
<div class="flex">
@ -128,7 +128,7 @@
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total,jumper"
:total="total"
></el-pagination>
</el-dialog>
@ -195,7 +195,7 @@ export default {
startDate: '',
endDate: ''
},
cateOptions: [],
eventTypeCheck: [],
pageNo: 1,
@ -254,6 +254,12 @@ export default {
// this.getPie();
},
methods: {
resetForm() {
for (const n in this.formData) {
if (typeof this.formData[n] == 'object') this.formData[n] = [];
else this.formData[n] = '';
}
},
handleSearch(val) {
this.getTableData();
this.getsubData();
@ -356,8 +362,8 @@ export default {
}
const url = '/gov/org/customeragency/getAgencyCountList';
let params = { agencyId: agencyId };
const { data, code, msg } = await requestGet(url, params);
let params = { agencyId: agencyId, timeStart: this.formData.startDate, timeEnd: this.formData.endDate };
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
data.map(item => {
@ -564,4 +570,13 @@ export default {
.cur {
cursor: pointer;
}
.flex {
display: flex;
.width1 {
width: 220px;
}
.flex1 {
flex: 1;
}
}
</style>

66
src/views/modules/census/census-residentList.vue

@ -8,7 +8,7 @@
<el-cascader
class="customer_cascader"
ref="myCascader"
clearable
filterable
v-model="formData.orgId"
:options="orgOptions"
:props="orgOptionProps"
@ -18,6 +18,7 @@
</el-form-item>
<el-button class="btnSearch" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--output" size="small" @click="resetForm">重置</el-button>
</div>
</el-form>
</div>
@ -25,18 +26,18 @@
<el-row :gutter="20">
<el-col :span="12">
<div class="div_table_title">居民年龄统计</div>
<el-row>
<el-col :span="12">
<div :style="'height:220px;margin-top:20px'">
<div class="flex">
<div class="width1">
<screen-echarts-frame
@handelClickMyPei="handelClickMyPei"
:style="{ width: '100%', height: '100%' }"
@myChartMethod="pieInitOk"
ref="pieChart"
></screen-echarts-frame>
</div>
</el-col>
<el-col :span="12">
</div>
<div class="flex1">
<div :style="'height:220px;margin-top:20px;display:flex;align-items: center;'">
<div class="legend">
<div class="legend-row" :key="item.name" v-for="(item, index) in chartData.data" @click="handleClickItem(item)">
@ -44,28 +45,28 @@
<div class="content">
<div class="name">{{ item.name }}</div>
<div class="num">{{ item.value }}</div>
<div class="unit" :style="{ color: color[index] }">{{ item.value / 100 }}%</div>
<div class="unit" :style="{ color: color[index] }">{{ item.radio }}%</div>
</div>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>
</el-col>
<el-col :span="12">
<div class="div_table_title">居民学历统计</div>
<el-row>
<el-col :span="12">
<div :style="'height:220px;margin-top:20px'">
<div class="flex">
<div class="width1">
<screen-echarts-frame2
@handelClickMyPei="handelClickMyPei2"
:style="{ width: '100%', height: '100%' }"
@myChartMethod="pieInitOk2"
ref="pieChart2"
></screen-echarts-frame2>
</div>
</el-col>
<el-col :span="12">
</div>
<div class="flex1">
<div :style="'height:220px;margin-top:20px;display:flex;align-items: center;'">
<div class="legend">
<div class="legend-row" :key="item.name" v-for="(item, index) in chartData2.data" @click="handleClickItem2(item)">
@ -73,19 +74,19 @@
<div class="content">
<div class="name">{{ item.name }}</div>
<div class="num">{{ item.value }}</div>
<div class="unit" :style="{ color: color[index] }">{{ item.value / 100 }}%</div>
<div class="unit" :style="{ color: color[index] }">{{ item.radio }}%</div>
</div>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>
</el-col>
<el-col :span="24">
<div class="census_searchcensus2">
<div class="census_searchcensus_box"></div>
<el-button size="small" class="diy-button--output" @click="handleExport(1)">导出</el-button>
<el-button size="small" class="diy-button--output" @click="handleExport()">导出</el-button>
</div>
<el-table
:data="tableData"
@ -116,7 +117,7 @@
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total,jumper"
:total="total"
></el-pagination>
</el-col>
@ -200,7 +201,7 @@ export default {
pieInitState2: false,
pieOption: [],
pieOption2: [],
color: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915', '#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
color: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915','#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
chartData: [],
chartData2: [],
pieData: [],
@ -239,6 +240,13 @@ export default {
this.getsubData2();
},
methods: {
resetForm() {
for (const n in this.formData) {
if (typeof this.formData[n] == 'object') this.formData[n] = [];
else this.formData[n] = '';
}
this.orgType = '';
},
show(row) {
this.dialogVisible = true;
this.pageType = 'view';
@ -260,7 +268,7 @@ export default {
},
async getTableData() {
this.tableLoading = true;
// const url = '/gov/org/staffLoginLog/community-count';
const url = '/epmetuser/icresiuser/portrayal-list';
const { pageSize, pageNo, formData } = this;
@ -864,11 +872,19 @@ export default {
.diy-button--output {
width: 100px;
height: 38px;
z-index: 99;
background: #feb349;
box-shadow: 0px 2px 6px 0px rgba(198, 122, 16, 0.31);
border-radius: 6px;
color: #fff;
}
.flex {
display: flex;
.width1 {
width: 220px;
}
.flex1 {
flex: 1;
}
}
</style>

302
src/views/modules/communityParty/dyhx/party.vue

@ -15,8 +15,8 @@
@change="handleChangeAgency"
></el-cascader>
</el-form-item>
<el-button class="btnSearch" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--reset" size="small" @click="resetForm">重置</el-button>
</div>
</el-form>
</div>
@ -24,8 +24,8 @@
<el-row :gutter="20">
<el-col :span="12">
<div class="div_table_title">党员年龄统计</div>
<el-row>
<el-col :span="12">
<div class="flex">
<div class="width1">
<div :style="'height:220px;margin-top:20px'">
<screen-echarts-frame
@handelClickMyPei="handelClickMyPei"
@ -34,8 +34,8 @@
ref="pieChart"
></screen-echarts-frame>
</div>
</el-col>
<el-col :span="12">
</div>
<div class="flex1">
<div :style="'height:220px;margin-top:20px;display:flex;align-items: center;'">
<div class="legend">
<div class="legend-row" :key="item.name" v-for="(item, index) in chartData.data" @click="handleClickItem(item)">
@ -48,60 +48,51 @@
</div>
</div>
</div>
</el-col>
<el-col :span="24">
<div class="census_searchcensus2">
<div class="census_searchcensus_box"></div>
<el-button size="small" class="diy-button--output" @click="handleExport('age')">导出</el-button>
</div>
</el-col>
<el-col :span="24">
<el-table
class="table"
:data="tableDataAge"
border
:height="tableHeight"
v-loading="tableLoadingAge"
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
style="width: 100%"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="姓名" :show-overflow-tooltip="true" min-width="120"></el-table-column>
<el-table-column prop="age" header-align="center" align="center" :show-overflow-tooltip="true" label="年龄" min-width="100"></el-table-column>
<el-table-column
prop="mobile"
header-align="center"
align="center"
:show-overflow-tooltip="true"
label="手机号码"
min-width="130"
></el-table-column>
<el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" class="div-table-button--detail" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="pageSizeChangeHandleAge"
@current-change="pageCurrentChangeHandleAge"
:current-page.sync="agePageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="agePageSize"
layout="sizes, prev, pager, next, total"
:total="ageTotal"
></el-pagination>
</el-col>
</el-row>
</div>
>
</div>
<div class="census_searchcensus2">
<div class="census_searchcensus_box"></div>
<el-button size="small" class="diy-button--output" @click="handleExport('age')">导出</el-button>
</div>
<el-table
class="table"
:data="tableDataAge"
border
:height="tableHeight"
v-loading="tableLoadingAge"
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
style="width: 100%"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="姓名" :show-overflow-tooltip="true" min-width="120"></el-table-column>
<el-table-column prop="age" header-align="center" align="center" :show-overflow-tooltip="true" label="年龄" min-width="100"></el-table-column>
<el-table-column prop="mobile" header-align="center" align="center" :show-overflow-tooltip="true" label="手机号码" min-width="130"></el-table-column>
<el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" class="div-table-button--detail" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="pageSizeChangeHandleAge"
@current-change="pageCurrentChangeHandleAge"
:current-page.sync="agePageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="agePageSize"
layout="sizes, prev, pager, next, total,jumper"
:total="ageTotal"
></el-pagination>
</el-col>
<el-col :span="12">
<div class="div_table_title">党员学历统计</div>
<el-row>
<el-col :span="12">
<div class="flex">
<div class="width1">
<div :style="'height:220px;margin-top:20px'">
<screen-echarts-frame2
@handelClickMyPei="handelClickMyPei2"
@ -110,8 +101,8 @@
ref="pieChart2"
></screen-echarts-frame2>
</div>
</el-col>
<el-col :span="12">
</div>
<div class="flex1">
<div :style="'height:220px;margin-top:20px;display:flex;align-items: center;'">
<div class="legend">
<div class="legend-row" :key="item.name" v-for="(item, index) in chartData2.data" @click="handleClickItem(item)">
@ -124,55 +115,45 @@
</div>
</div>
</div>
</el-col>
<el-col :span="24">
<div class="census_searchcensus2">
<div class="census_searchcensus_box"></div>
<el-button size="small" class="diy-button--output" @click="handleExport('edu')">导出</el-button>
</div>
</el-col>
<el-col :span="24">
<el-table
class="table"
:data="tableData"
border
:height="tableHeight"
v-loading="tableLoading"
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
style="width: 100%"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="姓名" :show-overflow-tooltip="true" min-width="120"></el-table-column>
<el-table-column prop="education" header-align="center" align="center" :show-overflow-tooltip="true" label="学历" min-width="130"></el-table-column>
<el-table-column
prop="mobile"
header-align="center"
align="center"
:show-overflow-tooltip="true"
label="手机号码"
min-width="130"
></el-table-column>
<el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" class="div-table-button--detail" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="pageSizeChangeHandleNew"
@current-change="pageCurrentChangeHandleNew"
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total"
></el-pagination>
</el-col>
</el-row>
</div>
</div>
<div class="census_searchcensus2">
<div class="census_searchcensus_box"></div>
<el-button size="small" class="diy-button--output" @click="handleExport('edu')">导出</el-button>
</div>
<el-table
class="table"
:data="tableData"
border
:height="tableHeight"
v-loading="tableLoading"
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
style="width: 100%"
>
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="姓名" :show-overflow-tooltip="true" min-width="120"></el-table-column>
<el-table-column prop="education" header-align="center" align="center" :show-overflow-tooltip="true" label="学历" min-width="130"></el-table-column>
<el-table-column prop="mobile" header-align="center" align="center" :show-overflow-tooltip="true" label="手机号码" min-width="130"></el-table-column>
<el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" class="div-table-button--detail" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="pageSizeChangeHandleNew"
@current-change="pageCurrentChangeHandleNew"
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total,jumper"
:total="total"
></el-pagination>
</el-col>
</el-row>
</div>
@ -220,19 +201,26 @@ export default {
return {
orgOptions: [], //
orgOptionProps: {
//
multiple: false,
value: 'agencyId',
label: 'agencyName',
children: 'subAgencyList',
emitPath: false,
checkStrictly: true
value: 'id',
label: 'partyOrgName',
children: 'children',
checkStrictly: true,
emitPath: false
//
// multiple: false,
// value: 'agencyId',
// label: 'agencyName',
// children: 'subAgencyList',
// emitPath: false,
// checkStrictly: true
},
pieInitState: false,
pieInitState2: false,
pieOption: [],
pieOption2: [],
color: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915', '#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
color: ['#3C94FE', '#A17AFA', '#A19FFF', '#22C1C3', '#6FC364', '#F0D915','#FEB349', '#FE6252', '#F44230', '#5DC7F0'],
chartData: [],
chartData2: [],
pieData: [],
@ -297,7 +285,9 @@ export default {
await nextTick(100);
await this.getOrgTreeList();
// await this.getPartyOggList();
console.log(this.$store.state);
this.user = this.$store.state.user;
this.agencyId = this.user.agencyId;
this.getAgeCount();
this.getEduCount();
this.getAgeList();
@ -307,10 +297,18 @@ export default {
// this.getGridList('query');
},
methods: {
resetForm() {
for (const n in this.formData) {
if (typeof this.formData[n] == 'object') this.formData[n] = [];
else this.formData[n] = '';
}
},
handleChangeAgency(val) {
let obj = this.$refs['myCascader'].getCheckedNodes()[0].data;
console.log('obj', obj);
if (obj) {
this.orgType = obj.level === 'grid' ? 'grid' : 'agency';
// this.orgType = obj.level === 'grid' ? 'grid' : 'agency';
// this.orgType = obj.level
} else {
this.orgType = '';
}
@ -748,27 +746,46 @@ export default {
this.visibleLoading = false;
},
getOrgTreeList() {
const { user } = this.$store.state;
this.$http
.post('/gov/org/customeragency/agencygridtree', {})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log('获取组织树成功', res.data);
// let { agencyList, subAgencyList } = res.data;
// const _arr = [{ ...agencyList, subAgencyList: [...subAgencyList] }];
// this.orgOptions = this.deepTree(_arr);
this.orgOptions = [];
this.orgOptions.push(res.data);
async getOrgTreeList() {
function deleteChildren(arr) {
let childs = arr;
for (let i = childs.length; i--; i > 0) {
if (childs[i].children) {
if (childs[i].children.length) {
this.deleteChildren(childs[i].children);
} else {
delete childs[i].children;
}
}
})
.catch(() => {
return this.$message.error('网络错误');
});
},
}
return arr;
}
const { user } = this.$store.state;
const url = '/resi/partymember/icPartyOrg/getSearchTreelist';
let params = {
agencyId: user.agencyId
};
const { data, code, msg } = await requestGet(url, params);
console.log('data-orgparty----o', data);
if (code === 0) {
this.orgOptions = data;
this.changeKey(this.orgOptions);
} else {
}
},
changeKey(arr) {
for (var i = 0; i < arr.length; i++) {
arr[i].value = arr[i].userId;
arr[i].label = arr[i].userName;
if (arr[i].children.length) {
this.changeKey(arr[i].children);
} else {
delete arr[i].children;
}
}
},
jumpDetail(val) {
this.memberDialog = false;
this.$router.push({
@ -822,10 +839,10 @@ export default {
edu: '/epmetuser/icresiuser/partymembereducationlist/export'
};
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-');
const orgType = _arr[1] !== 'grid' ? 'agency' : 'grid';
let params = {
orgId: _arr[0],
orgType: orgType,
orgId: this.orgId,
orgType: this.orgType,
code: type == 'age' ? this.ageCode : this.eduCode
};
// .post('epmetuser/icresiuser/exportExcel', params)
@ -1003,4 +1020,13 @@ export default {
border-radius: 6px;
color: #fff;
}
.flex {
display: flex;
.width1 {
width: 220px;
}
.flex1 {
flex: 1;
}
}
</style>

1007
src/views/modules/communityParty/dyhx/party1.vue

File diff suppressed because it is too large

1184
src/views/modules/communityParty/dyhx/party22.vue

File diff suppressed because it is too large
Loading…
Cancel
Save