Merge branch 'main' of https://git.cityme.com.cn/xiangshan/ggfwjsc
This commit is contained in:
commit
0c99f5c095
|
@ -0,0 +1,211 @@
|
||||||
|
<template>
|
||||||
|
<div class="dialogPage">
|
||||||
|
<el-dialog
|
||||||
|
v-model="cameraShow"
|
||||||
|
center
|
||||||
|
width="80vw"
|
||||||
|
:show-close="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
|
>
|
||||||
|
<template #header="{ close, titleId, titleClass }">
|
||||||
|
<div class="my-header">
|
||||||
|
<el-icon size="26" color="#fff" @click="closeDialog">
|
||||||
|
<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">{{ data.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 style="width: 100%; height: calc(100% - 110px)">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
reactive,
|
||||||
|
onMounted,
|
||||||
|
defineProps,
|
||||||
|
onBeforeMount,
|
||||||
|
watch,
|
||||||
|
nextTick,
|
||||||
|
} from "vue";
|
||||||
|
import { CircleCloseFilled } from "@element-plus/icons-vue";
|
||||||
|
const props = defineProps({
|
||||||
|
cameraShow: {
|
||||||
|
type: Boolean,
|
||||||
|
default: () => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// columns: {
|
||||||
|
// type: Array,
|
||||||
|
// default: () => {
|
||||||
|
// return [];
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// tableData: {
|
||||||
|
// type: Array,
|
||||||
|
// default: () => {
|
||||||
|
// return [];
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// title: {
|
||||||
|
// type: String,
|
||||||
|
// default: () => {
|
||||||
|
// return "";
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
});
|
||||||
|
const emit = defineEmits(["close"]);
|
||||||
|
|
||||||
|
// 详情弹框
|
||||||
|
const cameraShow = ref();
|
||||||
|
const data = reactive({
|
||||||
|
title: "摄像头",
|
||||||
|
columns: [],
|
||||||
|
tableData: [],
|
||||||
|
});
|
||||||
|
|
||||||
|
const gridData = [];
|
||||||
|
// 监听
|
||||||
|
watch(
|
||||||
|
() => props.cameraShow,
|
||||||
|
(newVal, oldVal) => {
|
||||||
|
cameraShow.value = newVal;
|
||||||
|
// data.columns = props.columns;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// watch(
|
||||||
|
// () => props.tableData,
|
||||||
|
// (newVal, oldVal) => {
|
||||||
|
// data.tableData = props.tableData;
|
||||||
|
// }
|
||||||
|
// );
|
||||||
|
// 使用生命钩子
|
||||||
|
onMounted(() => {
|
||||||
|
cameraShow.value = props.cameraShow;
|
||||||
|
|
||||||
|
// data.columns = props.columns;
|
||||||
|
// data.title = props.title;
|
||||||
|
// data.tableData = props.tableData;
|
||||||
|
});
|
||||||
|
|
||||||
|
const closeDialog = () => {
|
||||||
|
cameraShow.value = false;
|
||||||
|
emit("close");
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
:deep(.el-dialog) {
|
||||||
|
--el-dialog-bg-color: none;
|
||||||
|
--el-dialog-width: 76% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-header {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabelPart {
|
||||||
|
padding: 16px;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bo {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin: 10px 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: 33px;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 38px;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -35,7 +35,15 @@
|
||||||
<div class="my-info-item">
|
<div class="my-info-item">
|
||||||
<div class="my-info-label">居住状态</div>
|
<div class="my-info-label">居住状态</div>
|
||||||
<div class="my-info-content">
|
<div class="my-info-content">
|
||||||
<p>{{ baseInfo.jzzt == 0 ? '居住' : baseInfo.jzzt == 1 ? '未居住' : '' }}</p>
|
<p>
|
||||||
|
{{
|
||||||
|
baseInfo.jzzt == 0
|
||||||
|
? "居住"
|
||||||
|
: baseInfo.jzzt == 1
|
||||||
|
? "未居住"
|
||||||
|
: ""
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="my-info-item">
|
<div class="my-info-item">
|
||||||
|
@ -89,6 +97,12 @@
|
||||||
<img src="@/assets/person/back.png" alt="" />
|
<img src="@/assets/person/back.png" alt="" />
|
||||||
<p>返回</p>
|
<p>返回</p>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- v-if="dataMyTag.camera" -->
|
||||||
|
<div class="videoCamera">
|
||||||
|
<el-icon size="26" color="#fff" @click="openCamera">
|
||||||
|
<VideoCamera />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="person-side">
|
<div class="person-side">
|
||||||
<div v-if="dataMyTag.title == '医疗保险'">
|
<div v-if="dataMyTag.title == '医疗保险'">
|
||||||
|
@ -271,7 +285,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="my-info">
|
<div class="my-info">
|
||||||
<div class="my-info-item" v-if="dataMyTag.title == '学习'">
|
<div class="my-info-item" v-if="dataMyTag.title == '学习'">
|
||||||
<div class="my-info-label" style="min-width:40px;">学历</div>
|
<div class="my-info-label" style="min-width: 40px">学历</div>
|
||||||
<div class="my-info-content">
|
<div class="my-info-content">
|
||||||
<p>{{ baseInfo.eduPhase || "" }}</p>
|
<p>{{ baseInfo.eduPhase || "" }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -286,7 +300,14 @@
|
||||||
class="my-info-item"
|
class="my-info-item"
|
||||||
v-for="(item, index) in tableType.columns"
|
v-for="(item, index) in tableType.columns"
|
||||||
>
|
>
|
||||||
<div class="my-info-label" :class="item.label=='学校' || item.label=='班级'? 'widu':''">{{ item.label }}</div>
|
<div
|
||||||
|
class="my-info-label"
|
||||||
|
:class="
|
||||||
|
item.label == '学校' || item.label == '班级' ? 'widu' : ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.label }}
|
||||||
|
</div>
|
||||||
<div class="my-info-content" v-if="rightList?.length != 0">
|
<div class="my-info-content" v-if="rightList?.length != 0">
|
||||||
<p>{{ pd(item.label, rightList[item.property]) }}</p>
|
<p>{{ pd(item.label, rightList[item.property]) }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -297,7 +318,7 @@
|
||||||
</div>
|
</div>
|
||||||
<Dialog
|
<Dialog
|
||||||
:dialogShow="dialogShow"
|
:dialogShow="dialogShow"
|
||||||
:columns="tableType.columns2"
|
:columns="tableType.columns1"
|
||||||
:title="tableType.title2"
|
:title="tableType.title2"
|
||||||
:tableData="tableType.data"
|
:tableData="tableType.data"
|
||||||
:pagination="paginationDialog"
|
:pagination="paginationDialog"
|
||||||
|
@ -305,13 +326,20 @@
|
||||||
@handle="handlePaginationDialog"
|
@handle="handlePaginationDialog"
|
||||||
>
|
>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
<DialogCamera
|
||||||
|
:cameraShow="cameraShow"
|
||||||
|
@close="close1"
|
||||||
|
>
|
||||||
|
</DialogCamera>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, ref, onMounted, watch, computed } from "vue";
|
import { reactive, ref, onMounted, watch, computed } from "vue";
|
||||||
import Dialog from "@/view/dialog/dialog.vue";
|
import Dialog from "@/view/dialog/dialog.vue";
|
||||||
|
import DialogCamera from "@/view/dialog/dialogCamera.vue";
|
||||||
import { useRouter, useRoute } from "vue-router";
|
import { useRouter, useRoute } from "vue-router";
|
||||||
|
import { VideoCamera } from "@element-plus/icons-vue";
|
||||||
import http from "@/utils/request.js";
|
import http from "@/utils/request.js";
|
||||||
import tools from "@/utils/tools";
|
import tools from "@/utils/tools";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
@ -331,6 +359,7 @@ const emit = defineEmits(["backMap"]);
|
||||||
const dataMyTag = reactive({
|
const dataMyTag = reactive({
|
||||||
title: "出生",
|
title: "出生",
|
||||||
identNo: "",
|
identNo: "",
|
||||||
|
camera: null,
|
||||||
myTag: [
|
myTag: [
|
||||||
{
|
{
|
||||||
name: "低保",
|
name: "低保",
|
||||||
|
@ -449,7 +478,7 @@ const dataMyTag = reactive({
|
||||||
form: {
|
form: {
|
||||||
data: [],
|
data: [],
|
||||||
column: [],
|
column: [],
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
//右侧分页
|
//右侧分页
|
||||||
const pagination = reactive({
|
const pagination = reactive({
|
||||||
|
@ -474,13 +503,14 @@ const paginationDialog = reactive({
|
||||||
});
|
});
|
||||||
const baseInfo = ref({});
|
const baseInfo = ref({});
|
||||||
const dialogShow = ref(false);
|
const dialogShow = ref(false);
|
||||||
|
const cameraShow = ref(false);
|
||||||
const tableType = reactive({
|
const tableType = reactive({
|
||||||
url: "",
|
url: "",
|
||||||
//特殊标签
|
//特殊标签
|
||||||
title2: "",
|
title2: "",
|
||||||
title: "出生",
|
title: "出生",
|
||||||
columns: [],
|
columns: [],
|
||||||
columns:[],
|
columns1: [],
|
||||||
data: [],
|
data: [],
|
||||||
});
|
});
|
||||||
const columnsList = reactive({
|
const columnsList = reactive({
|
||||||
|
@ -682,7 +712,7 @@ const pd = computed(() => {
|
||||||
//特殊标签弹框
|
//特殊标签弹框
|
||||||
const onClickTag = (item) => {
|
const onClickTag = (item) => {
|
||||||
tableType.title2 = item.name;
|
tableType.title2 = item.name;
|
||||||
tableType.columns2 = columnsList["特殊标签"].column;
|
tableType.columns1 = columnsList["特殊标签"].column;
|
||||||
dialogShow.value = true;
|
dialogShow.value = true;
|
||||||
};
|
};
|
||||||
//圆球弹框
|
//圆球弹框
|
||||||
|
@ -692,7 +722,6 @@ const onClickTag2 = (name, label) => {
|
||||||
tableType.url = columnsList[name].url;
|
tableType.url = columnsList[name].url;
|
||||||
tableType.columns = columnsList[name].column;
|
tableType.columns = columnsList[name].column;
|
||||||
if (name == "婚育") {
|
if (name == "婚育") {
|
||||||
|
|
||||||
} else if (name == "综合") {
|
} else if (name == "综合") {
|
||||||
dataMyTag.form.column = columnsList["一卡通"].column;
|
dataMyTag.form.column = columnsList["一卡通"].column;
|
||||||
oneCardSolution();
|
oneCardSolution();
|
||||||
|
@ -740,10 +769,12 @@ const getTable = (url, csh) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const close = () => {
|
const close = () => {
|
||||||
dialogShow.value = false;
|
dialogShow.value = false;
|
||||||
};
|
};
|
||||||
|
const close1 = () => {
|
||||||
|
cameraShow.value = false;
|
||||||
|
};
|
||||||
//右侧表格分页
|
//右侧表格分页
|
||||||
const handlePagination = (currentPage) => {
|
const handlePagination = (currentPage) => {
|
||||||
pagination.current = currentPage;
|
pagination.current = currentPage;
|
||||||
|
@ -765,6 +796,7 @@ const getData = (identNo) => {
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
baseInfo.value = res.data.ryjbxx;
|
baseInfo.value = res.data.ryjbxx;
|
||||||
|
dataMyTag.camera = res.data.camera;
|
||||||
dataMyTag.myTag.forEach((item) => {
|
dataMyTag.myTag.forEach((item) => {
|
||||||
item.show = 0;
|
item.show = 0;
|
||||||
res.data.rybqxx.forEach((itemm, indexx) => {
|
res.data.rybqxx.forEach((itemm, indexx) => {
|
||||||
|
@ -788,7 +820,10 @@ const oneCardSolution = () => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
// 打开摄像头
|
||||||
|
const openCamera = () => {
|
||||||
|
cameraShow.value = true;
|
||||||
|
};
|
||||||
const back = () => {
|
const back = () => {
|
||||||
if (jump.value == "detail") {
|
if (jump.value == "detail") {
|
||||||
router.back();
|
router.back();
|
||||||
|
@ -812,7 +847,7 @@ onMounted(() => {
|
||||||
dataMyTag.identNo = routers.query.identNo;
|
dataMyTag.identNo = routers.query.identNo;
|
||||||
jump.value = "detail";
|
jump.value = "detail";
|
||||||
getData(routers.query.identNo);
|
getData(routers.query.identNo);
|
||||||
onClickTag2("出生",'出生');
|
onClickTag2("出生", "出生");
|
||||||
} else {
|
} else {
|
||||||
jump.value = "map";
|
jump.value = "map";
|
||||||
}
|
}
|
||||||
|
@ -1169,6 +1204,12 @@ onMounted(() => {
|
||||||
line-height: 22px;
|
line-height: 22px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.videoCamera {
|
||||||
|
position: absolute;
|
||||||
|
top: 8px;
|
||||||
|
right: 30px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
.widu {
|
.widu {
|
||||||
min-width: 40px !important;
|
min-width: 40px !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,7 +169,10 @@
|
||||||
<div v-else>未居住</div>
|
<div v-else>未居住</div>
|
||||||
</template>
|
</template>
|
||||||
<template #sxt="{ currentCol, currentData }">
|
<template #sxt="{ currentCol, currentData }">
|
||||||
<div>摄像头</div>
|
<el-icon size="24" color="#fff"
|
||||||
|
v-if="currentData.camera"
|
||||||
|
><VideoCamera
|
||||||
|
/></el-icon>
|
||||||
</template>
|
</template>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
<personDetail
|
<personDetail
|
||||||
|
@ -199,6 +202,7 @@ 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";
|
||||||
import mapTown from "@/assets/json/ly.json";
|
import mapTown from "@/assets/json/ly.json";
|
||||||
|
import { VideoCamera } from "@element-plus/icons-vue";
|
||||||
// import xkz from "@/assets/json/xkz.json";
|
// import xkz from "@/assets/json/xkz.json";
|
||||||
import cssj from "@/assets/json/cssj.json";
|
import cssj from "@/assets/json/cssj.json";
|
||||||
import j0 from "@/assets/images/map/j0.png";
|
import j0 from "@/assets/images/map/j0.png";
|
||||||
|
@ -1642,11 +1646,11 @@ const changeys = (name) => {
|
||||||
} else {
|
} else {
|
||||||
yaosuList.value.push(name);
|
yaosuList.value.push(name);
|
||||||
let url;
|
let url;
|
||||||
let img
|
let img;
|
||||||
yaosuTotal.value.forEach((item, index) => {
|
yaosuTotal.value.forEach((item, index) => {
|
||||||
if (item.name == name) {
|
if (item.name == name) {
|
||||||
url = item.url;
|
url = item.url;
|
||||||
img=item.img
|
img = item.img;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(name=='摄像头'){
|
if(name=='摄像头'){
|
||||||
|
@ -1667,7 +1671,7 @@ const getZyys = (url, name,img) => {
|
||||||
item.center.push(Number(item.wd));
|
item.center.push(Number(item.wd));
|
||||||
});
|
});
|
||||||
yaosuIcon.value[name].sj.forEach((itemm, indexx) => {
|
yaosuIcon.value[name].sj.forEach((itemm, indexx) => {
|
||||||
createZyys(itemm,indexx,name)
|
createZyys(itemm, indexx, name);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1689,7 +1693,9 @@ const createZyys = (polygon, indexx, name) => {
|
||||||
content.appendChild(img2);
|
content.appendChild(img2);
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
yaosuIcon.value[name].sj[indexx].overlay = new BMapGL.CustomOverlay(createLabelDOM, {
|
yaosuIcon.value[name].sj[indexx].overlay = new BMapGL.CustomOverlay(
|
||||||
|
createLabelDOM,
|
||||||
|
{
|
||||||
point: new BMapGL.Point(...polygon.center),
|
point: new BMapGL.Point(...polygon.center),
|
||||||
opacity: 0.5,
|
opacity: 0.5,
|
||||||
offsetY: -10,
|
offsetY: -10,
|
||||||
|
@ -1697,7 +1703,8 @@ const createZyys = (polygon, indexx, name) => {
|
||||||
imgSrc2: polygon.img,
|
imgSrc2: polygon.img,
|
||||||
type: "customOverlay",
|
type: "customOverlay",
|
||||||
},
|
},
|
||||||
});
|
}
|
||||||
|
);
|
||||||
map.addOverlay(yaosuIcon.value[name].sj[indexx].overlay);
|
map.addOverlay(yaosuIcon.value[name].sj[indexx].overlay);
|
||||||
};
|
};
|
||||||
//----------资源要素------------
|
//----------资源要素------------
|
||||||
|
|
Loading…
Reference in New Issue