Browse Source

居民分类更新情况,居民分类信息不完整数量统计接口对接,房屋跳转

feature
李素 2 years ago
parent
commit
e24a7ea207
  1. 35
      src/views/components/resiSearch.vue
  2. 4
      src/views/modules/base/community/community.vue
  3. 81
      src/views/modules/base/resi.vue
  4. 310
      src/views/modules/home/index.vue

35
src/views/components/resiSearch.vue

@ -88,8 +88,9 @@
</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-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>
@ -114,18 +115,29 @@
</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>
<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-form-item>
<el-form-item label="信息完整度" style="display: block;">
<el-input v-model="form.integrityScoreFrom" class="u-item-width-daterange" placeholder="请输入" clearable
size="small">
</el-input>
<span class="u-data-tag"></span>
<el-input v-model="form.integrityScoreTo" @change="informationChange"
class="u-item-width-daterange u-data-tag" placeholder="请输入" clearable size="small">
</el-input>
</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-input v-model="form.remark" placeholder="请输入" size="small" class="u-item-width-normal"
clearable></el-input>
</el-form-item>
</el-form>
@ -368,6 +380,8 @@ export default {
birthdayEnd: '',
ageStart: '',
ageEnd: '',
integrityScoreFrom: null,//
integrityScoreTo: null,//end
gender: '',
cultureLevel: '',
localResidenceFlag: '',
@ -719,6 +733,13 @@ export default {
}
}
},
informationChange() {
this.form.integrityScoreFrom = parseFloat(this.form.integrityScoreFrom);
this.form.integrityScoreTo = parseFloat(this.form.integrityScoreTo);
if (isNaN(this.form.integrityScoreFrom) || isNaN(this.form.integrityScoreTo)) {
this.$message.warning('请输入数字');
}
},
handleChangeAgency(val) {
this.sarr = []
@ -1015,7 +1036,7 @@ export default {
}
return subYear - 1 + '-' + nowMonth + '-' + nowDay
},
handelClickBasicType(){
handelClickBasicType() {
this.form.name = '';
this.form.mobile = '';
this.form.idNum = '';

4
src/views/modules/base/community/community.vue

@ -452,6 +452,8 @@ export default {
roomTable,
},
async mounted () {
// console.log("",this.$route.query.param1)
this.searchHeight = this.$refs.ref_searchform.offsetHeight;
this.treeLoading = true;
@ -563,12 +565,10 @@ export default {
agencyId: this.selAgencyId,
isPage: false,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.optionsV = data;
this.neighborHoodId = "";
this.buildingId = "";
this.buildingUnitId = "";

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

@ -93,6 +93,8 @@
<el-table-column type="selection" fixed="left" align="center" width="50" />
<el-table-column label="序号" type="index" fixed="left" align="left" width="50">
</el-table-column>
<el-table-column v-for="item in tableHeader" :key="item.columnName" :prop="item.columnName"
:label="item.label" align="left" :show-overflow-tooltip="true" :width="item.width || ''">
<template slot-scope="scope">
@ -110,6 +112,19 @@
: "--"
}}
</div>
<div v-else-if="item.columnName == 'nationality'">
{{
scope.row.gender == null
? ((1 - scope.row.nationality)*100).toFixed(2) + '%'
: ((1 - scope.row.nationality)*100).toFixed(2) + '%'
}}
</div>
<div v-else-if="item.columnName == 'gridName'">
<template>
<div class="resiCategoryInfoBox">
@ -149,6 +164,9 @@
<span v-else>{{ handleFilterSpan(scope.row, item) }}</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button v-if="btnAuths.ic_resi_view" type="text" size="small"
@ -334,6 +352,7 @@ export default {
// { columnName: "agencyName", label: "", width: 150 },
{ columnName: "idTypeName", label: "证件类型", width: 80 },
{ columnName: "idNum", label: "证件号", width: 170 },
{ columnName: "nationality", label: "信息完整度", width: 95 },
{ columnName: "categoryNames", label: "居民分类" },
{ columnName: "nationalityName", label: "国籍", width: 50 },
{ columnName: "nationName", label: "民族", width: 50 },
@ -419,8 +438,6 @@ export default {
},
});
this.handleSearchFrom();
},
activated() {
this.handleSearchFrom();
@ -481,53 +498,76 @@ export default {
const { categoryKey, agencyId, level } = this.$refs.myResiSearch.form;
//
let _obj = JSON.parse(JSON.stringify(this.$refs.myResiSearch.form));
console.log('213', _obj)
switch (this.valueb) {
case '党员':
_obj.partyFlag = 1
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '残疾人':
_obj.healthStatus.push('DISABILITY_FLAG');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '退役军人':
_obj.attentionCrowds.push('VETERAN_FLAG');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
_obj.partyFlag = 1;
this.getTableData(_obj);
break;
case '失业人员':
_obj.careerStatus = 0
this.getTableData(_obj);
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
break;
case '低保人员':
_obj.attentionCrowds.push('SUBSISTENCE_ALLOW');
this.getTableData(_obj);
_obj.attentionCrowds.push('SUBSISTENCE_ALLOW');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '保障房人员':
_obj.attentionCrowds.push('ENSURE_HOUSE_FLAG');
this.getTableData(_obj);
case '保障房人员':
_obj.attentionCrowds.push('ENSURE_HOUSE_FLAG');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '特殊人员':
_obj.attentionCrowds.push('ENSURE_HOUSE_FLAG');
this.getTableData(_obj);
case '特殊人员':
_obj.attentionCrowds.push('ENSURE_HOUSE_FLAG');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '大病人员':
_obj.healthStatus.push('SERIOUS_ILLNESS_F');
this.getTableData(_obj);
case '大病人员':
_obj.healthStatus.push('SERIOUS_ILLNESS_F');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '慢病人员':
_obj.healthStatus.push('CHRONIC_DISEASE_F');
this.getTableData(_obj);
case '慢病人员':
_obj.healthStatus.push('CHRONIC_DISEASE_F');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '老年人':
case '老年人':
_obj.attentionCrowds.push('OLD_PEOPLE_FLAG');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
case '特扶人员':
case '特扶人员':
_obj.attentionCrowds.push('SPECIAL_SUPPORT_F');
_obj.integrityScoreFrom = parseInt(0)
_obj.integrityScoreTo = parseInt(60)
this.getTableData(_obj);
break;
default:
// categoryKey
if (Array.isArray(categoryKey) && categoryKey.length) {
@ -955,11 +995,12 @@ export default {
};
const { data, code, msg } = await requestPost(url, parm);
if (code === 0) {
console.log("let meeased", meeased)
this.showCheckPassword = false;
this.$router.push({
name: "edit-resi",
query: { id: this.editUserId },
params: { idNum: data.idNum, mobile: data.mobile, name: data.name },
params: { idNum: data.idNum, mobile: data.mobile, name: data.name, nationality: data.nationality },
});
this.checkPasswordFrom.password = "";
} else {

310
src/views/modules/home/index.vue

@ -50,27 +50,27 @@
</div>
</div>
<div class="boxss">
<div style="margin-top: 10px;">
<div style="margin-top: 10px;" @click="jumpToHouse()">
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.homeCount }}</span>
<br>
<span style="color: #858585; font-size: 12px;">房屋总数</span>
</div>
</div>
<div class="boxss">
<div class="boxss" @click="jumpToHouse('zizhuM')">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.selfStay }}</span>
<br>
<span style="color: #858585; font-size: 12px;">自住房屋</span>
</div>
</div>
<div class="boxss">
<div class="boxss" @click="jumpToHouse('chuzuM')">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.rentOut }}</span>
<br>
<span style="color: #858585; font-size: 12px;">出租房屋</span>
</div>
</div>
<div class="boxss">
<div class="boxss" @click="jumpToHouse('xianzhiM')">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.vacantHouse }}</span>
<br>
@ -254,12 +254,12 @@
</thead>
<tbody>
<tr v-for="(item, index) in tableList" :key="item.code">
<td style="opacity: 0.5;">{{ item.shenfen }}</td>
<td style="color: #2683DB;">{{ item.zongNumber }}</td>
<td style="color: red;">{{ item.noAllNuber }}</td>
<td class="special-header">{{ item.fuzeren }}</td>
<td class="special-header">{{ item.zhouqi }}</td>
<td class="special-header">{{ item.addNum }}</td>
<td style="opacity: 0.5;">{{ item.residentCategoryName }}</td>
<td style="color: #2683DB;">{{ item.total }}</td>
<td style="color: red;">{{ item.nonIntegratedNum }}</td>
<td class="special-header">{{ item.updatePeriodName }}</td>
<td class="special-header">{{ item.updatedTime }}</td>
<td class="special-header">{{ item.updateResiNum }}</td>
</tr>
</tbody>
</table>
@ -302,16 +302,16 @@ export default {
list: [],
},
tableList: [
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '保障房人员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
// { shenfen: '', zongNumber: '10', noAllNuber: '1', fuzeren: '', zhouqi: '1', addNum: '1' },
],
znycCategory: {
loading: false,
@ -333,14 +333,11 @@ export default {
floatingResiCount: "",
permanentResiCount: "",
},
noticeData: [],
activeName: "resi",
numberLiM: [{ mer: 820, bilv: 0.45 }, { mer: 724, bilv: 0.56 }, { mer: 718, bilv: 0.54 }, { mer: 725, bilv: 0.69 }, { mer: 727, bilv: 0.36 }, { mer: 728, bilv: 0.64 }, { mer: 725, bilv: 0.78 }, { mer: 750, bilv: 0.25 }, { mer: 760, bilv: 0.96 }, { mer: 700, bilv: 0.38 }, { mer: 710, bilv: 0.62 }],
myChart: {},
agencyLevel: '',
xData: ["党员", "残疾人", "退役军人", "失业人员", "低保人员", "保障房人员", "特殊人员", "大病人员", "慢病人员", "特扶人员", "老年人"],
xData: ["党员", "残疾人", "退役军人", "失业人员", "低保人员", "保障房人员", "特殊人员", "慢病人员", "老年人"],
yData: [
// {
// value: 720,
@ -394,15 +391,15 @@ export default {
immediate: true,
},
},
mounted() {
this.ehso();
created() {
},
mounted() {
// this.ehso();
//
this.initEcharts();
this.getApiData();
this.$nextTick(() => {
@ -413,13 +410,13 @@ export default {
"dynamicMenuRoutes----------------------------",
this.$store.state.sidebarMenuList
);
},
methods: {
initChart() {
this.$http.get("/governance/satisfactionOverview/notSatisfactionTrend").then(({ data: { data } }) => {
this.myChart = echarts.init(document.getElementById("my_chart"));
console.log("123123", data.series)
// console.log("123123", data.series)
let series = data.series.map((item, index) => {
return {
...item,
@ -470,7 +467,17 @@ export default {
this.myChart.setOption(option, true);
window.addEventListener("resize", this.handleWindowResize);
});
this.borderH();
},
borderH() {
this.$http.post("/actual/base/residentCategoryUpdateInfo/getUpdateAndintegrityList").then(({ data: { data } }) => {
this.tableList = data
console.log("请求成功:", data);
});
},
handleWindowResize() {
if (this.myChart) {
this.myChart.resize();
@ -512,6 +519,16 @@ export default {
path: "/main/home-notice",
});
},
//
jumpToHouse(e){
console.log("看看存进得什么",e)
this.$router.push({
path: "/main/base-community-community",
query: {
param1: e,
}
});
},
toSearchPage(type, searchKey) {
this.$router.push({
@ -659,127 +676,140 @@ export default {
},
initEcharts() {
//
const option = {
xAxis: {
type: 'category',
axisLabel: {
// rotate: -45,
textStyle: {
fontSize: 10
}
},
axisTick: {
show: false, // x线
},
data: this.xData,
this.$http.get("/actual/base/residentIntegrity/resiCategoryStats/byOrg/query4Org").then(({ data: { data } }) => {
this.myChart = echarts.init(document.getElementById("my_chart"));
},
yAxis: {},
graphic: [{ //
type: 'group',
left: 'center',
bottom: 20,
z: 100,
children: [
{
type: 'rect',
left: 0,
// top: 'middle',
shape: {
width: 30,
height: 6,
},
style: {
fill: '#0056D6', //
this.yData = data.categoryStatsDatas.map(item => {
const total = Number(item.total);
const nonIntegratedNum = Number(item.nonIntegratedNum);
let ratio = '';
if (total !== 0) {
ratio = 1 - (nonIntegratedNum / total);
}
// console.log("nonIntegratedNum", nonIntegratedNum)
// console.log("total", total)
return {
value: total,
itemStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{ offset: 0, color: '#2D7DF2' },
{ offset: ratio, color: '#7EB1FE' },
{ offset: ratio, color: '#EFB632' },
{ offset: 1, color: '#FDD77D' }
],
global: false
},
shadowColor: "#91cc75",
borderType: "dashed",
// opacity: 0.5
}
};
});
//
const option = {
xAxis: {
type: 'category',
axisLabel: {
// rotate: -45,
textStyle: {
fontSize: 10
}
},
{
type: 'text',
left: 35,
// top: 'middle',
style: {
text: '分类居民总数',
fill: '#333',
fontSize: 12,
// fontWeight: 'bold',
},
axisTick: {
show: false, // x线
},
{
type: 'rect',
left: 130,
// top: 'middle',
shape: {
width: 30,
height: 6,
data: this.xData,
},
yAxis: {},
graphic: [{ //
type: 'group',
left: 'center',
bottom: 20,
z: 100,
children: [
{
type: 'rect',
left: 0,
// top: 'middle',
shape: {
width: 30,
height: 6,
},
style: {
fill: '#0056D6', //
},
},
style: {
fill: '#FFDB84 ', //
{
type: 'text',
left: 35,
// top: 'middle',
style: {
text: '分类居民总数',
fill: '#333',
fontSize: 12,
// fontWeight: 'bold',
},
},
},
{
type: 'text',
left: 170,
// top: 'middle',
style: {
text: '分类信息不完整数',
fill: '#333',
fontSize: 12,
// fontWeight: 'bold',
{
type: 'rect',
left: 130,
// top: 'middle',
shape: {
width: 30,
height: 6,
},
style: {
fill: '#FFDB84 ', //
},
},
{
type: 'text',
left: 170,
// top: 'middle',
style: {
text: '分类信息不完整数',
fill: '#333',
fontSize: 12,
// fontWeight: 'bold',
},
},
],
}],
series: [
{
type: "bar",
barWidth: '30%',
barGap: '20%',
data: this.yData,
},
],
}],
series: [
{
type: "bar",
barWidth: '30%',
barGap: '20%',
data: this.yData,
},
],
};
const myChart = echarts.init(document.getElementById("mychart"));
myChart.setOption(option);
//
window.addEventListener("resize", () => {
myChart.resize();
});
myChart.on("click", (e) => {
console.log("123123123112", e.name);
this.$router.push({
path: "/main/base-resi",
query: {
param1: e.name,
}
};
const myChart = echarts.init(document.getElementById("mychart"));
myChart.setOption(option);
//
window.addEventListener("resize", () => {
myChart.resize();
});
myChart.on("click", (e) => {
console.log("123123123112", e.name);
this.$router.push({
path: "/main/base-resi",
query: {
param1: e.name,
}
});
});
});
},
ehso() {
this.yData = this.numberLiM.map(item => ({
value: item.mer,
itemStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{ offset: 0, color: '#2D7DF2' },
{ offset: item.bilv, color: '#7EB1FE' },
{ offset: item.bilv, color: '#EFB632' },
{ offset: 1, color: '#FDD77D' }
],
global: false
},
shadowColor: "#91cc75",
borderType: "dashed",
// opacity: 0.5
}
}));
},
},
};

Loading…
Cancel
Save