add:新增功能
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 916 B |
After Width: | Height: | Size: 709 B |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 3.9 KiB |
|
@ -2,7 +2,7 @@ import axios from "axios";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import tools from "@/utils/tools";
|
import tools from "@/utils/tools";
|
||||||
import router from "../router";
|
import router from "../router";
|
||||||
axios.defaults.baseURL = 'https://jzzf.longyou.gov.cn:998/'
|
// axios.defaults.baseURL = 'https://jzzf.longyou.gov.cn:998/'
|
||||||
|
|
||||||
axios.defaults.timeout = 120000;
|
axios.defaults.timeout = 120000;
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
:show-close="false"
|
:show-close="false"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:close-on-press-escape="false"
|
:close-on-press-escape="false"
|
||||||
|
@close="closeDialog"
|
||||||
>
|
>
|
||||||
<template #header="{ close, titleId, titleClass }">
|
<template #header="{ close, titleId, titleClass }">
|
||||||
<div class="my-header">
|
<div class="my-header">
|
||||||
|
@ -22,20 +23,17 @@
|
||||||
<img
|
<img
|
||||||
src="@/assets/images/table_l.png"
|
src="@/assets/images/table_l.png"
|
||||||
alt=""
|
alt=""
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px" />
|
||||||
/>
|
|
||||||
<div class="name">{{ data.title }}</div>
|
<div class="name">{{ data.title }}</div>
|
||||||
<img
|
<img
|
||||||
src="@/assets/images/table_r.png"
|
src="@/assets/images/table_r.png"
|
||||||
alt=""
|
alt=""
|
||||||
style="margin-left: 10px"
|
style="margin-left: 10px" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<img
|
<img
|
||||||
class="title_botton"
|
class="title_botton"
|
||||||
src="@/assets/images/table_c.png"
|
src="@/assets/images/table_c.png"
|
||||||
alt=""
|
alt="" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
@ -46,15 +44,13 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<video
|
<video
|
||||||
id="videoPlayer"
|
id="videoPlayer"
|
||||||
class="video-js vjs-default-skin"
|
class="video-js vjs-default-skin"
|
||||||
controls
|
controls
|
||||||
playsinline
|
playsinline
|
||||||
autoplay="autoplay"
|
autoplay="autoplay">
|
||||||
>
|
|
||||||
<source :src="attachmentLink" type="application/x-mpegURL" />
|
<source :src="attachmentLink" type="application/x-mpegURL" />
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
|
@ -126,7 +122,9 @@ watch(
|
||||||
//当摄像头第二次打开时,要先创建dom
|
//当摄像头第二次打开时,要先创建dom
|
||||||
if (num.value) {
|
if (num.value) {
|
||||||
// console.log(22222, document.getElementById("videoBox"));
|
// console.log(22222, document.getElementById("videoBox"));
|
||||||
|
nextTick(() => {
|
||||||
insertVideo();
|
insertVideo();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
@ -0,0 +1,219 @@
|
||||||
|
<template>
|
||||||
|
<div class="dialogPage">
|
||||||
|
<el-dialog
|
||||||
|
v-model="show"
|
||||||
|
width="80vw"
|
||||||
|
:show-close="false"
|
||||||
|
center
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false">
|
||||||
|
<template #header="{}">
|
||||||
|
<div class="my-header">
|
||||||
|
<el-icon size="26" color="#fff" @click="onClose">
|
||||||
|
<CircleCloseFilled />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="tabelPart">
|
||||||
|
<div class="bo">
|
||||||
|
<div class="title">
|
||||||
|
<div class="title_top">
|
||||||
|
<img
|
||||||
|
src="@/assets/images/table_l.png"
|
||||||
|
alt=""
|
||||||
|
style="margin-right: 10px" />
|
||||||
|
<div class="name">{{ title }}</div>
|
||||||
|
<img
|
||||||
|
src="@/assets/images/table_r.png"
|
||||||
|
alt=""
|
||||||
|
style="margin-left: 10px" />
|
||||||
|
</div>
|
||||||
|
<img
|
||||||
|
class="title_botton"
|
||||||
|
src="@/assets/images/table_c.png"
|
||||||
|
alt="" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tabel-part-box">
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import { defineProps, computed } from "vue";
|
||||||
|
import { CircleCloseFilled } from "@element-plus/icons-vue";
|
||||||
|
const emit = defineEmits(["update:show"]);
|
||||||
|
const props = defineProps({
|
||||||
|
show: {
|
||||||
|
type: Boolean,
|
||||||
|
default: () => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: () => {
|
||||||
|
return "";
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const show = computed({
|
||||||
|
get() {
|
||||||
|
return props.show;
|
||||||
|
},
|
||||||
|
set(val) {
|
||||||
|
emit("update:show", val);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const onClose = () => {
|
||||||
|
show.value = false;
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
:deep(.el-dialog) {
|
||||||
|
--el-dialog-bg-color: none;
|
||||||
|
--el-dialog-width: 76% !important;
|
||||||
|
margin: 11vh auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-header {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabelPart {
|
||||||
|
padding: 16px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
background: linear-gradient(
|
||||||
|
270deg,
|
||||||
|
rgba(0, 77, 131, 0.69) 0%,
|
||||||
|
rgba(0, 51, 83, 0.77) 50%,
|
||||||
|
rgba(0, 77, 131, 0.74) 100%
|
||||||
|
),
|
||||||
|
radial-gradient(
|
||||||
|
66% 40% at 50% 0%,
|
||||||
|
rgba(1, 150, 243, 0.55) 0%,
|
||||||
|
rgba(0, 116, 255, 0) 100%
|
||||||
|
);
|
||||||
|
box-shadow: inset 0px 0px 56px 0px rgba(100, 191, 255, 0.5);
|
||||||
|
border: 2px solid;
|
||||||
|
border-image: linear-gradient(
|
||||||
|
180deg,
|
||||||
|
rgba(21, 150, 255, 1),
|
||||||
|
rgba(0, 157, 227, 0)
|
||||||
|
)
|
||||||
|
2 2;
|
||||||
|
|
||||||
|
:deep(.el-table) {
|
||||||
|
--el-table-bg-color: none;
|
||||||
|
--el-table-tr-bg-color: none;
|
||||||
|
--el-table-header-bg-color: none;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
--el-table-text-color: #fff;
|
||||||
|
--el-table-header-text-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
// :deep(.el-table th) {
|
||||||
|
// text-align: center;
|
||||||
|
// }
|
||||||
|
.tabel-part-box {
|
||||||
|
margin: 30px 50px 50px;
|
||||||
|
padding: 26px;
|
||||||
|
min-height: 300px;
|
||||||
|
max-height: 56vh;
|
||||||
|
background: rgba(70, 114, 171, 0.36);
|
||||||
|
color: #fff;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 1.6;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
overflow: auto;
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagePart {
|
||||||
|
height: 40px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
:deep(.el-pagination) {
|
||||||
|
--el-pagination-button-disabled-bg-color: none;
|
||||||
|
--el-pagination-bg-color: none;
|
||||||
|
--el-pagination-button-bg-color: none;
|
||||||
|
--el-pagination-button-color: #fff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-pagination button:disabled) {
|
||||||
|
background-color: rgba(0, 116, 255, 0) !important;
|
||||||
|
}
|
||||||
|
:deep(.el-pagination > .is-last) {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bo {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin: 0px auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
&_top {
|
||||||
|
display: flex;
|
||||||
|
align-items: end;
|
||||||
|
justify-content: center;
|
||||||
|
img {
|
||||||
|
height: 33px;
|
||||||
|
width: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
font-family: PangMenZhengDao, PangMenZhengDao;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 22px;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 27px;
|
||||||
|
text-align: center;
|
||||||
|
font-style: normal;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
background: linear-gradient(180deg, #ffffff 0%, #51ffef 100%);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
/*将设置的背景颜色限制在文字中*/
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
/*给文字设置成透明*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&_botton {
|
||||||
|
margin-top: 5px;
|
||||||
|
height: 19px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-table-font {
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
:deep(.el-table:not(.el-table--border) .el-table__cell) {
|
||||||
|
padding: 3px 0px;
|
||||||
|
}
|
||||||
|
:deep(.el-pagination) {
|
||||||
|
transform: scale(0.8);
|
||||||
|
}
|
||||||
|
:deep(.el-overlay-dialog) {
|
||||||
|
bottom: 0 !important;
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -40,6 +40,16 @@ import j8_map from "@/assets/images/map/j8_map.png";
|
||||||
import j9_map from "@/assets/images/map/j9_map.png";
|
import j9_map from "@/assets/images/map/j9_map.png";
|
||||||
import j10_map from "@/assets/images/map/j10_map.png";
|
import j10_map from "@/assets/images/map/j10_map.png";
|
||||||
import j11_map from "@/assets/images/map/j11_map.png";
|
import j11_map from "@/assets/images/map/j11_map.png";
|
||||||
|
import xhyld from "@/assets/images/map/xhyld.png"
|
||||||
|
import gxjs from "@/assets/images/map/gxjs.png"
|
||||||
|
import gxst from "@/assets/images/map/gxst.png"
|
||||||
|
import js_grade_school from "@/assets/images/map/js_grade_school.png"
|
||||||
|
import js_high_school from "@/assets/images/map/js_high_school.png"
|
||||||
|
import js_junior_high from "@/assets/images/map/js_junior_high.png"
|
||||||
|
import js_kindergarten from "@/assets/images/map/js_kindergarten.png"
|
||||||
|
import js_gx from "@/assets/images/map/js_gx.png"
|
||||||
|
import zcd_map from "@/assets/images/map/zcd_map.png"
|
||||||
|
import st_map from "@/assets/images/map/st_map.png"
|
||||||
export {
|
export {
|
||||||
zcd,
|
zcd,
|
||||||
dqfwzx,
|
dqfwzx,
|
||||||
|
@ -57,6 +67,9 @@ export {
|
||||||
whlt,
|
whlt,
|
||||||
njsw,
|
njsw,
|
||||||
xxg,
|
xxg,
|
||||||
|
xhyld,
|
||||||
|
gxjs,
|
||||||
|
gxst,
|
||||||
j0,
|
j0,
|
||||||
j1,
|
j1,
|
||||||
j2,
|
j2,
|
||||||
|
@ -83,4 +96,9 @@ export {
|
||||||
xqwy_map,
|
xqwy_map,
|
||||||
cjrzj_map,
|
cjrzj_map,
|
||||||
bmfwzx_map,
|
bmfwzx_map,
|
||||||
|
js_grade_school,
|
||||||
|
js_high_school,
|
||||||
|
js_junior_high,
|
||||||
|
js_kindergarten, js_gx, zcd_map,
|
||||||
|
st_map
|
||||||
}
|
}
|
|
@ -18,8 +18,7 @@
|
||||||
v-for="(item, index) in personTotal.slice(0, 1)"
|
v-for="(item, index) in personTotal.slice(0, 1)"
|
||||||
:class="{ choose: item.age == choose.person }"
|
:class="{ choose: item.age == choose.person }"
|
||||||
@click="buten(item)"
|
@click="buten(item)"
|
||||||
:key="index"
|
:key="index">
|
||||||
>
|
|
||||||
<div class="content_item_name">{{ ageLess0(item.ages) }}</div>
|
<div class="content_item_name">{{ ageLess0(item.ages) }}</div>
|
||||||
<div class="content_item_value">{{ item.rksl }}人</div>
|
<div class="content_item_value">{{ item.rksl }}人</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -27,6 +26,7 @@
|
||||||
<div class="progress-wrapper">
|
<div class="progress-wrapper">
|
||||||
<div
|
<div
|
||||||
v-for="(item, index) in PopulationRatio"
|
v-for="(item, index) in PopulationRatio"
|
||||||
|
:key="index"
|
||||||
:class="[
|
:class="[
|
||||||
'progress-container',
|
'progress-container',
|
||||||
{
|
{
|
||||||
|
@ -37,8 +37,7 @@
|
||||||
:style="{
|
:style="{
|
||||||
width: item.progress + '%',
|
width: item.progress + '%',
|
||||||
backgroundColor: item.bgColor,
|
backgroundColor: item.bgColor,
|
||||||
}"
|
}">
|
||||||
>
|
|
||||||
<span
|
<span
|
||||||
:style="{ color: item.bgColor }"
|
:style="{ color: item.bgColor }"
|
||||||
:class="[
|
:class="[
|
||||||
|
@ -63,12 +62,10 @@
|
||||||
class="age-line"
|
class="age-line"
|
||||||
:style="{
|
:style="{
|
||||||
backgroundColor: item.bgColor,
|
backgroundColor: item.bgColor,
|
||||||
}"
|
}"></div>
|
||||||
></div>
|
|
||||||
<div
|
<div
|
||||||
class="dot"
|
class="dot"
|
||||||
:style="{ backgroundColor: item.bgColor }"
|
:style="{ backgroundColor: item.bgColor }"></div>
|
||||||
></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -78,8 +75,7 @@
|
||||||
v-for="(item, index) in personTotal.slice(1)"
|
v-for="(item, index) in personTotal.slice(1)"
|
||||||
:class="{ choose: item.age == choose.person }"
|
:class="{ choose: item.age == choose.person }"
|
||||||
@click="buten(item)"
|
@click="buten(item)"
|
||||||
:key="index"
|
:key="index">
|
||||||
>
|
|
||||||
<div class="content_item_name">{{ ageLess0(item.ages) }}</div>
|
<div class="content_item_name">{{ ageLess0(item.ages) }}</div>
|
||||||
<div class="content_item_value">
|
<div class="content_item_value">
|
||||||
{{ item.rksl }}人
|
{{ item.rksl }}人
|
||||||
|
@ -103,8 +99,7 @@
|
||||||
Tsactive: !item.click,
|
Tsactive: !item.click,
|
||||||
}"
|
}"
|
||||||
@click="item.click ? buten2(item) : ''"
|
@click="item.click ? buten2(item) : ''"
|
||||||
:key="index"
|
:key="index">
|
||||||
>
|
|
||||||
<div class="content_item_name">{{ item.name }}</div>
|
<div class="content_item_name">{{ item.name }}</div>
|
||||||
<div class="content_item_value">{{ item.rksl }}</div>
|
<div class="content_item_value">{{ item.rksl }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -126,8 +121,7 @@
|
||||||
Tsactive: !item.click,
|
Tsactive: !item.click,
|
||||||
}"
|
}"
|
||||||
@click="item.click ? changeys(item.name, item.img_width) : ''"
|
@click="item.click ? changeys(item.name, item.img_width) : ''"
|
||||||
:key="index"
|
:key="index">
|
||||||
>
|
|
||||||
<img
|
<img
|
||||||
:src="item.img"
|
:src="item.img"
|
||||||
class="zyys_content_item_left"
|
class="zyys_content_item_left"
|
||||||
|
@ -136,8 +130,7 @@
|
||||||
item.name == '菜市场' ||
|
item.name == '菜市场' ||
|
||||||
item.name == '停车场' ||
|
item.name == '停车场' ||
|
||||||
item.name == '文化广场',
|
item.name == '文化广场',
|
||||||
}"
|
}" />
|
||||||
/>
|
|
||||||
<div class="zyys_content_item_right">{{ item.name }}</div>
|
<div class="zyys_content_item_right">{{ item.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -152,16 +145,15 @@
|
||||||
<div
|
<div
|
||||||
class="jbggfwq_content_item"
|
class="jbggfwq_content_item"
|
||||||
v-for="(item, index) in jbfwqTotal"
|
v-for="(item, index) in jbfwqTotal"
|
||||||
:key="index"
|
:key="index">
|
||||||
>
|
|
||||||
<div class="jbggfwq_content_item_left">{{ item.name }}</div>
|
<div class="jbggfwq_content_item_left">{{ item.name }}</div>
|
||||||
<div class="jbggfwq_content_item_right">
|
<div class="jbggfwq_content_item_right">
|
||||||
<div
|
<div
|
||||||
class="jbggfwq_content_item_right_item"
|
class="jbggfwq_content_item_right_item"
|
||||||
v-for="itemm in item.child"
|
v-for="itemm in item.child"
|
||||||
|
:key="itemm.jc"
|
||||||
:class="{ choose: itemm.jc == choose.fwq }"
|
:class="{ choose: itemm.jc == choose.fwq }"
|
||||||
@click="changeFwq(itemm.jc, item.name, itemm.jc)"
|
@click="changeFwq(itemm.jc, item.name, itemm.jc)">
|
||||||
>
|
|
||||||
{{ itemm.jc }}
|
{{ itemm.jc }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -173,29 +165,25 @@
|
||||||
<div
|
<div
|
||||||
class="btnopen"
|
class="btnopen"
|
||||||
@click="nameEdit"
|
@click="nameEdit"
|
||||||
v-if="!add_mode && !edit_mode && !move_mode"
|
v-if="!add_mode && !edit_mode && !move_mode">
|
||||||
>
|
|
||||||
修改村名
|
修改村名
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="btnsave"
|
class="btnsave"
|
||||||
@click="xzEdit"
|
@click="xzEdit"
|
||||||
v-if="!add_mode && !edit_mode && !move_mode"
|
v-if="!add_mode && !edit_mode && !move_mode">
|
||||||
>
|
|
||||||
修改所属乡镇
|
修改所属乡镇
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="btnsave"
|
class="btnsave"
|
||||||
@click="centerEdit"
|
@click="centerEdit"
|
||||||
v-if="!add_mode && !edit_mode && !move_mode"
|
v-if="!add_mode && !edit_mode && !move_mode">
|
||||||
>
|
|
||||||
修改村社中心点
|
修改村社中心点
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="btnsave"
|
class="btnsave"
|
||||||
@click="addmode"
|
@click="addmode"
|
||||||
v-if="!edit_mode && !add_mode && !move_mode"
|
v-if="!edit_mode && !add_mode && !move_mode">
|
||||||
>
|
|
||||||
添加模式
|
添加模式
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex" v-if="add_mode">
|
<div style="display: flex" v-if="add_mode">
|
||||||
|
@ -208,8 +196,7 @@
|
||||||
<div
|
<div
|
||||||
class="btnsave"
|
class="btnsave"
|
||||||
@click="editmode"
|
@click="editmode"
|
||||||
v-if="!edit_mode && !add_mode && !move_mode"
|
v-if="!edit_mode && !add_mode && !move_mode">
|
||||||
>
|
|
||||||
编辑模式
|
编辑模式
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex" v-if="edit_mode">
|
<div style="display: flex" v-if="edit_mode">
|
||||||
|
@ -220,8 +207,7 @@
|
||||||
<div
|
<div
|
||||||
class="btnsave"
|
class="btnsave"
|
||||||
@click="movemode"
|
@click="movemode"
|
||||||
v-if="!edit_mode && !add_mode && !move_mode"
|
v-if="!edit_mode && !add_mode && !move_mode">
|
||||||
>
|
|
||||||
移动模式
|
移动模式
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex" v-if="move_mode">
|
<div style="display: flex" v-if="move_mode">
|
||||||
|
@ -233,23 +219,20 @@
|
||||||
<div
|
<div
|
||||||
class="btnsave"
|
class="btnsave"
|
||||||
v-if="!add_mode && !edit_mode && !move_mode"
|
v-if="!add_mode && !edit_mode && !move_mode"
|
||||||
@click="deleteCs"
|
@click="deleteCs">
|
||||||
>
|
|
||||||
删除地块
|
删除地块
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="btnclose"
|
class="btnclose"
|
||||||
@click="backEdit"
|
@click="backEdit"
|
||||||
v-if="!add_mode && !edit_mode && !move_mode"
|
v-if="!add_mode && !edit_mode && !move_mode">
|
||||||
>
|
|
||||||
退出
|
退出
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="btnBj"
|
class="btnBj"
|
||||||
:class="{ collapsed: isCollapsed }"
|
:class="{ collapsed: isCollapsed }"
|
||||||
v-if="!showEdit && !dialogShow && !openD"
|
v-if="!showEdit && !dialogShow && !openD">
|
||||||
>
|
|
||||||
<div class="arrow" @click="toggleCollapse">
|
<div class="arrow" @click="toggleCollapse">
|
||||||
<span>{{ isCollapsed ? "◀" : "▶" }}</span>
|
<span>{{ isCollapsed ? "◀" : "▶" }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -257,11 +240,30 @@
|
||||||
<p
|
<p
|
||||||
v-show="!isCollapsed"
|
v-show="!isCollapsed"
|
||||||
@click="openqx()"
|
@click="openqx()"
|
||||||
:style="{ color: jsqx ? 'green' : 'red' }"
|
:style="{ color: jsqx ? 'green' : 'red' }">
|
||||||
>
|
|
||||||
{{ bjtitle }}
|
{{ bjtitle }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="right-floating-window" v-show="business.show">
|
||||||
|
<div class="floating_model" @click="onMechanism">
|
||||||
|
<div class="floating_model_icon">
|
||||||
|
<img src="@/assets/images/norm.png" alt="" />
|
||||||
|
</div>
|
||||||
|
<div class="floating_model_label">机制标准</div>
|
||||||
|
</div>
|
||||||
|
<div class="floating_model">
|
||||||
|
<div class="floating_model_icon">
|
||||||
|
<img src="@/assets/images/flow.png" alt="" />
|
||||||
|
</div>
|
||||||
|
<div class="floating_model_label">业务流程</div>
|
||||||
|
</div>
|
||||||
|
<div class="floating_model" @click="onWork">
|
||||||
|
<div class="floating_model_icon">
|
||||||
|
<img src="@/assets/images/condition.png" alt="" />
|
||||||
|
</div>
|
||||||
|
<div class="floating_model_label">工作情况</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<Dialog
|
<Dialog
|
||||||
:dialogShow="dialogShow"
|
:dialogShow="dialogShow"
|
||||||
:columns="tableType.columns"
|
:columns="tableType.columns"
|
||||||
|
@ -272,8 +274,7 @@
|
||||||
@handle="handlePagination"
|
@handle="handlePagination"
|
||||||
@openMessage="openMessage"
|
@openMessage="openMessage"
|
||||||
@openSxt="openCamera"
|
@openSxt="openCamera"
|
||||||
style="z-index: 333"
|
style="z-index: 333">
|
||||||
>
|
|
||||||
<template #jzzt="{ currentCol, currentData }">
|
<template #jzzt="{ currentCol, currentData }">
|
||||||
<div v-if="currentData.jzzt == 0">居住</div>
|
<div v-if="currentData.jzzt == 0">居住</div>
|
||||||
<div v-else>未居住</div>
|
<div v-else>未居住</div>
|
||||||
|
@ -282,8 +283,7 @@
|
||||||
<img
|
<img
|
||||||
src="@/assets/images/sxt_map.png"
|
src="@/assets/images/sxt_map.png"
|
||||||
style="width: 20px; height: 20px"
|
style="width: 20px; height: 20px"
|
||||||
v-if="currentData.camera"
|
v-if="currentData.camera" />
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
<template #zxs="{ currentCol, currentData }">
|
<template #zxs="{ currentCol, currentData }">
|
||||||
<div v-if="currentData.zt > 0" style="font-size: 30px">*</div>
|
<div v-if="currentData.zt > 0" style="font-size: 30px">*</div>
|
||||||
|
@ -293,8 +293,7 @@
|
||||||
:cameraShow="sxtShow.show"
|
:cameraShow="sxtShow.show"
|
||||||
:hlsUriSsl="sxtShow.hlsUriSsl"
|
:hlsUriSsl="sxtShow.hlsUriSsl"
|
||||||
:sxtname="sxtShow.name"
|
:sxtname="sxtShow.name"
|
||||||
@close="close1"
|
@close="close1">
|
||||||
>
|
|
||||||
</DialogCamera>
|
</DialogCamera>
|
||||||
<!-- 详情 -->
|
<!-- 详情 -->
|
||||||
<personDetail
|
<personDetail
|
||||||
|
@ -302,8 +301,7 @@
|
||||||
style="width: 1920px; height: 1080px"
|
style="width: 1920px; height: 1080px"
|
||||||
v-show="openD"
|
v-show="openD"
|
||||||
:message="message"
|
:message="message"
|
||||||
@closeDetail="closeDetail"
|
@closeDetail="closeDetail"></personDetail>
|
||||||
></personDetail>
|
|
||||||
<!-- 加载动画 -->
|
<!-- 加载动画 -->
|
||||||
<div class="loadBody" v-show="loadingss">
|
<div class="loadBody" v-show="loadingss">
|
||||||
<div class="load">
|
<div class="load">
|
||||||
|
@ -327,8 +325,7 @@
|
||||||
<el-input
|
<el-input
|
||||||
v-model="input1"
|
v-model="input1"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
placeholder="请输入新村名"
|
placeholder="请输入新村名" />
|
||||||
/>
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button type="primary" @click="csName()"> 确认修改 </el-button>
|
<el-button type="primary" @click="csName()"> 确认修改 </el-button>
|
||||||
|
@ -349,8 +346,7 @@
|
||||||
<el-form
|
<el-form
|
||||||
:model="add_new_cs"
|
:model="add_new_cs"
|
||||||
label-width="auto"
|
label-width="auto"
|
||||||
style="max-width: 500px"
|
style="max-width: 500px">
|
||||||
>
|
|
||||||
<el-form-item label="村社名">
|
<el-form-item label="村社名">
|
||||||
<el-input v-model="add_new_cs.name" />
|
<el-input v-model="add_new_cs.name" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -374,8 +370,7 @@
|
||||||
<el-input
|
<el-input
|
||||||
v-model="qxvalue"
|
v-model="qxvalue"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
placeholder="请输入密码"
|
placeholder="请输入密码" />
|
||||||
/>
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button type="primary" @click="saveqx()"> 确认权限 </el-button>
|
<el-button type="primary" @click="saveqx()"> 确认权限 </el-button>
|
||||||
|
@ -387,14 +382,21 @@
|
||||||
<el-input
|
<el-input
|
||||||
v-model="input3"
|
v-model="input3"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
placeholder="请输入所属乡镇"
|
placeholder="请输入所属乡镇" />
|
||||||
/>
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button type="primary" @click="ssxzEdit()"> 确认修改 </el-button>
|
<el-button type="primary" @click="ssxzEdit()"> 确认修改 </el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<!-- 弹框模版 -->
|
||||||
|
<DialogModel
|
||||||
|
v-bind="dialogModelConfig"
|
||||||
|
v-model:show="dialogModelConfig.show">
|
||||||
|
<component
|
||||||
|
v-if="dialogModelConfig.render"
|
||||||
|
:is="dialogModelConfig.render"></component>
|
||||||
|
</DialogModel>
|
||||||
</teleport>
|
</teleport>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -409,8 +411,9 @@ import {
|
||||||
defineProps,
|
defineProps,
|
||||||
watch,
|
watch,
|
||||||
nextTick,
|
nextTick,
|
||||||
|
h,
|
||||||
} from "vue";
|
} from "vue";
|
||||||
import { ElMessage, ElMessageBox } from "element-plus";
|
import { ElMessage, ElMessageBox, ElImage } from "element-plus";
|
||||||
import tools from "@/utils/tools";
|
import tools from "@/utils/tools";
|
||||||
import initializeMap from "@/utils/mapInitializer.js";
|
import initializeMap from "@/utils/mapInitializer.js";
|
||||||
import http from "@/utils/request.js";
|
import http from "@/utils/request.js";
|
||||||
|
@ -427,6 +430,7 @@ import AED from "@/assets/images/map/AED.png";
|
||||||
import Dialog from "./dialog/dialogMapDp.vue";
|
import Dialog from "./dialog/dialogMapDp.vue";
|
||||||
import DialogCamera from "./dialog/dialogCameras.vue";
|
import DialogCamera from "./dialog/dialogCameras.vue";
|
||||||
import personDetail from "./person/index.vue";
|
import personDetail from "./person/index.vue";
|
||||||
|
import DialogModel from "./dialog/dialogModel.vue";
|
||||||
import {
|
import {
|
||||||
DrawScene,
|
DrawScene,
|
||||||
PolygonDraw,
|
PolygonDraw,
|
||||||
|
@ -452,6 +456,9 @@ import {
|
||||||
whlt,
|
whlt,
|
||||||
njsw,
|
njsw,
|
||||||
xxg,
|
xxg,
|
||||||
|
xhyld,
|
||||||
|
gxjs,
|
||||||
|
gxst,
|
||||||
j0,
|
j0,
|
||||||
j1,
|
j1,
|
||||||
j2,
|
j2,
|
||||||
|
@ -478,7 +485,21 @@ import {
|
||||||
xqwy_map,
|
xqwy_map,
|
||||||
cjrzj_map,
|
cjrzj_map,
|
||||||
bmfwzx_map,
|
bmfwzx_map,
|
||||||
|
js_grade_school,
|
||||||
|
js_high_school,
|
||||||
|
js_junior_high,
|
||||||
|
js_kindergarten,
|
||||||
|
js_gx,
|
||||||
|
zcd_map,
|
||||||
|
st_map,
|
||||||
} from "./img_map/map.js";
|
} from "./img_map/map.js";
|
||||||
|
//#region 弹框模板
|
||||||
|
const dialogModelConfig = reactive({
|
||||||
|
show: false,
|
||||||
|
title: "",
|
||||||
|
render: null,
|
||||||
|
});
|
||||||
|
//#endregion
|
||||||
//--------定义参数-------
|
//--------定义参数-------
|
||||||
//测绘模式等
|
//测绘模式等
|
||||||
const drawing = ref(false); //进入编辑等模式为true
|
const drawing = ref(false); //进入编辑等模式为true
|
||||||
|
@ -1039,9 +1060,69 @@ const jbfwqPx = reactive([
|
||||||
|
|
||||||
var circle;
|
var circle;
|
||||||
const fwqList = ref([]);
|
const fwqList = ref([]);
|
||||||
|
//#region 右侧业务模块
|
||||||
|
|
||||||
|
const business = reactive({
|
||||||
|
show: false,
|
||||||
|
bj: "",
|
||||||
|
});
|
||||||
|
//机制标准
|
||||||
|
const onMechanism = () => {
|
||||||
|
dialogModelConfig.title = "机制标准";
|
||||||
|
let bj = business.bj == "gxjs" ? "gxjs" : "lnst";
|
||||||
|
http.get(`/api/ggfwyth/ysyzt/getJzbz?bj=${bj}`).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
dialogModelConfig.render = () => {
|
||||||
|
return h("div", {
|
||||||
|
innerHTML: res.data.zcnr?.replace(/\n/g, "<br/>") || res.data.zcnr,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
dialogModelConfig.show = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
//工作情况
|
||||||
|
const onWork = () => {
|
||||||
|
dialogModelConfig.title = "工作情况";
|
||||||
|
http.get(`/api/ggfwyth/ysyzt/getGzqk?bj=${business.bj}`).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
dialogModelConfig.render = () => {
|
||||||
|
let images = res.data.map((item) => {
|
||||||
|
return h(ElImage, { src: item });
|
||||||
|
});
|
||||||
|
return h("div", {}, images);
|
||||||
|
};
|
||||||
|
dialogModelConfig.show = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
//#endregion
|
||||||
|
|
||||||
//资源要素
|
//资源要素
|
||||||
const yaosuTotal = ref([
|
const yaosuTotal = ref([
|
||||||
|
{
|
||||||
|
id: 37,
|
||||||
|
name: "巡回医疗点",
|
||||||
|
img: xhyld,
|
||||||
|
wz: true,
|
||||||
|
click: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 38,
|
||||||
|
name: "共享教师",
|
||||||
|
url: "/api/ggfwyth/ysyzt/getGxjsXx",
|
||||||
|
img: gxjs,
|
||||||
|
wz: true,
|
||||||
|
click: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 39,
|
||||||
|
name: "共享食堂",
|
||||||
|
url: "/api/ggfwyth/ysyzt/getLnstxx",
|
||||||
|
img: gxst,
|
||||||
|
wz: true,
|
||||||
|
click: true,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: "体育场所",
|
name: "体育场所",
|
||||||
|
@ -1194,7 +1275,7 @@ const yaosuTotal = ref([
|
||||||
name: "停车场",
|
name: "停车场",
|
||||||
img: tcc,
|
img: tcc,
|
||||||
wz: true,
|
wz: true,
|
||||||
click: false,
|
click: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 23,
|
id: 23,
|
||||||
|
@ -1286,7 +1367,7 @@ const yaosuTotal = ref([
|
||||||
id: 36,
|
id: 36,
|
||||||
name: "菜市场",
|
name: "菜市场",
|
||||||
img: csc,
|
img: csc,
|
||||||
wz: true,
|
wz: false,
|
||||||
click: false,
|
click: false,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
@ -1526,6 +1607,47 @@ const table_column_list = reactive({
|
||||||
property: "xmmc",
|
property: "xmmc",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
gxjs: [
|
||||||
|
{
|
||||||
|
label: "序号",
|
||||||
|
property: "index",
|
||||||
|
width: "50",
|
||||||
|
type: "index",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学校名称",
|
||||||
|
property: "xxmc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "教师姓名",
|
||||||
|
property: "jsxm",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "共享科目",
|
||||||
|
property: "gxkm",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "共享原因",
|
||||||
|
property: "gxyy",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
gxst: [
|
||||||
|
{
|
||||||
|
label: "序号",
|
||||||
|
width: "50",
|
||||||
|
type: "index",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "姓名",
|
||||||
|
property: "scustomername",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "菜品信息",
|
||||||
|
property: "dishesmealnames",
|
||||||
|
},
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
// 表格分页
|
// 表格分页
|
||||||
|
@ -1758,7 +1880,7 @@ const moveDK = async () => {
|
||||||
cs_choose_arr.value.forEach((item, index) => {
|
cs_choose_arr.value.forEach((item, index) => {
|
||||||
map.removeOverlay(cs_choose_arr.value[index]);
|
map.removeOverlay(cs_choose_arr.value[index]);
|
||||||
});
|
});
|
||||||
chooseCsList.value.length = 0;
|
chooseCsList.value = [];
|
||||||
xkzDk.forEach((itemm, indexx) => {
|
xkzDk.forEach((itemm, indexx) => {
|
||||||
if (itemm.name == cfCs.value) {
|
if (itemm.name == cfCs.value) {
|
||||||
chooseCsList.value.push(itemm);
|
chooseCsList.value.push(itemm);
|
||||||
|
@ -1902,7 +2024,7 @@ const saveDK = async () => {
|
||||||
cs_choose_arr.value.forEach((item, index) => {
|
cs_choose_arr.value.forEach((item, index) => {
|
||||||
map.removeOverlay(cs_choose_arr.value[index]);
|
map.removeOverlay(cs_choose_arr.value[index]);
|
||||||
});
|
});
|
||||||
chooseCsList.value.length = 0;
|
chooseCsList.value = [];
|
||||||
xkzDk.forEach((itemm, indexx) => {
|
xkzDk.forEach((itemm, indexx) => {
|
||||||
if (itemm.name == cfCs.value) {
|
if (itemm.name == cfCs.value) {
|
||||||
chooseCsList.value.push(itemm);
|
chooseCsList.value.push(itemm);
|
||||||
|
@ -2164,7 +2286,7 @@ const addNew = async () => {
|
||||||
add_new_cs.center = [];
|
add_new_cs.center = [];
|
||||||
await getCssj();
|
await getCssj();
|
||||||
await loadCs(cfJd.value);
|
await loadCs(cfJd.value);
|
||||||
unChooseList.value.length = 0;
|
unChooseList.value = [];
|
||||||
xkzDk.forEach((itemm, indexx) => {
|
xkzDk.forEach((itemm, indexx) => {
|
||||||
if (itemm.name != cfCs.value) {
|
if (itemm.name != cfCs.value) {
|
||||||
unChooseList.value.push(itemm);
|
unChooseList.value.push(itemm);
|
||||||
|
@ -2274,8 +2396,8 @@ const clear = () => {
|
||||||
cs_choose_arr.value = [];
|
cs_choose_arr.value = [];
|
||||||
cs_un_choose_arr.value = [];
|
cs_un_choose_arr.value = [];
|
||||||
cs_dd_arr.value = [];
|
cs_dd_arr.value = [];
|
||||||
xkzCenter.length = 0;
|
xkzCenter = [];
|
||||||
xkzDk.length = 0;
|
xkzDk = [];
|
||||||
};
|
};
|
||||||
//清空选中年龄及标签(街道级别)
|
//清空选中年龄及标签(街道级别)
|
||||||
const clearPerson = () => {
|
const clearPerson = () => {
|
||||||
|
@ -2303,9 +2425,9 @@ const clearyaosu = () => {
|
||||||
zyys_center.value.forEach((item, index) => {
|
zyys_center.value.forEach((item, index) => {
|
||||||
map.removeOverlay(item); // 清空服务圈 图标
|
map.removeOverlay(item); // 清空服务圈 图标
|
||||||
});
|
});
|
||||||
yaosuList.value.length = 0;
|
yaosuList.value = [];
|
||||||
zyys_dk.value.length = 0;
|
zyys_dk.value = [];
|
||||||
zyys_center.value.length = 0;
|
zyys_center.value = [];
|
||||||
zyys_choose_cs.value = "";
|
zyys_choose_cs.value = "";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2885,7 +3007,7 @@ const getDataBq = async (jd, cs) => {
|
||||||
.get(`/api/ggfwyth/ysyzt/getBqRs?committee=${cs || ""}&town=${jd || ""}`)
|
.get(`/api/ggfwyth/ysyzt/getBqRs?committee=${cs || ""}&town=${jd || ""}`)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
tsbqTotal.value.length = 0;
|
tsbqTotal.value = [];
|
||||||
|
|
||||||
tsbq_id_total.value.forEach((item, index) => {
|
tsbq_id_total.value.forEach((item, index) => {
|
||||||
let b = 0;
|
let b = 0;
|
||||||
|
@ -2928,9 +3050,9 @@ const getDataBq = async (jd, cs) => {
|
||||||
const getDataBqFirst = async () => {
|
const getDataBqFirst = async () => {
|
||||||
await http.get(`/api/ggfwyth/ysyzt/getBqRs`).then((res) => {
|
await http.get(`/api/ggfwyth/ysyzt/getBqRs`).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
tsbqTotal.value.length = 0;
|
tsbqTotal.value = [];
|
||||||
tsbq_pp.value.lenth = 0;
|
tsbq_pp.value.lenth = 0;
|
||||||
tsbq_id_total.value.length = 0;
|
tsbq_id_total.value = [];
|
||||||
res.data.forEach((item, index) => {
|
res.data.forEach((item, index) => {
|
||||||
tsbq_pp.value.push(item.bq);
|
tsbq_pp.value.push(item.bq);
|
||||||
tsbq_id_total.value.push({
|
tsbq_id_total.value.push({
|
||||||
|
@ -3200,8 +3322,11 @@ const changeRs = (id) => {
|
||||||
|
|
||||||
//----------资源要素------------
|
//----------资源要素------------
|
||||||
const zyys_choose_cs = ref("");
|
const zyys_choose_cs = ref("");
|
||||||
const changeys = (name, img_width) => {
|
// 删除地图上的要素
|
||||||
if (yaosuList.value.includes(name)) {
|
const removeOverlay = (name) => {
|
||||||
|
if (!yaosuList.value.includes(name)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
yaosuList.value = yaosuList.value.filter((ch) => ch !== name);
|
yaosuList.value = yaosuList.value.filter((ch) => ch !== name);
|
||||||
if (yaosuIcon.value[name]) {
|
if (yaosuIcon.value[name]) {
|
||||||
yaosuIcon.value[name].sj.forEach((item, index) => {
|
yaosuIcon.value[name].sj.forEach((item, index) => {
|
||||||
|
@ -3216,14 +3341,46 @@ const changeys = (name, img_width) => {
|
||||||
zyys_center.value.forEach((item, index) => {
|
zyys_center.value.forEach((item, index) => {
|
||||||
map.removeOverlay(item);
|
map.removeOverlay(item);
|
||||||
});
|
});
|
||||||
zyys_dk.value.length = 0;
|
zyys_dk.value = [];
|
||||||
zyys_center.value.length = 0;
|
zyys_center.value = [];
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
const changeys = (name, img_width) => {
|
||||||
|
// 业务
|
||||||
|
let businessList = [
|
||||||
|
{
|
||||||
|
name: "共享教师",
|
||||||
|
bj: "gxjs",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "共享食堂",
|
||||||
|
bj: "gxst",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "巡回医疗点",
|
||||||
|
bj: "xhyld",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
if (businessList.some((item) => item.name == name)) {
|
||||||
|
businessList.forEach((item) => {
|
||||||
|
if (item.name == name) {
|
||||||
|
business.bj = item.bj;
|
||||||
|
business.show = true;
|
||||||
|
} else {
|
||||||
|
removeOverlay(item.name);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (yaosuList.value.includes(name)) {
|
||||||
|
removeOverlay(name);
|
||||||
|
business.show = false;
|
||||||
} else {
|
} else {
|
||||||
loadingss.value = true;
|
loadingss.value = true;
|
||||||
csh();
|
csh();
|
||||||
clearPerson();
|
clearPerson();
|
||||||
yaosuList.value.push(name);
|
yaosuList.value.push(name);
|
||||||
|
|
||||||
let url;
|
let url;
|
||||||
let img;
|
let img;
|
||||||
let img_map;
|
let img_map;
|
||||||
|
@ -3236,27 +3393,55 @@ const changeys = (name, img_width) => {
|
||||||
tooltip = item.tooltip;
|
tooltip = item.tooltip;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (
|
|
||||||
name == "摄像头" ||
|
switch (name) {
|
||||||
name == "AED" ||
|
case "养老机构":
|
||||||
name == "幼儿园" ||
|
|
||||||
name == "小学" ||
|
|
||||||
name == "初中" ||
|
|
||||||
name == "高中" ||
|
|
||||||
name == "医院" ||
|
|
||||||
name == "卫生服务中心" ||
|
|
||||||
name == "残疾人之家" ||
|
|
||||||
name == "汽车充电桩" ||
|
|
||||||
name == "便民服务中心"
|
|
||||||
) {
|
|
||||||
getZyys(url, name, img, img_map, tooltip, img_width);
|
|
||||||
} else if (name == "养老机构") {
|
|
||||||
getZyys2(name, img, img_map, tooltip, img_width);
|
getZyys2(name, img, img_map, tooltip, img_width);
|
||||||
} else if (name == "小区物业") {
|
break;
|
||||||
|
case "小区物业":
|
||||||
getZyys3(url, name, img, img_map, tooltip, img_width);
|
getZyys3(url, name, img, img_map, tooltip, img_width);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
let list = [
|
||||||
|
"摄像头",
|
||||||
|
"AED",
|
||||||
|
"幼儿园",
|
||||||
|
"小学",
|
||||||
|
"初中",
|
||||||
|
"高中",
|
||||||
|
"医院",
|
||||||
|
"卫生服务中心",
|
||||||
|
"残疾人之家",
|
||||||
|
"汽车充电桩",
|
||||||
|
"便民服务中心",
|
||||||
|
"共享教师",
|
||||||
|
"共享食堂",
|
||||||
|
];
|
||||||
|
if (list.includes(name)) {
|
||||||
|
getZyys(url, name, img, img_map, tooltip, img_width);
|
||||||
} else {
|
} else {
|
||||||
loadingss.value = false;
|
loadingss.value = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// 共享教师地图图标
|
||||||
|
const gxjsIcon = (name) => {
|
||||||
|
switch (name) {
|
||||||
|
case "幼儿园":
|
||||||
|
return js_kindergarten;
|
||||||
|
case "小学":
|
||||||
|
return js_grade_school;
|
||||||
|
case "初中":
|
||||||
|
return js_junior_high;
|
||||||
|
case "中职":
|
||||||
|
return js_high_school;
|
||||||
|
case "高中":
|
||||||
|
return js_high_school;
|
||||||
|
default:
|
||||||
|
return js_high_school;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//线上接口资源要素
|
//线上接口资源要素
|
||||||
|
@ -3265,7 +3450,11 @@ const getZyys = (url, name, img, img_map, tooltip, img_width) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
yaosuIcon.value[name] = {};
|
yaosuIcon.value[name] = {};
|
||||||
yaosuIcon.value[name]["sj"] = [];
|
yaosuIcon.value[name]["sj"] = [];
|
||||||
|
if (name == "共享食堂") {
|
||||||
|
yaosuIcon.value[name]["sj"] = [...res.data.lnst, ...res.data.zcd];
|
||||||
|
} else {
|
||||||
yaosuIcon.value[name]["sj"] = res.data;
|
yaosuIcon.value[name]["sj"] = res.data;
|
||||||
|
}
|
||||||
yaosuIcon.value[name]["sj"].forEach((item, index) => {
|
yaosuIcon.value[name]["sj"].forEach((item, index) => {
|
||||||
item.img = img;
|
item.img = img;
|
||||||
item.img_map = img_map;
|
item.img_map = img_map;
|
||||||
|
@ -3281,6 +3470,14 @@ const getZyys = (url, name, img, img_map, tooltip, img_width) => {
|
||||||
let newStr = item.point.replace(",", ",");
|
let newStr = item.point.replace(",", ",");
|
||||||
item.center = JSON.parse(newStr);
|
item.center = JSON.parse(newStr);
|
||||||
break;
|
break;
|
||||||
|
case "共享教师":
|
||||||
|
item.img_map = item.gxjs == 1 ? js_gx : gxjsIcon(item.lb);
|
||||||
|
item.center = [Number(item.jd), Number(item.wd)];
|
||||||
|
break;
|
||||||
|
case "共享食堂":
|
||||||
|
item.img_map = item.bj ? st_map : zcd_map;
|
||||||
|
item.center = [Number(item.jd), Number(item.wd)];
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
item.center = [Number(item.jd), Number(item.wd)];
|
item.center = [Number(item.jd), Number(item.wd)];
|
||||||
break;
|
break;
|
||||||
|
@ -3471,9 +3668,25 @@ const createZyys = (polygon, indexx, name, tooltip, img_width) => {
|
||||||
console.log(polygon);
|
console.log(polygon);
|
||||||
open_detail_zyys_xqwy(polygon.ssjd, polygon.sssq);
|
open_detail_zyys_xqwy(polygon.ssjd, polygon.sssq);
|
||||||
break;
|
break;
|
||||||
|
case "共享教师":
|
||||||
|
gxjsName.value = polygon.xxmc;
|
||||||
|
getSharedTeacher();
|
||||||
|
break;
|
||||||
|
// case "共享食堂":
|
||||||
|
// // console.log(polygon);
|
||||||
|
// // if (polygon.bj) {
|
||||||
|
// // gxstName.value = polygon.lnstmc;
|
||||||
|
// // getSharedCanteen();
|
||||||
|
// // }
|
||||||
|
|
||||||
|
// break;
|
||||||
default:
|
default:
|
||||||
|
console.log(polygon);
|
||||||
zyys_choose_cs.value = name;
|
zyys_choose_cs.value = name;
|
||||||
if (zyys_dk.value.length) {
|
if (name == "共享食堂") {
|
||||||
|
gxstName.value = polygon?.lnstmc || ""; // 共享食堂
|
||||||
|
}
|
||||||
|
if (zyys_dk.value.length > 0) {
|
||||||
zyys_dk.value.forEach((item, index) => {
|
zyys_dk.value.forEach((item, index) => {
|
||||||
map.removeOverlay(item); // 清空资源要素地块
|
map.removeOverlay(item); // 清空资源要素地块
|
||||||
});
|
});
|
||||||
|
@ -3488,15 +3701,46 @@ const createZyys = (polygon, indexx, name, tooltip, img_width) => {
|
||||||
} else {
|
} else {
|
||||||
zyys_total_center[name] = [];
|
zyys_total_center[name] = [];
|
||||||
zyys_total_dk[name] = [];
|
zyys_total_dk[name] = [];
|
||||||
|
|
||||||
await get_dk_zyys(polygon.fgfwrs, polygon.lb, polygon.ssly, name);
|
await get_dk_zyys(polygon.fgfwrs, polygon.lb, polygon.ssly, name);
|
||||||
xr_dk_center_zyys();
|
xr_dk_center_zyys();
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
//共享教师信息
|
||||||
|
const gxjsName = ref("");
|
||||||
|
const getSharedTeacher = () => {
|
||||||
|
tableType.title = "共享教师";
|
||||||
|
tableType.columns = table_column_list.gxjs;
|
||||||
|
dialogShow.value = true;
|
||||||
|
http.get(`/api/ggfwyth/ysyzt/getGxjs?xxmc=${gxjsName.value}`).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
tableType.data = res.data;
|
||||||
|
pagination.total = res.data.length;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 共享食堂信息
|
||||||
|
const gxstName = ref("");
|
||||||
|
const getSharedCanteen = () => {
|
||||||
|
tableType.title = "共享食堂";
|
||||||
|
tableType.columns = table_column_list.gxst;
|
||||||
|
dialogShow.value = true;
|
||||||
|
http
|
||||||
|
.get(
|
||||||
|
`/api/ggfwyth/ysyzt/lnstryxx?sdailyCareCenterName=${gxstName.value}&page=${pagination.currentPage}&size=${pagination.pageSize}`
|
||||||
|
)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
tableType.data = res.data;
|
||||||
|
pagination.total = res.count;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 小区物业
|
||||||
const open_detail_zyys_xqwy = (xzjd, csq) => {
|
const open_detail_zyys_xqwy = (xzjd, csq) => {
|
||||||
tableType.title = "小区物业";
|
tableType.title = "小区物业";
|
||||||
tableType.columns = table_column_list.xqwy;
|
tableType.columns = table_column_list.xqwy;
|
||||||
|
@ -3588,10 +3832,10 @@ const loadCs_zyys2 = async (jdname, name) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const get_dk_zyys = async (sj, xd, ssly, name) => {
|
const get_dk_zyys = async (sj, xd, ssly, name) => {
|
||||||
zyys_dk.value.length = 0;
|
zyys_dk.value = [];
|
||||||
zyys_center.value.length = 0;
|
zyys_center.value = [];
|
||||||
zyys_data.value.point.length = 0;
|
zyys_data.value.point = [];
|
||||||
zyys_data.value.center.length = 0;
|
zyys_data.value.center = [];
|
||||||
let zyys_jd = [];
|
let zyys_jd = [];
|
||||||
sj.forEach((itemN) => {
|
sj.forEach((itemN) => {
|
||||||
if (!zyys_jd.includes(itemN.town)) {
|
if (!zyys_jd.includes(itemN.town)) {
|
||||||
|
@ -3656,7 +3900,7 @@ const get_dk_zyys = async (sj, xd, ssly, name) => {
|
||||||
if (item.committee == dk.name) {
|
if (item.committee == dk.name) {
|
||||||
let a = {
|
let a = {
|
||||||
...dk,
|
...dk,
|
||||||
zt: item.zt,
|
zt: item.zt || 0,
|
||||||
};
|
};
|
||||||
zyys_data.value.point.push(a);
|
zyys_data.value.point.push(a);
|
||||||
}
|
}
|
||||||
|
@ -3665,7 +3909,7 @@ const get_dk_zyys = async (sj, xd, ssly, name) => {
|
||||||
if (item.committee == center.name) {
|
if (item.committee == center.name) {
|
||||||
let b = {
|
let b = {
|
||||||
...center,
|
...center,
|
||||||
num: item.num,
|
num: item.num || "",
|
||||||
town: item.town,
|
town: item.town,
|
||||||
committee: item.committee,
|
committee: item.committee,
|
||||||
ssly: ssly,
|
ssly: ssly,
|
||||||
|
@ -3698,6 +3942,8 @@ const xr_dk_center_zyys = async () => {
|
||||||
map.addOverlay(zyys_dk.value[index]);
|
map.addOverlay(zyys_dk.value[index]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
console.log(zyys_data.value);
|
||||||
|
|
||||||
zyys_data.value.center.map((item, index) => {
|
zyys_data.value.center.map((item, index) => {
|
||||||
Xr_zyysNum(item, index);
|
Xr_zyysNum(item, index);
|
||||||
});
|
});
|
||||||
|
@ -3790,8 +4036,11 @@ const Xr_zyysNum = (polygon, indexx) => {
|
||||||
} else {
|
} else {
|
||||||
zyys_table.xd = "";
|
zyys_table.xd = "";
|
||||||
}
|
}
|
||||||
|
if (zyys_choose_cs.value == "共享食堂") {
|
||||||
|
getSharedCanteen();
|
||||||
|
} else {
|
||||||
open_detail_zyys();
|
open_detail_zyys();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const open_detail_zyys = () => {
|
const open_detail_zyys = () => {
|
||||||
|
@ -3927,6 +4176,7 @@ const close = () => {
|
||||||
dialogShow.value = false;
|
dialogShow.value = false;
|
||||||
pagination.total = 100;
|
pagination.total = 100;
|
||||||
pagination.currentPage = 1;
|
pagination.currentPage = 1;
|
||||||
|
tableType.title = "";
|
||||||
tableType.data = [];
|
tableType.data = [];
|
||||||
};
|
};
|
||||||
// 摄像头关闭
|
// 摄像头关闭
|
||||||
|
@ -3939,6 +4189,14 @@ const onsxt = () => {
|
||||||
//表格分页
|
//表格分页
|
||||||
const handlePagination = (current) => {
|
const handlePagination = (current) => {
|
||||||
pagination.currentPage = current;
|
pagination.currentPage = current;
|
||||||
|
switch (tableType.title) {
|
||||||
|
case "共享教师":
|
||||||
|
getSharedTeacher();
|
||||||
|
break;
|
||||||
|
case "共享食堂":
|
||||||
|
getSharedCanteen();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
if (tableType.type) {
|
if (tableType.type) {
|
||||||
let age = "";
|
let age = "";
|
||||||
let tagId;
|
let tagId;
|
||||||
|
@ -3963,6 +4221,8 @@ const handlePagination = (current) => {
|
||||||
} else {
|
} else {
|
||||||
open_detail_zyys();
|
open_detail_zyys();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 打开摄像头
|
// 打开摄像头
|
||||||
|
@ -3971,9 +4231,15 @@ const openCamera = () => {
|
||||||
};
|
};
|
||||||
//打开人物详情页面
|
//打开人物详情页面
|
||||||
const openMessage = (e) => {
|
const openMessage = (e) => {
|
||||||
if (tableType.title == "小区物业") {
|
if (
|
||||||
|
tableType.title == "小区物业" ||
|
||||||
|
tableType.title == "共享教师" ||
|
||||||
|
tableType.title == "共享食堂"
|
||||||
|
) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
console.log(e);
|
||||||
|
|
||||||
message.value = e;
|
message.value = e;
|
||||||
openD.value = true;
|
openD.value = true;
|
||||||
reset_font2();
|
reset_font2();
|
||||||
|
@ -4355,7 +4621,7 @@ const createCustomOverlay = (polygon, indexx) => {
|
||||||
};
|
};
|
||||||
//添加公共服务圈地块+中心点
|
//添加公共服务圈地块+中心点
|
||||||
const addFwqCs = () => {
|
const addFwqCs = () => {
|
||||||
fwq_dk.value.length = 0;
|
fwq_dk.value = [];
|
||||||
fwq_jzdk.value.map((item, index) => {
|
fwq_jzdk.value.map((item, index) => {
|
||||||
// let num = index % 9;
|
// let num = index % 9;
|
||||||
let fillColor = "#ffffff";
|
let fillColor = "#ffffff";
|
||||||
|
@ -4438,9 +4704,9 @@ const addFwqCsCenter = (polygon, indexx) => {
|
||||||
//服务点数据处理
|
//服务点数据处理
|
||||||
const updateFwqList = (data, townName, communityName) => {
|
const updateFwqList = (data, townName, communityName) => {
|
||||||
let updatedFwqList = [];
|
let updatedFwqList = [];
|
||||||
fwq_cslist.value.length = 0;
|
fwq_cslist.value = [];
|
||||||
fwq_jzdk.value.length = 0;
|
fwq_jzdk.value = [];
|
||||||
fwq_centerList.value.length = 0;
|
fwq_centerList.value = [];
|
||||||
data.forEach((itemN) => {
|
data.forEach((itemN) => {
|
||||||
if (!fwq_cslist.value.includes(itemN.csq)) {
|
if (!fwq_cslist.value.includes(itemN.csq)) {
|
||||||
fwq_cslist.value.push(itemN.csq);
|
fwq_cslist.value.push(itemN.csq);
|
||||||
|
@ -4646,7 +4912,7 @@ const addPolygonCounty = () => {
|
||||||
}
|
}
|
||||||
loadingss.value = true;
|
loadingss.value = true;
|
||||||
clear();
|
clear();
|
||||||
xkzDk.length = 0;
|
xkzDk = [];
|
||||||
cfJd.value = item.name;
|
cfJd.value = item.name;
|
||||||
let jdCenter = [];
|
let jdCenter = [];
|
||||||
BMAP();
|
BMAP();
|
||||||
|
@ -4807,8 +5073,8 @@ const createCustomOverlayJd2 = (polygon, indexx) => {
|
||||||
//---------村社级别------------
|
//---------村社级别------------
|
||||||
//加载村社信息
|
//加载村社信息
|
||||||
const loadCs = async (name) => {
|
const loadCs = async (name) => {
|
||||||
xkzCenter.length = 0;
|
xkzCenter = [];
|
||||||
xkzDk.length = 0;
|
xkzDk = [];
|
||||||
cssj.forEach((item, index) => {
|
cssj.forEach((item, index) => {
|
||||||
if (item.name == name) {
|
if (item.name == name) {
|
||||||
csqk.value = item.sj;
|
csqk.value = item.sj;
|
||||||
|
@ -4888,8 +5154,8 @@ const addPolygonCountyCs = () => {
|
||||||
xuanzhongCs.value.push(a);
|
xuanzhongCs.value.push(a);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
chooseCsList.value.length = 0;
|
chooseCsList.value = [];
|
||||||
unChooseList.value.length = 0;
|
unChooseList.value = [];
|
||||||
xkzDk.forEach((itemm, indexx) => {
|
xkzDk.forEach((itemm, indexx) => {
|
||||||
if (itemm.name == item.name) {
|
if (itemm.name == item.name) {
|
||||||
chooseCsList.value.push(itemm);
|
chooseCsList.value.push(itemm);
|
||||||
|
@ -4991,8 +5257,8 @@ const addCsUnChoose = () => {
|
||||||
cs_choose_arr.value.forEach((item, index) => {
|
cs_choose_arr.value.forEach((item, index) => {
|
||||||
map.removeOverlay(cs_choose_arr.value[index]);
|
map.removeOverlay(cs_choose_arr.value[index]);
|
||||||
});
|
});
|
||||||
chooseCsList.value.length = 0;
|
chooseCsList.value = [];
|
||||||
unChooseList.value.length = 0;
|
unChooseList.value = [];
|
||||||
cs_dd_arr.value = [];
|
cs_dd_arr.value = [];
|
||||||
xuanzhongCs.value = [];
|
xuanzhongCs.value = [];
|
||||||
xkzCenter.forEach((a, b) => {
|
xkzCenter.forEach((a, b) => {
|
||||||
|
@ -5999,7 +6265,40 @@ onMounted(async () => {
|
||||||
color: #0c356a;
|
color: #0c356a;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.right-floating-window {
|
||||||
|
z-index: 100;
|
||||||
|
position: absolute;
|
||||||
|
color: #ffffff;
|
||||||
|
top: 20%;
|
||||||
|
right: 28%;
|
||||||
|
font-family: PangMenZhengDao;
|
||||||
|
|
||||||
|
.floating_model {
|
||||||
|
border: 1px solid #7db6c8;
|
||||||
|
padding: 6px 10px 6px 6px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
background: #426c8d;
|
||||||
|
box-shadow: 0px 3px 8px 0px rgba(43, 114, 153, 0.7);
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #c2e1ff;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
text-transform: none;
|
||||||
|
cursor: pointer;
|
||||||
|
.floating_model_icon {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.title {
|
.title {
|
||||||
background-image: url(@/assets/images/map/map_title_bg.png);
|
background-image: url(@/assets/images/map/map_title_bg.png);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
|