城阳pc工作端前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
4.7 KiB

2 years ago
<template>
2 years ago
<div class="m-subbox m-jdwgy">
<div class="table">
<el-table :data="list" v-if="currentLevelData.orgLevel != 'grid'" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.3)" max-height="190px" height="190px">
2 years ago
<el-table-column label="序号" type="index" width="80" />
<el-table-column prop="orgName" width="120" label="组织名称" />
2 years ago
<el-table-column prop="name" width="120" label="姓名" />
<el-table-column prop="gender" width="120" label="性别">
<template slot-scope="scope">
{{ genders[scope.row.gender] }}
</template>
</el-table-column>
<el-table-column prop="age" width="120" label="年龄" />
<el-table-column prop="mobile" label="电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column prop="operate" width="80" label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small"> 查看 </el-button>
</template>
</el-table-column>
</el-table>
<el-table v-if="currentLevelData.orgLevel == 'grid'" :data="wglist" v-loading="loading" max-height="190px" height="190px">
<el-table-column label="序号" type="index" width="50" />
<el-table-column prop="name" width="140" label="组织名称" />
<el-table-column prop="type" width="90" label="类型">
<template slot-scope="scope">
<span :style="'color:' + scope.row.type">{{ types[scope.row.type] }}</span>
</template>
</el-table-column>
<el-table-column prop="houseNum" width="90" label="户数" />
<el-table-column prop="demandNum" width="90" label="需求" />
<el-table-column prop="eventNum" width="90" label="事件" />
<el-table-column prop="importanceNum" label="重点人群" />
<el-table-column prop="safetyNum" label="安全隐患" />
<el-table-column prop="operate" width="80" label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small"> 查看 </el-button>
</template>
</el-table-column>
2 years ago
</el-table>
</div>
</div>
</template>
<script>
export default {
name: "jdwgy",
props: {
peopleType: {
type: String,
default: "staffAgency",
},
currentLevelData: {
type: Object,
default: {},
},
},
2 years ago
data() {
return {
list: [],
wglist: [],
genders: ["未知", "男", "女"],
types: { red: "红", yellow: "黄", green: "绿色" },
chooseName: {},
loading: false,
2 years ago
};
},
watch: {
peopleType(val) {
this.getData(val, this.currentLevelData.orgLevel, this.currentLevelData.orgId);
},
currentLevelData(val) {
if (val.orgId) {
this.getData(this.peopleType, val.orgLevel, val.orgId);
}
},
},
mounted() {
if (this.currentLevelData.orgId) {
this.getData(this.peopleType, this.currentLevelData.orgLevel, this.currentLevelData.orgId);
}
},
methods: {
getData(peopleType, level = "", orgId = "") {
this.loading = true;
if (level == "grid") {
this.$http.get("/actual/base/streetOverview/queryPersonnelGridGroup?personnelType=" + peopleType + "&level=" + level + "&orgId=" + orgId).then(({ data: { data } }) => {
this.loading = false;
this.wglist = data;
this.$emit(
"setPoint",
data.filter((item) => item.longitude && item.latitude)
);
});
} else {
this.$http.get("/actual/base/streetOverview/queryPersonnelGroup?level=" + level + "&orgId=" + orgId + "&personnelType=" + peopleType).then(({ data: { data } }) => {
this.loading = false;
this.list = data.personnelInfoVOList;
this.$emit("setNum", data.orgPersonnelVOList);
});
}
},
handleClick(item) {
if (this.currentLevelData.orgLevel == "grid") {
this.$router.push({
path: "/homeDetails/index",
query: {
id: item.id,
},
});
} else {
this.$router.push({
path: "/dataBoard/overview/resident",
query: {
user_id: item.id,
},
});
}
},
},
2 years ago
};
</script>
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>
2 years ago
<style lang="scss" src="@/assets/scss/dataBoard/table.scss" scoped></style>
<style lang="scss" scoped>
/deep/.table {
.el-table {
td {
padding: 0 !important;
}
th {
padding: 6px 0 4px !important;
}
}
}
</style>