Merge branch 'main' of https://git.cityme.com.cn/xiangshan/ggfwjsc
This commit is contained in:
commit
a68e7afb22
|
@ -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: '首页表格',
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"]);
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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) => {
|
||||||
|
|
|
@ -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,
|
||||||
},
|
},
|
||||||
|
@ -120,6 +120,8 @@ const getOption = () => {
|
||||||
show: true,
|
show: true,
|
||||||
color: "#ffffff",
|
color: "#ffffff",
|
||||||
position: "top",
|
position: "top",
|
||||||
|
fontSize: 16,
|
||||||
|
|
||||||
formatter: function (data) {
|
formatter: function (data) {
|
||||||
return data.value;
|
return data.value;
|
||||||
},
|
},
|
||||||
|
@ -168,6 +170,7 @@ const getOption = () => {
|
||||||
show: true,
|
show: true,
|
||||||
color: "#ffffff",
|
color: "#ffffff",
|
||||||
position: "top",
|
position: "top",
|
||||||
|
fontSize: 16,
|
||||||
formatter: function (data) {
|
formatter: function (data) {
|
||||||
return data.value;
|
return data.value;
|
||||||
},
|
},
|
||||||
|
@ -216,6 +219,7 @@ const getOption = () => {
|
||||||
show: true,
|
show: true,
|
||||||
color: "#ffffff",
|
color: "#ffffff",
|
||||||
position: "top",
|
position: "top",
|
||||||
|
fontSize: 16,
|
||||||
formatter: function (data) {
|
formatter: function (data) {
|
||||||
return data.value;
|
return data.value;
|
||||||
},
|
},
|
||||||
|
|
|
@ -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"
|
||||||
|
|
5184
src/view/sy_map.vue
5184
src/view/sy_map.vue
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -341,7 +341,7 @@ const data = reactive({
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2",
|
||||||
name: "法律援助服务",
|
name: "公共法律服务",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3",
|
||||||
|
@ -375,7 +375,7 @@ const data = reactive({
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "9",
|
id: "9",
|
||||||
name: "体有所育",
|
name: "体有所健",
|
||||||
img: icon10,
|
img: icon10,
|
||||||
visible: false,
|
visible: false,
|
||||||
son: [
|
son: [
|
||||||
|
|
Loading…
Reference in New Issue