This commit is contained in:
lcw
2025-09-28 15:53:38 +08:00
parent b937d8be0a
commit 857b1afe46
115 changed files with 538 additions and 346 deletions

View File

@ -85,7 +85,7 @@ const query = computed(() => {
padding-left: 20px;
font-size: 20px;
font-family: "YSBTH";
background: linear-gradient(0deg, #59a6f4 0%);
background: linear-gradient(0deg, #59a6f4 0%, #ffffff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

View File

@ -31,7 +31,8 @@
/>
</el-form-item>
<el-form-item style="width: 40%" prop="sbmc" label="感知源名称">
<el-input :disabled="forbidden"
<el-input readonly :disabled="forbidden"
@click="openDialog=true"
v-model="listQuery.sbmc"
placeholder="请输入感知源名称"
style="width: 100%"
@ -97,7 +98,7 @@
></el-option>
</el-select>
</el-form-item> -->
<el-form-item style="width: 40%" label="环林卡口名称">
<el-form-item style="width: 40%" label="环林卡口名称" prop="jczmc">
<div class="diviput" @click="!forbidden?showJcz = true:''">
<span v-if="listQuery.jczmc">{{ listQuery.jczmc }}</span>
<span class="placeholder" v-else> 请选择布控卡口</span>
@ -128,6 +129,7 @@
</div>
</div>
<Jczloder v-model="showJcz" :Single="true" @choosedJcz="JczMsg" :data="[]" />
<ChooseGzy v-model="openDialog" @choose="chooseDataGzy" />
</template>
<script setup>
@ -136,6 +138,7 @@ import { TtbJczSxtAdd, Ttbgetupdate } from "@/api/mosty-jcz.js";
import * as MOSTY from "@/components/MyComponents/index";
import emitter from "@/utils/eventBus.js";
import Jczloder from "@/components/loder/Jczloder.vue";
import ChooseGzy from "@/components/chooseList/chooseGzy.vue";
import GdMap from "@/components/GdMap/index.vue";
import { ElMessage } from "element-plus";
const props = defineProps({
@ -175,7 +178,13 @@ const rules = reactive({
required: true,
message: "请输入经度"
}
]
],
jczmc: [
{
required: true,
message: "请输入环林卡口名称"
}
],
});
const formRef = ref(null);
const emit = defineEmits(["getjczgetXfllList"]);
@ -223,8 +232,6 @@ const init = (type, row) => {
//保存
const _onSave = () => {
if (!formRef) return;
console.log(listQuery.value);
formRef.value.validate((valid, fields) => {
if (valid) {
if (pageType.value == "add") {
@ -284,6 +291,19 @@ const JczMsg = (val) => {
listQuery.value.jczmc = val.jczmc;
listQuery.value.jczid = val.id;
};
const chooseDataGzy = (val) => {
listQuery.value.sbmc = val.sbmc
listQuery.value.sblx = val.sblx
listQuery.value.sbbh = val.sbbh
listQuery.value.wd = val.wd
listQuery.value.jd = val.jd
listQuery.value.dzmc = val.dzmc
listQuery.value.csmc = val.csmc
listQuery.value.sblxdm = val.sblxdm
listQuery.value.sblx = val.sblx
}
// 选择感知源
const openDialog=ref(false)
defineExpose({ init });
</script>

View File

@ -2,12 +2,12 @@
<div>
<div class="titleBox">
<PageTitle title="感知源管理">
<el-button :disabled="ids.length<=0" type="primary" @click="delDictItem(ids)" v-if="Auth">
<!-- <el-button :disabled="ids.length<=0" type="primary" @click="delDictItem(ids)" v-if="Auth">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" >批量删除</span>
</el-button>
</el-button> -->
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
<el-icon style="vertical-align: middle">
<CirclePlus />
@ -55,6 +55,7 @@
<EditAddForm ref="detailDiloag" :dict="{ D_BZ_SF, D_BZ_SBLX, D_BZ_DWFL, D_BZ_GZSBLX }"
@getjczgetXfllList="getjczgetXfllList" />
</div>
</template>
<script setup>
@ -67,8 +68,9 @@ import EditAddForm from "./components/editAddForm.vue";
import { TtbgetPageList, gzydeleteList } from "@/api/mosty-jcz.js";
import { isAuth } from '@/utils/tools.js'
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
const { proxy } = getCurrentInstance();
const { D_BZ_SBLX, D_BZ_SF, D_BZ_DWFL, D_BZ_GZSBLX } = proxy.$dict(
"D_BZ_SBLX",
"D_BZ_SF",
@ -103,7 +105,7 @@ const pageData = reactive({
keyCount: 0,
tableConfiger: {
rowHieght: 61,
showSelectType: "checkBox",
showSelectType: "null",
loading: false
},
total: 0,
@ -207,6 +209,9 @@ const tabHeightFn = () => {
const chooseData = (val) => {
ids.value=val.map(item=>item.id)
}
</script>
<style>

View File

@ -123,7 +123,7 @@ getcountCrl();
font-size: 18px;
position: relative;
padding-left: 12px;
background: linear-gradient(0deg, #59a6f4 0%, #ffffff 90%);
background: linear-gradient(0deg, #59a6f4 0%, #ffffff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

View File

@ -4,8 +4,8 @@
<img src="@/assets/images/tc/close.png" alt="" srcset="" />
</div>
<div class="flex just-between align-center bt">
<div class="headline">{{ BbMag?.jczmc }}</div>
<div class="headbut" style="" @click="enterLevel">进入检查站</div>
<div class="headline">{{ JczData.jczmc }}</div>
<div class="headbut" @click="enterLevel">进入检查站</div>
</div>
<div class="flex just-between content">
<div class="contentLeft">
@ -15,7 +15,8 @@
</div>
<div class="leftMag">
<div class="ld">值班领导</div>
<div class="name">{{ BbMag?.fzrXm }}</div>
<div class="name" v-if="BbMag.fzrXm">{{ BbMag?.fzrXm }}</div>
<div class="name" v-else>暂无报备数据</div>
</div>
</div>
<div class="flex">
@ -24,7 +25,8 @@
</div>
<div class="leftMag">
<div class="ld">联系电话</div>
<div class="name">{{ BbMag?.fzrLxdh }}</div>
<div class="name" v-if="BbMag.fzrXm">{{ BbMag?.fzrLxdh }}</div>
<div class="name" v-else>暂无报备数据</div>
</div>
</div>
<div class="dutyList flex just-between align-center">
@ -85,15 +87,17 @@ const BbMag = ref({ ryList: [] });
const getjczqueryByIdFeign = () => {
jczqueryById({ jczid: props.JczData.id }).then((res) => {
BbMag.value = res;
if (res.ryList) {
if (res) {
BbMag.value.mjsl = res.ryList.filter((el) => {
return el.ryMfjlb == '01'
}).length
BbMag.value.fjsl = res.ryList.filter((el) => {
return el.ryMfjlb == '02'
}).length
} else {
BbMag.value = {}
}
});
};
getjczqueryByIdFeign();

View File

@ -1,7 +1,13 @@
<template>
<div class="homeBox">
<GdMap></GdMap>
<!-- 头部 -->
<Head></Head>
<!-- 左边 内容-->
<div class="home-aside asideL">
@ -41,8 +47,12 @@
</div>
</div>
</div>
<div class="asideB" >
<img src="@/assets/images/bi/gzy.png" @click="getsxtGetList"/>
</div>
</div>
<Entrance v-if="showEntrance" :JczData="JczData" />
<PopupWindows />
</template>
<script setup>
@ -54,9 +64,10 @@ import PeoWarning from "./components/PeoWarning.vue";
import BeOnDuty from "./components/beonDuty.vue";
import Entrance from "./components/entrance.vue";
import WanringAnyse from "./components/wanringAnyse.vue";
import { jczgetJczList } from "@/api/mosty-jcz";
import {ysSxtGetList} from '@/api/yszx.js'
import { jczgetJczList, sxtGetList } from "@/api/mosty-jcz";
import { ysSxtGetList } from '@/api/yszx.js'
import emitter from "@/utils/eventBus.js";
import PopupWindows from "@/components/popupWindows/index.vue";
import { ref, onMounted } from "vue";
//获取所有检查站
@ -73,24 +84,36 @@ const showEntrance = ref(false);
onMounted(() => {
emitter.on("showJcz", (res) => {
if (res) {
const promes = {
jczid: res.id,
}
showEntrance.value = true;
JczData.value = res;
emitter.emit("deletePointArea", "jczMap_Gzy");
sxtGetList(promes).then(resData => {
emitter.emit("addPointArea", {
coords: resData,
icon: require("@/assets/point/sp.png"),
flag: "jczMap_Gzy"
});
})
} else {
showEntrance.value = false;
}
});
});
const sxtGetList = () => {
const getsxtGetList = () => {
ysSxtGetList().then(res => {
emitter.emit("deletePointArea", "jczMap_Gzy");
emitter.emit("addPointArea", {
coords: res,
icon: require("@/assets/point/sp.png"),
flag: "jczMap_Gzy"
});
})
}
// sxtGetList()
const showDiclog = ref(true)
getsxtGetList()
</script>
<style lang="scss" scoped>
@ -98,6 +121,7 @@ const sxtGetList = () => {
width: 100%;
height: 100vh;
position: relative;
.home-aside {
overflow: hidden;
z-index: 3;
@ -108,14 +132,17 @@ const sxtGetList = () => {
top: 65px;
background: #0e1b29;
}
// 左边
.asideL {
left: 0;
.asideL-top {
height: 480px;
background: url("~@/assets/images/border_L_T.png") no-repeat center center;
background-size: 100% 100%;
}
.asideL-bottom {
height: calc((100% - 505px) / 2);
margin-top: 10px;
@ -124,23 +151,28 @@ const sxtGetList = () => {
background-size: 100% 100%;
}
}
// 右边
.asideR {
right: 0;
padding-right: 10px;
box-sizing: border-box;
.asideL-top {
height: 40%;
background: url("~@/assets/images/border_R_T.png") no-repeat center center;
background-size: 100% 100%;
}
.asideL-bottom {
height: 60%;
background: url("~@/assets/images/border_R_B.png") no-repeat center center;
background-size: 100% 100%;
}
}
.asideB{
position: absolute;bottom: 50px;z-index:11;left: 50%;transform: translateX(-50%);height: 100px;width: 50%;padding: 0 30px;
}
// 公用
.common-title {
padding: 0 54px;
@ -151,11 +183,11 @@ const sxtGetList = () => {
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.comom-cnt {
height: calc(100% - 30px);
padding: 4px 20px;
box-sizing: border-box;
}
}
</style>