This commit is contained in:
姚宇浩 2024-08-08 14:21:50 +08:00
parent 0285d753ab
commit 13f768e381
9 changed files with 5308 additions and 5217 deletions

View File

@ -53,7 +53,7 @@ const router = createRouter({
{ {
name: '首页地图', name: '首页地图',
path: '/home/index/map', path: '/home/index/map',
component: () => import('../view/sy_mapcopy.vue'), component: () => import('../view/sy_map.vue'),
}, },
{ {
name: '首页表格', name: '首页表格',

View File

@ -72,7 +72,7 @@
<div <div
class="minPieImg" class="minPieImg"
style="letter-spacing: 1px" style="letter-spacing: 1px"
@click="showEchartTy('集聚类型分布')" @click="showEchartTy('集聚数据总览')"
> >
集聚类型分布 集聚类型分布
</div> </div>
@ -90,7 +90,7 @@
<div class="minPieImg2">就业培训</div> <div class="minPieImg2">就业培训</div>
<jypx v-if="showEchart"></jypx> <jypx v-if="showEchart"></jypx>
<div class="jypx_right"> <div class="jypx_right">
<div class="jypx_right_item" v-for="item in jypxList"> <div class="jypx_right_item" v-for="item in jypxList" @click="showPx(item.name)">
<img :src="item.img" alt="" /> <img :src="item.img" alt="" />
<div class="jypx_right_item_right"> <div class="jypx_right_item_right">
<div class="jypx_name">{{ item.name }}</div> <div class="jypx_name">{{ item.name }}</div>
@ -183,7 +183,7 @@
<DialogElderly <DialogElderly
:dialogShowElderly="dialogShowElderly" :dialogShowElderly="dialogShowElderly"
:dataElderly="dataElderly" :dataElderly="dataElderly"
@close="close1" @close="close"
> >
</DialogElderly> </DialogElderly>
<DialogMap :dialogShowMap="dialogShowMap" :title="mapTitle" @close="close"> <DialogMap :dialogShowMap="dialogShowMap" :title="mapTitle" @close="close">
@ -191,20 +191,20 @@
<DialogEcTy <DialogEcTy
:dialogShowEc="dialogShowEcTy" :dialogShowEc="dialogShowEcTy"
:title="dataEc.title" :title="dataEc.title"
:showXq='false'
@close="close" @close="close"
> >
<template #echart> <template #echart>
<dialog_jjlxfb <dialog_jjlxfb
:list="nlfb.list1"
:list2="nlfb.list2" @shuju="jsSj"
:list3="nlfb.list3"
:year="nlfb.year"
></dialog_jjlxfb> ></dialog_jjlxfb>
</template> </template>
</DialogEcTy> </DialogEcTy>
<DialogEcTy <DialogEcTy
:dialogShowEc="dialogShowEcTy1" :dialogShowEc="dialogShowEcTy1"
:title="dataEc.title" :title="dataEc.title"
:showXq='true'
@close="close" @close="close"
> >
<template #echart> <template #echart>
@ -216,6 +216,17 @@
></dialog_nlfb> ></dialog_nlfb>
</template> </template>
</DialogEcTy> </DialogEcTy>
<Dialog
:dialogShow="dialogShow"
:columns="tableType.columns"
:title="tableType.title"
:tableData="tableType.data"
:pagination="pagination"
:showXq='false'
@close="closeJj"
@handle="handlePagination"
>
</Dialog>
</div> </div>
</template> </template>
@ -228,6 +239,7 @@ import {
onBeforeUnmount, onBeforeUnmount,
computed, computed,
} from "vue"; } from "vue";
import Dialog from "./dialog/dialog.vue";
import DialogEnrol from "./dialog/dialogEnrol.vue"; import DialogEnrol from "./dialog/dialogEnrol.vue";
import DialogElderly from "./dialog/diaLogElderlyData.vue"; import DialogElderly from "./dialog/diaLogElderlyData.vue";
import DialogMap from "./dialog/dialogMap.vue"; import DialogMap from "./dialog/dialogMap.vue";
@ -253,7 +265,6 @@ import ViewDataimg2 from "@/assets/images/sjfx/sjfx2.png";
import ViewDataimg3 from "@/assets/images/sjfx/sjfx3.png"; import ViewDataimg3 from "@/assets/images/sjfx/sjfx3.png";
import jypx1 from "@/assets/images/sjfx/pxrc.png"; import jypx1 from "@/assets/images/sjfx/pxrc.png";
import jypx2 from "@/assets/images/sjfx/gygws.png"; import jypx2 from "@/assets/images/sjfx/gygws.png";
const showR = ref(false); //loading const showR = ref(false); //loading
// //
const dialogShowEnrol = ref(false); const dialogShowEnrol = ref(false);
@ -261,6 +272,7 @@ const dialogShowElderly = ref(false);
const dialogShowMap = ref(false); const dialogShowMap = ref(false);
const dialogShowEcTy = ref(false); const dialogShowEcTy = ref(false);
const dialogShowEcTy1 = ref(false); const dialogShowEcTy1 = ref(false);
const dialogShow = ref(false);
const mapTitle = ref(""); const mapTitle = ref("");
const dataTab = reactive({ const dataTab = reactive({
url: "", url: "",
@ -507,11 +519,55 @@ const dataEc = reactive({
title: "", title: "",
}); });
const nlfb = reactive({ const nlfb = reactive({
year: [2022, 2023, 2024, 2025, 2026,2027], year: [2022, 2023, 2024, 2025, 2026, 2027],
list1: [709, 3424, 2064, 0, 0,0], list1: [709, 3424, 2064, 2980, 1790, 3100],
list2: [1548, 5895, 2753, 0, 0,0], list2: [1548, 5895, 2753, 4602, 2030, 3900],
list3: [180, 930, 632, 0, 0,0], list3: [180, 930, 632, 780, 520, 600],
}); });
//column
const columns = reactive({
聚集数据: {
column: [
{
label: "姓名",
property: "name",
},
{
label: "出生日期",
property: "date",
},
{
label: "性别",
property: "sex",
},
{
label: "迁出地址",
property: "qcaddress",
},
{
label: "地址",
property: "address",
},
],
},
培训: {
column: [
{
label: "姓名",
property: "name",
},
{
label: "培训机构名称",
property: "mc",
},
{
label: "培训项目",
property: "xm",
},
],
},
});
const showEnrol = () => { const showEnrol = () => {
dialogShowEnrol.value = true; dialogShowEnrol.value = true;
}; };
@ -520,13 +576,15 @@ const close = () => {
dialogShowMap.value = false; dialogShowMap.value = false;
dialogShowEcTy.value = false; dialogShowEcTy.value = false;
dialogShowEcTy1.value = false; dialogShowEcTy1.value = false;
dialogShowElderly.value = false;
}; };
const closeJj=()=>{
dialogShow.value = false;
pagination.currentPage=1;
}
const showEnrol1 = () => { const showEnrol1 = () => {
dialogShowElderly.value = true; dialogShowElderly.value = true;
}; };
const close1 = () => {
dialogShowElderly.value = false;
};
const showEchartTy = (name) => { const showEchartTy = (name) => {
dataEc.title = name; dataEc.title = name;
if (name == "年龄分布") { if (name == "年龄分布") {
@ -535,6 +593,43 @@ const showEchartTy = (name) => {
dialogShowEcTy.value = true; dialogShowEcTy.value = true;
} }
}; };
//----------------
const tableType = reactive({
url: "",
title: "",
columns: [],
data: [],
});
//
const jsSj = (name, index) => {
if (index == 0 || index == 2) {
tableType.title = `${name}转入人数`;
} else {
tableType.title = `${name}转出人数`;
}
tableType.columns=columns["聚集数据"].column;
dialogShow.value = true;
};
//+
const showPx =(name)=>{
if(name=='培训人次'){
tableType.title = `培训详情`;
tableType.columns=columns["培训"].column;
dialogShow.value = true;
}else{
}
}
//
const pagination = reactive({
total: 100,
pageSize: 10,
currentPage: 1,
});
const handlePagination = (current) => {
pagination.currentPage = current;
};
//----------------
// //
const tab_choose = ref([ const tab_choose = ref([
{ {
@ -1331,6 +1426,7 @@ onBeforeUnmount(() => {
flex-direction: column; flex-direction: column;
margin-left: 35px; margin-left: 35px;
.jypx_right_item { .jypx_right_item {
cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
img { img {

View File

@ -10,11 +10,7 @@
> >
<template #header="{ close, titleId, titleClass }"> <template #header="{ close, titleId, titleClass }">
<div class="my-header"> <div class="my-header">
<el-icon <el-icon size="26" color="#fff" @click="closeDialog">
size="26"
color="#fff"
@click="closeDialog"
>
<CircleCloseFilled /> <CircleCloseFilled />
</el-icon> </el-icon>
</div> </div>
@ -29,7 +25,8 @@
alt="" alt=""
style="margin-right: 10px" style="margin-right: 10px"
/> />
<div class="name">{{ title }}详情</div> <div class="name" v-if="showXq">{{ title }}详情</div>
<div class="name" v-else>{{ title }}</div>
<img <img
src="@/assets/images/table_r.png" src="@/assets/images/table_r.png"
alt="" alt=""
@ -142,6 +139,12 @@ const props = defineProps({
type: Object, type: Object,
required: true, required: true,
}, },
showXq: {
type: Boolean,
default: () => {
return true;
},
},
}); });
const emit = defineEmits(["close", "handle"]); const emit = defineEmits(["close", "handle"]);

View File

@ -11,11 +11,7 @@
> >
<template #header="{ close, titleId, titleClass }"> <template #header="{ close, titleId, titleClass }">
<div class="my-header"> <div class="my-header">
<el-icon <el-icon size="26" color="#fff" @click="closeDialog">
size="26"
color="#fff"
@click="closeDialog"
>
<CircleCloseFilled /> <CircleCloseFilled />
</el-icon> </el-icon>
</div> </div>
@ -30,7 +26,8 @@
alt="" alt=""
style="margin-right: 10px" style="margin-right: 10px"
/> />
<div class="name">{{ title }}详情</div> <div class="name" v-if="showXq">{{ title }}详情</div>
<div class="name" v-else>{{ title }}</div>
<img <img
src="@/assets/images/table_r.png" src="@/assets/images/table_r.png"
alt="" alt=""
@ -45,7 +42,7 @@
</div> </div>
</div> </div>
<div style="width: 100%; height: 600px"> <div style="width: 100%; height: 600px">
<slot name="echart"></slot> <slot name="echart"></slot>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -77,6 +74,12 @@ const props = defineProps({
return ""; return "";
}, },
}, },
showXq: {
type: Boolean,
default: () => {
return true;
},
},
}); });
const emit = defineEmits(["close"]); const emit = defineEmits(["close"]);
@ -107,7 +110,6 @@ const closeDialog = () => {
dialogShowEc.value = false; dialogShowEc.value = false;
emit("close"); emit("close");
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
:deep(.el-dialog) { :deep(.el-dialog) {

View File

@ -683,7 +683,7 @@ const setChart = () => {
var myChart = echarts.init(chart.value); var myChart = echarts.init(chart.value);
myChart.setOption(data.option); myChart.setOption(data.option);
myChart.on("click", function (params) { myChart.on("click", function (params) {
emit("shuju", params.name); emit("shuju", params.name,params.seriesIndex);
}); });
}; };
const getMaxCeilingValue = (arr) => { const getMaxCeilingValue = (arr) => {

View File

@ -60,7 +60,7 @@ const getOption = () => {
grid: { grid: {
top: "15%", top: "15%",
left: "1%", left: "1%",
right: "10%", right: "3%",
bottom: "3%", bottom: "3%",
containLabel: true, containLabel: true,
}, },

View File

@ -594,16 +594,6 @@
@close="close" @close="close"
@handle="handlePagination" @handle="handlePagination"
> >
<!-- <template #pxkssj="{ currentCol, currentData }">
<div>{{ currentData.pxkssj }}/{{ currentData.pxjssj }}</div>
</template> -->
<!-- <template #pxjssj="{ currentCol, currentData }">
<div>
{{ currentData.pxjssj.slice(0, 4) }}-{{
currentData.pxjssj.slice(4, 6)
}}-{{ currentData.pxjssj.slice(6, 8) }}
</div>
</template> -->
</Dialog> </Dialog>
<DialogEc <DialogEc
:dialogShowEc="dialogShowEc" :dialogShowEc="dialogShowEc"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff