lcw
This commit is contained in:
File diff suppressed because one or more lines are too long
@ -1,26 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog
|
||||
:title="titleValue"
|
||||
width="1400px"
|
||||
v-model="modelValue"
|
||||
@close="closed"
|
||||
>
|
||||
<el-dialog :title="titleValue" width="1400px" v-model="modelValue" @close="closed">
|
||||
<div v-if="modelValue">
|
||||
<el-form :model="listQuery" class="mosty-from-wrap" :inline="true">
|
||||
<el-form-item label="所属部门">
|
||||
<MOSTY.Department
|
||||
width="100%"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
/>
|
||||
<MOSTY.Department width="100%" clearable v-model="listQuery.ssbmdm" />
|
||||
</el-form-item>
|
||||
<el-form-item label="环林卡口名称">
|
||||
<el-input
|
||||
v-model="listQuery.jczmc"
|
||||
placeholder="请输入环林卡口名称"
|
||||
clearable
|
||||
/>
|
||||
<el-input v-model="listQuery.jczmc" placeholder="请输入环林卡口名称" clearable />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
@ -29,98 +16,34 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="tabBox" style="margin-top: 0px" v-if="modelValue">
|
||||
<el-table
|
||||
ref="multipleUserRef"
|
||||
@selection-change="handleSelectionChange"
|
||||
:data="tableData"
|
||||
:highlight-current-row="props.Single"
|
||||
border
|
||||
v-loading="loading"
|
||||
style="width: 100%"
|
||||
:row-key="keyid"
|
||||
height="450"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
:reserve-selection="true"
|
||||
v-if="!props.Single"
|
||||
/>
|
||||
<el-table ref="multipleUserRef" @selection-change="handleSelectionChange" :data="tableData"
|
||||
:highlight-current-row="props.Single" border v-loading="loading" style="width: 100%" :row-key="keyid"
|
||||
height="450">
|
||||
<el-table-column type="selection" width="55" :reserve-selection="true" v-if="!props.Single" />
|
||||
<el-table-column width="55" #default="{ row }" v-else>
|
||||
<el-radio v-model="ridioIndex" :label="row.id"></el-radio>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
sortable
|
||||
width="80"
|
||||
/>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="ssbm"
|
||||
label="所属部门"
|
||||
show-overflow-tooltip
|
||||
align="center"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="jczmc"
|
||||
show-overflow-tooltip
|
||||
align="center"
|
||||
label="环林卡口名称"
|
||||
>
|
||||
<el-table-column label="序号" type="index" align="center" sortable width="80" />
|
||||
<el-table-column sortable prop="ssbm" label="所属部门" show-overflow-tooltip align="center"></el-table-column>
|
||||
<el-table-column sortable prop="jczmc" show-overflow-tooltip align="center" label="环林卡口名称">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
align="center"
|
||||
label="环林卡口类型"
|
||||
prop="jczlx"
|
||||
>
|
||||
<el-table-column show-overflow-tooltip align="center" label="环林卡口类型" prop="jczlx">
|
||||
<template #default="{ row }">
|
||||
<dict-tag
|
||||
:options="D_BZ_JCZLX"
|
||||
:value="row.jczlx"
|
||||
:tag="false"
|
||||
/>
|
||||
<dict-tag :options="D_BZ_JCZLX" :value="row.jczlx" :tag="false" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="xxdz"
|
||||
show-overflow-tooltip
|
||||
align="center"
|
||||
label="环林卡口地址"
|
||||
>
|
||||
<el-table-column prop="xxdz" show-overflow-tooltip align="center" label="环林卡口地址">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="jd"
|
||||
show-overflow-tooltip
|
||||
label="经度"
|
||||
align="center"
|
||||
>
|
||||
<el-table-column sortable prop="jd" show-overflow-tooltip label="经度" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="wd"
|
||||
show-overflow-tooltip
|
||||
label="纬度"
|
||||
align="center"
|
||||
>
|
||||
<el-table-column sortable prop="wd" show-overflow-tooltip label="纬度" align="center">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="fenye" >
|
||||
<el-pagination
|
||||
class="pagination"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="listQuery.pageCurrent"
|
||||
:page-sizes="[2, 5, 10, 20]"
|
||||
:page-size="listQuery.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"
|
||||
></el-pagination>
|
||||
<div class="fenye">
|
||||
<el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:current-page="listQuery.pageCurrent" :page-sizes="[2, 5, 10, 20]" :page-size="listQuery.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
@ -220,7 +143,9 @@ const onComfirm = () => {
|
||||
proxy.$message.warning("请选择环林卡口");
|
||||
return;
|
||||
}
|
||||
emits("choosedJcz", [...jczList, ...checkopenList.value]);
|
||||
console.log(checkopenList.value,'checkopenList.value');
|
||||
|
||||
emits("choosedJcz", [...jczList, ...checkopenList?.value]);
|
||||
}
|
||||
closed();
|
||||
};
|
||||
@ -250,7 +175,7 @@ const getListData = async () => {
|
||||
loading.value = false
|
||||
multipleUser(props.data, tableData.value);
|
||||
total.value = Number(res.total);
|
||||
}).catch(()=>{ loading.value = false });
|
||||
}).catch(() => { loading.value = false });
|
||||
};
|
||||
const handleFilter = () => {
|
||||
listQuery.value.pageCurrent = 1;
|
||||
@ -324,14 +249,16 @@ watch(
|
||||
<style lang="scss" scoped>
|
||||
@import "@/assets/css/layout.scss";
|
||||
@import "@/assets/css/element-plus.scss";
|
||||
|
||||
::v-deep .el-form--inline {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
::v-deep .el-radio__label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
::v-deep .el-table__body tr.current-row > td.el-table__cell {
|
||||
::v-deep .el-table__body tr.current-row>td.el-table__cell {
|
||||
background: #106fdc;
|
||||
}
|
||||
</style>
|
||||
|
371
src/components/GdMap/indexnw.vue
Normal file
371
src/components/GdMap/indexnw.vue
Normal file
@ -0,0 +1,371 @@
|
||||
<template>
|
||||
<div :id="mapid" class="map"></div>
|
||||
<div class="changeMap_box" v-if="props.isShow">
|
||||
<el-switch
|
||||
v-model="conditionRoute"
|
||||
@change="handleSwitch"
|
||||
active-text="打开路况"
|
||||
inactive-text="关闭路况"
|
||||
style="--el-switch-color: #13ce66; --el-switch-off-color: #ff4949"
|
||||
/>
|
||||
<!-- <el-carousel type="card" height="75px" :autoplay="false" indicator-position="none" :initial-index="3" @change="onMapImageChange">
|
||||
<el-carousel-item>
|
||||
<div class="mapImageItem">
|
||||
<img :src="require('@/assets/images/slt.jpg')" alt="" />
|
||||
<div>栅格浅色</div>
|
||||
</div>
|
||||
</el-carousel-item>
|
||||
<el-carousel-item>
|
||||
<div class="mapImageItem">
|
||||
<img :src="require('@/assets/images/yxt.jpg')" alt="" />
|
||||
<div>影像图</div>
|
||||
</div>
|
||||
</el-carousel-item>
|
||||
<el-carousel-item>
|
||||
<div class="mapImageItem">
|
||||
<img :src="require('@/assets/images/yst.jpg')" alt="" />
|
||||
<div>栅格深色</div>
|
||||
</div>
|
||||
</el-carousel-item>
|
||||
<el-carousel-item>
|
||||
<div class="mapImageItem">
|
||||
<img :src="require('@/assets/images/shy.png')" alt="" />
|
||||
<div>三合一</div>
|
||||
</div>
|
||||
</el-carousel-item>
|
||||
</el-carousel> -->
|
||||
<!-- 地图缩放 -->
|
||||
<div class="zoomTargetBox">
|
||||
<el-input-number
|
||||
:min="7"
|
||||
:max="18"
|
||||
v-model="zoomTarget"
|
||||
:step="1"
|
||||
step-strictly
|
||||
@change="handleZoom"
|
||||
>
|
||||
</el-input-number>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, onUnmounted, defineProps, nextTick } from "vue";
|
||||
import { MapUtil } from "./mapUtil";
|
||||
import emitter from "@/utils/eventBus.js";
|
||||
import { getItem } from "@/utils/storage";
|
||||
const conditionRoute = ref(true); //路况
|
||||
const mMap = ref(null); //地图对象
|
||||
const mapUtil = ref(null); //地图工具对象
|
||||
const zoomTarget = ref(6);
|
||||
|
||||
const props = defineProps({
|
||||
mapid: {
|
||||
type: String,
|
||||
default: "mapDiv"
|
||||
},
|
||||
//是否显示可以切换地图底图
|
||||
isShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
//是否显示实时路况
|
||||
isShowMvt: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
//是否显示地图层级
|
||||
isShowZoom: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
//是否显示绘制控件
|
||||
isShowDraw: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
});
|
||||
try {
|
||||
const userInfo = getItem("deptId")[0].deptCode;
|
||||
} catch (error) {}
|
||||
let map;
|
||||
let mapLayer;
|
||||
let mapLayer1;
|
||||
onMounted(() => {
|
||||
emitter.on("followUp", (res) => {
|
||||
let box = document.getElementsByClassName("changeMap_box");
|
||||
if (!box) return;
|
||||
box[0].style.right = !res ? "4px" : "398px";
|
||||
box[0].style.transition = "0.5s";
|
||||
});
|
||||
|
||||
map = new EliMap({
|
||||
id: props.mapid,
|
||||
crs: "EPSG:4490",
|
||||
style: {
|
||||
glyphs: "./fonts/{fontstack}/{range}.pbf",
|
||||
center: [94.36057012, 29.64276831],
|
||||
zoom: 15
|
||||
},
|
||||
minZoom: 7,
|
||||
maxZoom: 18
|
||||
});
|
||||
window.map = map;
|
||||
map.mapboxGLMap.on("load", () => {
|
||||
map.addWMTSLayer(
|
||||
"/PGIS_S_TileMapServer/Maps/XZDJ_SL/EzMap",
|
||||
{
|
||||
Service: "getImage",
|
||||
Type: "RGB",
|
||||
ZoomOffset: "0",
|
||||
V: "0.3",
|
||||
Zoom: "{z}",
|
||||
Row: "{y}",
|
||||
Col: "{x}"
|
||||
},
|
||||
{
|
||||
tileSize: 300
|
||||
}
|
||||
);
|
||||
zoomTarget.value = map.mapboxGLMap.getZoom();
|
||||
});
|
||||
mapUtil.value = new MapUtil(map);
|
||||
|
||||
mapUtil.value.Drawplot(); //初始化加载绘制工具
|
||||
|
||||
// 设置地图中心点及图层
|
||||
emitter.on("setMapCenter", (res) => {
|
||||
mapUtil.value.setMapCenter(res.location, res.zoomLevel);
|
||||
});
|
||||
|
||||
emitter.on("removePlot", (flag) => {
|
||||
mapUtil.value.removePlot(flag);
|
||||
});
|
||||
emitter.on("removeAll", (flag) => {
|
||||
mapUtil.value.removeAll(flag);
|
||||
});
|
||||
// 撒点
|
||||
emitter.on("addPointArea", (obj) => {
|
||||
mapUtil.value.makerSki(obj);
|
||||
});
|
||||
// 鼠标滑过提示文字的点位
|
||||
emitter.on("showPoint", (obj) => {
|
||||
mapUtil.value.showPoint(obj);
|
||||
});
|
||||
|
||||
// 清除覆盖物
|
||||
emitter.on("deletePointArea", (res) => {
|
||||
mapUtil.value.removeElement(res);
|
||||
});
|
||||
// 清除某个覆盖物的单个
|
||||
emitter.on("deletePointAreaOne", (obj) => {
|
||||
mapUtil.value.removeElementOne(obj.flag, obj.id);
|
||||
});
|
||||
|
||||
// 清除某个覆盖物的单个
|
||||
emitter.on("showSquire", (obj) => {
|
||||
mapUtil.value.zdySquire(obj);
|
||||
});
|
||||
|
||||
// 绘制图形 - 回显区域
|
||||
emitter.on("drawShape", (res) => {
|
||||
mapUtil.value.plot(res, resFun);
|
||||
});
|
||||
emitter.on("removeEara", (flag) => {
|
||||
mapUtil.value.removeEara(flag);
|
||||
});
|
||||
// 回显图形
|
||||
emitter.on("echoPlane", (res) => {
|
||||
mapUtil.value.echoPlane(res);
|
||||
});
|
||||
//移除绘制区域
|
||||
emitter.on("removeEara", (flag) => {
|
||||
mapUtil.value.removeEara(flag);
|
||||
});
|
||||
// 回显线
|
||||
emitter.on("echoLine", (res) => {
|
||||
mapUtil.value.createLine(res, res.flag);
|
||||
});
|
||||
//创建边界面(geojson)
|
||||
emitter.on("setBoundarys", (res) => {
|
||||
mapUtil.value.createBoundarys(res);
|
||||
});
|
||||
// 移除边界
|
||||
emitter.on("removeBj", (res) => {
|
||||
mapUtil.value.removeBj(res);
|
||||
});
|
||||
|
||||
// 轨迹回放
|
||||
emitter.on("drawLineAnimation", (res) => {
|
||||
mapUtil.value.displayLineAnimation(res);
|
||||
});
|
||||
|
||||
// 聚合撒点
|
||||
emitter.on("addPoint", (obj) => {
|
||||
mapUtil.value.aggregateScatteringPoint(obj);
|
||||
});
|
||||
|
||||
// 热力图显示
|
||||
emitter.on("thermodynamicChart", (res) => {
|
||||
mapUtil.value.showHeatDrawing(res);
|
||||
});
|
||||
|
||||
// 扩散圆
|
||||
emitter.on("diffusionCircle", (res) => {
|
||||
mapUtil.value.diffusionCircle(res);
|
||||
});
|
||||
|
||||
// 展示盘曲
|
||||
emitter.on("showGapText", (obj) => {
|
||||
mapUtil.value.gapText(obj);
|
||||
});
|
||||
|
||||
// 获取当前地图中心点
|
||||
emitter.on("getCurrentCenter", (res) => {
|
||||
let centerPoint = map.mapboxGLMap.getCenter();
|
||||
let coords = [centerPoint.lng, centerPoint.lat];
|
||||
emitter.emit("getcentercoord", coords);
|
||||
});
|
||||
});
|
||||
//切换地图底图
|
||||
const onMapImageChange = (val) => {
|
||||
//清除已经存在胡地图图层
|
||||
if (map.mapboxGLMap.getLayer("SGQS_ID"))
|
||||
map.mapboxGLMap.removeLayer("SGQS_ID");
|
||||
if (map.mapboxGLMap.getLayer("YX_ID")) map.mapboxGLMap.removeLayer("YX_ID");
|
||||
if (map.mapboxGLMap.getLayer("SGSG_ID"))
|
||||
map.mapboxGLMap.removeLayer("SGSG_ID");
|
||||
if (map.mapboxGLMap.getLayer("TDT_TITLE_ID"))
|
||||
map.mapboxGLMap.removeLayer("TDT_TITLE_ID");
|
||||
if (map.mapboxGLMap.getLayer("TDT_ROAD_ID"))
|
||||
map.mapboxGLMap.removeLayer("TDT_ROAD_ID");
|
||||
if (map.mapboxGLMap.getLayer("TDT_POI_ID"))
|
||||
map.mapboxGLMap.removeLayer("TDT_POI_ID");
|
||||
//设置图层
|
||||
switch (val) {
|
||||
case 0:
|
||||
mapSetLayer("SGQS_ID", "SGQS");
|
||||
break;
|
||||
case 1:
|
||||
mapSetLayer("YX_ID", "YX");
|
||||
break;
|
||||
case 2:
|
||||
mapSetLayer("SGSG_ID", "SGSG");
|
||||
break;
|
||||
case 3:
|
||||
mapSetLayer("TDT_TITLE_ID", "TDT_TITLE_SOURCES");
|
||||
mapSetLayer("TDT_ROAD_ID", "TDT_ROAD_SOURCES");
|
||||
mapSetLayer("TDT_POI_ID", "TDT_POI_SOURCES");
|
||||
break;
|
||||
}
|
||||
if (map.mapboxGLMap.getLayer("realTimeTrafficlevelOne"))
|
||||
map.mapboxGLMap.moveLayer("realTimeTrafficlevelOne");
|
||||
if (map.mapboxGLMap.getLayer("map_id")) map.mapboxGLMap.moveLayer("map_id");
|
||||
if (map.mapboxGLMap.getLayer("map_ids")) map.mapboxGLMap.moveLayer("map_ids");
|
||||
};
|
||||
|
||||
//设置图层函数
|
||||
const mapSetLayer = (id, source) => {
|
||||
map.mapboxGLMap.addLayer({ id, type: "raster", source });
|
||||
};
|
||||
|
||||
//获取地图绘制的数据
|
||||
const resFun = (coord, type, flag, data) => {
|
||||
emitter.emit("coordString", {
|
||||
coord: coord,
|
||||
type: type,
|
||||
flag: flag,
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 地图层级
|
||||
const handleZoom = (val) => {
|
||||
map.mapboxGLMap.setZoom(val);
|
||||
};
|
||||
|
||||
// 是否打开或者关闭路况
|
||||
const handleSwitch = (val) => {
|
||||
if (val) {
|
||||
// 打开
|
||||
} else {
|
||||
// 关闭
|
||||
}
|
||||
};
|
||||
|
||||
onUnmounted(() => {
|
||||
emitter.off("removePlot");
|
||||
emitter.off("setMapCenter");
|
||||
emitter.off("addPointArea");
|
||||
emitter.off("showPoint");
|
||||
emitter.off("deletePointArea");
|
||||
emitter.off("deletePointAreaOne");
|
||||
emitter.off("drawShape");
|
||||
emitter.off("echoPlane");
|
||||
emitter.off("removeEara");
|
||||
emitter.off("echoLine");
|
||||
emitter.off("addPoint");
|
||||
emitter.off("thermodynamicChart");
|
||||
emitter.off("drawLineAnimation");
|
||||
emitter.off("aggregateScatteringPoint");
|
||||
emitter.off("hotmap");
|
||||
emitter.off("setBoundarys");
|
||||
emitter.off("diffusionCircle");
|
||||
emitter.off("SsCircle");
|
||||
emitter.off("ClearssCircle");
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.map {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: aliceblue;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.changeMap_box {
|
||||
position: absolute;
|
||||
right: 398px;
|
||||
bottom: 4px;
|
||||
z-index: 9;
|
||||
|
||||
.mapImageItem {
|
||||
border: 1px solid #08aae8;
|
||||
background: rgb(9, 26, 70);
|
||||
|
||||
& > img {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
& > div {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
top: -3px;
|
||||
}
|
||||
}
|
||||
|
||||
.zoomTargetBox {
|
||||
margin-top: 10px;
|
||||
margin-left: 23px;
|
||||
}
|
||||
|
||||
::v-deep .el-input-number__decrease,
|
||||
::v-deep .el-input-number__increase {
|
||||
background: #133362;
|
||||
color: #fff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
::v-deep .el-input__inner {
|
||||
background: #0c1641;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -420,7 +420,7 @@ const handleData = (val, type) => {
|
||||
break;
|
||||
case "zdsb":
|
||||
title.value = "终端选择";
|
||||
url.value = "/mosty-jcgl/tbJcglZdsb/selectPage";
|
||||
url.value = "/mosty-qwzx/tbQwglZdsb/selectPage";
|
||||
arr = [
|
||||
{ label: "设备编号", prop: "sbbh" },
|
||||
{ label: "设备名称", prop: "sbmc" },
|
||||
@ -526,7 +526,7 @@ const handleData = (val, type) => {
|
||||
break;
|
||||
case "zfjly":
|
||||
title.value = "选择执法记录仪";
|
||||
url.value = "/mosty-jcgl/tbJcglTcsb/selectPage";
|
||||
url.value = "/mosty-qwzx/tbQwglTcsb/selectPage";
|
||||
let crr = [
|
||||
{ label: "设备名称", prop: "sbmc" },
|
||||
{ label: "设备编号", prop: "sbbh" },
|
||||
|
@ -66,10 +66,12 @@ onMounted(() => {
|
||||
activeMeun.value = window.localStorage.getItem("activeId");
|
||||
});
|
||||
const logout = () => {
|
||||
store.dispatch("user/logout");
|
||||
window.opener = null;
|
||||
window.open('', '_self');
|
||||
window.close();
|
||||
store.commit("app/clearTag", null, { immediate: true });
|
||||
store.commit("permission/deleteRouter", { immediate: true });
|
||||
store.commit("user/deleteKeepLiiveRoute", "lz/home");
|
||||
store.commit("user/deleteKeepLiiveRoute", "home");
|
||||
};
|
||||
// 菜单切换
|
||||
const handleMeun = (item, idx) => {
|
||||
|
13
src/main.js
13
src/main.js
@ -1,8 +1,6 @@
|
||||
import * as ElIcons from "@element-plus/icons-vue";
|
||||
import Axios from 'axios'
|
||||
import {
|
||||
createApp
|
||||
} from "vue";
|
||||
import { createApp } from "vue";
|
||||
import App from "./App.vue";
|
||||
import router from "./router";
|
||||
import store from "./store";
|
||||
@ -47,13 +45,8 @@ import installFilter from "@/filters";
|
||||
//事件总线
|
||||
import mitt from "mitt";
|
||||
|
||||
import {
|
||||
resetForm
|
||||
} from "@/utils/validate";
|
||||
import {
|
||||
getDict,
|
||||
setCascader
|
||||
} from '@/utils/dict';
|
||||
import { resetForm } from "@/utils/validate";
|
||||
import { getDict, setCascader } from '@/utils/dict';
|
||||
import axios from "axios";
|
||||
|
||||
//挂载全局方法
|
||||
|
@ -24,22 +24,24 @@ export const privateRoutes = [];
|
||||
/**
|
||||
* 公开路由表
|
||||
*/
|
||||
export const publicRoutes = [{
|
||||
export const publicRoutes = [
|
||||
{
|
||||
path: "/oatuh_login",
|
||||
component: () => import("@/views/login/oatuh_login") //统一登录
|
||||
}, {
|
||||
name: "oatuh_login",
|
||||
component: () => import("@/views/login/oatuh_login")
|
||||
}, {
|
||||
path: "/login",
|
||||
name: 'login',
|
||||
component: () => import("@/views/login/index") //系统登录
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: "/preview",
|
||||
name: 'preview',
|
||||
props: true,
|
||||
component: () => import("@/views/largeScreen/commandDispatch/index.vue") //系统登录
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
path: "/edit",
|
||||
// 注意:带有路径“/”的记录中的组件“默认”是一个不返回 Promise 的函数
|
||||
component: layout,
|
||||
@ -222,41 +224,41 @@ export const publicRoutes = [{
|
||||
}
|
||||
}]
|
||||
},
|
||||
{
|
||||
path: "/qwkh",
|
||||
name: "qwkh",
|
||||
redirect: "/sjfx",
|
||||
meta: {
|
||||
title: "勤务考核管理",
|
||||
icon: "role"
|
||||
}, children: [{
|
||||
path: "/sjfx",
|
||||
name: "sjfx",
|
||||
component: () => import("@/views/backOfficeSystem/kaoQinGL/sjfx/index"),
|
||||
meta: {
|
||||
title: "数据分析",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/ydbb",
|
||||
name: "ydbb",
|
||||
component: () => import("@/views/backOfficeSystem/qwManagement/ydbb/index"),
|
||||
meta: {
|
||||
title: "移动勤务报备",
|
||||
icon: "role"
|
||||
}
|
||||
}, {
|
||||
path: "/xlzd",
|
||||
name: "xlzd",
|
||||
component: () => import("@/views/backOfficeSystem/qwManagement/xlzd/index"),
|
||||
meta: {
|
||||
title: "巡逻指导",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
// {
|
||||
// path: "/qwkh",
|
||||
// name: "qwkh",
|
||||
// redirect: "/sjfx",
|
||||
// meta: {
|
||||
// title: "勤务考核管理",
|
||||
// icon: "role"
|
||||
// }, children: [{
|
||||
// path: "/sjfx",
|
||||
// name: "sjfx",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/sjfx/index"),
|
||||
// meta: {
|
||||
// title: "数据分析",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// path: "/ydbb",
|
||||
// name: "ydbb",
|
||||
// component: () => import("@/views/backOfficeSystem/qwManagement/ydbb/index"),
|
||||
// meta: {
|
||||
// title: "移动勤务报备",
|
||||
// icon: "role"
|
||||
// }
|
||||
// }, {
|
||||
// path: "/xlzd",
|
||||
// name: "xlzd",
|
||||
// component: () => import("@/views/backOfficeSystem/qwManagement/xlzd/index"),
|
||||
// meta: {
|
||||
// title: "巡逻指导",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: "/qwyj",
|
||||
// name: "qwyj",
|
||||
@ -310,80 +312,80 @@ export const publicRoutes = [{
|
||||
]
|
||||
},
|
||||
// 考勤管理 流程管理 请休假管理 请休假审批 外出管理 外出审批 出差管理 出差审批
|
||||
{
|
||||
path: "/kaoQinGL",
|
||||
name: "kaoQinGL",
|
||||
redirect: "/lcgl",
|
||||
meta: {
|
||||
title: "考勤管理",
|
||||
icon: "article"
|
||||
},
|
||||
children: [{
|
||||
path: "/lcgl",
|
||||
name: "lcgl",
|
||||
component: () => import("@/views/backOfficeSystem/kaoQinGL/lcgl/index"),
|
||||
meta: {
|
||||
title: "流程管理",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
// {
|
||||
// path: "/qxjgl",
|
||||
// name: "qxjgl",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/qxjgl/index"),
|
||||
// path: "/kaoQinGL",
|
||||
// name: "kaoQinGL",
|
||||
// redirect: "/lcgl",
|
||||
// meta: {
|
||||
// title: "请休假管理",
|
||||
// title: "考勤管理",
|
||||
// icon: "article"
|
||||
// },
|
||||
// children: [{
|
||||
// path: "/lcgl",
|
||||
// name: "lcgl",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/lcgl/index"),
|
||||
// meta: {
|
||||
// title: "流程管理",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
// // {
|
||||
// // path: "/qxjgl",
|
||||
// // name: "qxjgl",
|
||||
// // component: () => import("@/views/backOfficeSystem/kaoQinGL/qxjgl/index"),
|
||||
// // meta: {
|
||||
// // title: "请休假管理",
|
||||
// // icon: "role"
|
||||
// // }
|
||||
// // },
|
||||
// {
|
||||
// path: "/qxjsp",
|
||||
// name: "qxjsp",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/qxjsp/index"),
|
||||
// meta: {
|
||||
// title: "请休假审批",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// path: "/wcgl",
|
||||
// name: "wcgl",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/wcgl/index"),
|
||||
// meta: {
|
||||
// title: "外出管理",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// path: "/wcsp",
|
||||
// name: "wcsp",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/wcsp/index"),
|
||||
// meta: {
|
||||
// title: "外出审批",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// path: "/ccgl",
|
||||
// name: "ccgl",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/ccgl/index"),
|
||||
// meta: {
|
||||
// title: "出差管理",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// path: "/ccsp",
|
||||
// name: "ccsp",
|
||||
// component: () => import("@/views/backOfficeSystem/kaoQinGL/ccsp/index"),
|
||||
// meta: {
|
||||
// title: "出差审批",
|
||||
// icon: "role"
|
||||
// }
|
||||
// },
|
||||
{
|
||||
path: "/qxjsp",
|
||||
name: "qxjsp",
|
||||
component: () => import("@/views/backOfficeSystem/kaoQinGL/qxjsp/index"),
|
||||
meta: {
|
||||
title: "请休假审批",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/wcgl",
|
||||
name: "wcgl",
|
||||
component: () => import("@/views/backOfficeSystem/kaoQinGL/wcgl/index"),
|
||||
meta: {
|
||||
title: "外出管理",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/wcsp",
|
||||
name: "wcsp",
|
||||
component: () => import("@/views/backOfficeSystem/kaoQinGL/wcsp/index"),
|
||||
meta: {
|
||||
title: "外出审批",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/ccgl",
|
||||
name: "ccgl",
|
||||
component: () => import("@/views/backOfficeSystem/kaoQinGL/ccgl/index"),
|
||||
meta: {
|
||||
title: "出差管理",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/ccsp",
|
||||
name: "ccsp",
|
||||
component: () => import("@/views/backOfficeSystem/kaoQinGL/ccsp/index"),
|
||||
meta: {
|
||||
title: "出差审批",
|
||||
icon: "role"
|
||||
}
|
||||
},
|
||||
|
||||
]
|
||||
},
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
path: "/systemConfig",
|
||||
name: "systemConfigModel",
|
||||
@ -583,10 +585,10 @@ export const publicRoutes = [{
|
||||
component: () => import("@/views/error-page/401")
|
||||
}
|
||||
]
|
||||
}];
|
||||
}];
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(),
|
||||
history: createWebHashHistory(),
|
||||
routes: publicRoutes
|
||||
});
|
||||
//初始化路由表
|
||||
|
@ -111,45 +111,45 @@ export default {
|
||||
/*
|
||||
*单点登录
|
||||
*/
|
||||
// oatuhLogin(ctx, userInfo) {
|
||||
// const { token, systemId } = userInfo;
|
||||
// return new Promise((resolve, reject) => {
|
||||
// unifiedLogin({
|
||||
// token,
|
||||
// systemId
|
||||
// })
|
||||
// .then((data) => {
|
||||
// if (data.deptList.length === 1) {
|
||||
// this.commit("user/setToken", data.jwtToken);
|
||||
// this.commit("user/setDeptId", data.deptList);
|
||||
// this.commit("user/setUserName", data.userName);
|
||||
// setItem("USERNAME", data.userName);
|
||||
// setItem("SFRH", data.sfrh);
|
||||
// setItem("USERID", data.userId);
|
||||
// setItem("PermissionsInfo", data.permissionsInfo);
|
||||
// this.commit("user/setMenuList", data.menuList);
|
||||
// setItem("menusPermission", data.menuCodeSet);
|
||||
// setItem("isOatuh", 1);
|
||||
// setItem("idEntityCard", data.idEntityCard);
|
||||
// this.commit("user/setUserInfo", {
|
||||
// token: data.jwtToken,
|
||||
// permission: {
|
||||
// buttonPermission: ["removeTest", "viewTest"],
|
||||
// menus: data.menuCodeSet
|
||||
// },
|
||||
// menuList: data.menuList,
|
||||
// deptList: data.deptList
|
||||
// });
|
||||
// }
|
||||
// // 保存登录时间
|
||||
// setTimeStamp();
|
||||
// resolve(data);
|
||||
// })
|
||||
// .catch((err) => {
|
||||
// reject(err);
|
||||
// });
|
||||
// });
|
||||
// },
|
||||
oatuhLogin(ctx, userInfo) {
|
||||
const { token, systemId } = userInfo;
|
||||
return new Promise((resolve, reject) => {
|
||||
unifiedLogin({
|
||||
token,
|
||||
systemId
|
||||
})
|
||||
.then((data) => {
|
||||
if (data.deptList.length === 1) {
|
||||
this.commit("user/setToken", data.jwtToken);
|
||||
this.commit("user/setDeptId", data.deptList);
|
||||
this.commit("user/setUserName", data.userName);
|
||||
setItem("USERNAME", data.userName);
|
||||
setItem("SFRH", data.sfrh);
|
||||
setItem("USERID", data.userId);
|
||||
setItem("PermissionsInfo", data.permissionsInfo);
|
||||
this.commit("user/setMenuList", data.menuList);
|
||||
setItem("menusPermission", data.menuCodeSet);
|
||||
setItem("isOatuh", 1);
|
||||
setItem("idEntityCard", data.idEntityCard);
|
||||
this.commit("user/setUserInfo", {
|
||||
token: data.jwtToken,
|
||||
permission: {
|
||||
buttonPermission: ["removeTest", "viewTest"],
|
||||
menus: data.menuCodeSet
|
||||
},
|
||||
menuList: data.menuList,
|
||||
deptList: data.deptList
|
||||
});
|
||||
}
|
||||
// 保存登录时间
|
||||
setTimeStamp();
|
||||
resolve(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// refreshToken(ctx, parmas) {
|
||||
// return new Promise((resolve, reject) => {
|
||||
@ -215,7 +215,7 @@ export default {
|
||||
removeAllItem();
|
||||
// 待补充 清理权限相关的配置
|
||||
if (isOatuh) {
|
||||
window.location.href = `http://80.149.27.78:8001/login`;
|
||||
window.location.href = `http://155.240.22.188:9020`;
|
||||
} else {
|
||||
router.push("/login");
|
||||
}
|
||||
|
@ -23,33 +23,28 @@
|
||||
</div>
|
||||
<div class="tabBox">
|
||||
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData">
|
||||
<template #qclx="{ row }">
|
||||
<dict-tag :value="row.qclx" :options="D_BZ_QCLX" :tag="false"/>
|
||||
<dict-tag :value="row.qclx" :options="D_BZ_QCLX" :tag="false" />
|
||||
</template>
|
||||
<template #qcjb="{ row }">
|
||||
<dict-tag :options="D_BZ_QCDJ" :value="row.qcjb" :tag="false" />
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-button @click="addEditForm('eidt',row)" size="small">编辑</el-button>
|
||||
<el-button @click="addEditForm('eidt', row)" size="small">编辑</el-button>
|
||||
<el-button @click="deletList(row.id)" type="danger" size="small">删除</el-button>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="tableHeight" :pageConfiger="{...pageData.pageConfiger,total: pageData.total}" />
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="tableHeight"
|
||||
:pageConfiger="{ ...pageData.pageConfiger, total: pageData.total }" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 新增 -->
|
||||
<EditAddForm ref="editInfo" @updateDate="getList" :dic="{D_BZ_QCLX,D_BZ_QCDJ,D_BZ_JCZLX}"></EditAddForm>
|
||||
<EditAddForm ref="editInfo" @updateDate="getList" :dic="{ D_BZ_QCLX, D_BZ_QCDJ, D_BZ_JCZLX }"></EditAddForm>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@ -57,7 +52,7 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./editAddForm.vue";
|
||||
import {qcSelectQcList,qcDeleteQc} from "@/api/lzjcz/index.js";
|
||||
import { qcSelectQcList, qcDeleteQc } from "@/api/lzjcz/index.js";
|
||||
import {
|
||||
ref,
|
||||
reactive,
|
||||
@ -70,9 +65,9 @@ import {
|
||||
} from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const {
|
||||
D_BZ_QCLX,D_BZ_QCDJ,D_BZ_JCZLX
|
||||
D_BZ_QCLX, D_BZ_QCDJ, D_BZ_JCZLX
|
||||
} = proxy.$dict(
|
||||
"D_BZ_QCLX","D_BZ_QCDJ","D_BZ_JCZLX"
|
||||
"D_BZ_QCLX", "D_BZ_QCDJ", "D_BZ_JCZLX"
|
||||
);
|
||||
const addEditDialog = ref();
|
||||
const searchConfiger = reactive([
|
||||
@ -87,7 +82,7 @@ const searchConfiger = reactive([
|
||||
prop: "qclx",
|
||||
placeholder: "请选择圈层类型",
|
||||
label: "圈层类型",
|
||||
options:D_BZ_QCLX
|
||||
options: D_BZ_QCLX
|
||||
},
|
||||
]);
|
||||
const pageData = reactive({
|
||||
@ -96,7 +91,7 @@ const pageData = reactive({
|
||||
tableConfiger: {
|
||||
loading: false,
|
||||
rowHieght: 61,
|
||||
showSelectType:'checkBox',
|
||||
showSelectType: 'checkBox',
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
@ -105,10 +100,10 @@ const pageData = reactive({
|
||||
}, //分页
|
||||
controlsWidth: 210, //操作栏宽度
|
||||
tableColumn: [
|
||||
{ label: "所属部门", prop: "ssbm"},
|
||||
{ label: "圈层名称", prop: "qcmc"},
|
||||
{ label: "圈层类型", prop: "qclx", showSolt:true },
|
||||
{ label: "圈层等级", prop: "qcjb" ,showSolt:true}
|
||||
{ label: "所属部门", prop: "ssbm" },
|
||||
{ label: "圈层名称", prop: "qcmc" },
|
||||
{ label: "圈层类型", prop: "qclx", showSolt: true },
|
||||
{ label: "圈层等级", prop: "qcjb", showSolt: true }
|
||||
]
|
||||
});
|
||||
|
||||
@ -127,9 +122,9 @@ onMounted(() => {
|
||||
});
|
||||
|
||||
// 搜索
|
||||
const onSearch = (val)=>{
|
||||
listQuery.value = {...listQuery.value,...val}
|
||||
if(val.cz) listQuery.value.ssbmdm = '';
|
||||
const onSearch = (val) => {
|
||||
listQuery.value = { ...listQuery.value, ...val }
|
||||
if (val.cz) listQuery.value.ssbmdm = '';
|
||||
delete listQuery.value.cz;
|
||||
getList()
|
||||
}
|
||||
@ -148,11 +143,11 @@ const changeSize = (val) => {
|
||||
const getList = () => {
|
||||
let params = { ...listQuery.value, ...pageData.pageConfiger };
|
||||
pageData.tableConfiger.loading = true;
|
||||
qcSelectQcList(params).then(res=>{
|
||||
pageData.tableData=res.records
|
||||
pageData.total=res.total
|
||||
}).finally(()=>{
|
||||
pageData.tableConfiger.loading=false
|
||||
qcSelectQcList(params).then(res => {
|
||||
pageData.tableData = res.records
|
||||
pageData.total = res.total
|
||||
}).finally(() => {
|
||||
pageData.tableConfiger.loading = false
|
||||
})
|
||||
};
|
||||
|
||||
@ -179,19 +174,19 @@ const tabHeightFn = () => {
|
||||
};
|
||||
};
|
||||
// 多选
|
||||
const ids=ref([])
|
||||
const chooseData = (val)=>{
|
||||
if(!val) return false;
|
||||
const ids = ref([])
|
||||
const chooseData = (val) => {
|
||||
if (!val) return false;
|
||||
console.log(val);
|
||||
if(val instanceof Array) ids.value = val.map(v=>{ return v.id })
|
||||
console.log(ids.value );
|
||||
if (val instanceof Array) ids.value = val.map(v => { return v.id })
|
||||
console.log(ids.value);
|
||||
}
|
||||
//批量删除
|
||||
const deletList = (id) => {
|
||||
proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
|
||||
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
|
||||
let IDS = id ? [id] : ids.value
|
||||
qcDeleteQc(IDS).then(() => {
|
||||
proxy.$message({ type: "success",message: "删除成功"});
|
||||
proxy.$message({ type: "success", message: "删除成功" });
|
||||
getList()
|
||||
});
|
||||
|
||||
@ -200,10 +195,10 @@ const deletList = (id) => {
|
||||
});
|
||||
};
|
||||
// 新增编辑表单
|
||||
const editInfo=ref()
|
||||
const addEditForm = (type,row)=>{
|
||||
nextTick(()=>{
|
||||
editInfo.value.init(type,row)
|
||||
const editInfo = ref()
|
||||
const addEditForm = (type, row) => {
|
||||
nextTick(() => {
|
||||
editInfo.value.init(type, row)
|
||||
})
|
||||
}
|
||||
onUnmounted(() => {
|
||||
@ -214,13 +209,16 @@ onUnmounted(() => {
|
||||
<style lang="scss" scoped>
|
||||
@import "~@/assets/css/layout.scss";
|
||||
@import "~@/assets/css/element-plus.scss";
|
||||
|
||||
.main-box {
|
||||
display: flex;
|
||||
|
||||
.tableCnt {
|
||||
flex: 1;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.tag {
|
||||
padding: 2px 6px;
|
||||
margin: 0 1px;
|
||||
|
@ -302,7 +302,7 @@ const props = {
|
||||
emitPath: false
|
||||
};
|
||||
const formGzy = ref({
|
||||
pageNum: 1,
|
||||
pageCurrent: 1,
|
||||
pageSize: 20,
|
||||
isChild: 1
|
||||
});
|
||||
|
@ -87,7 +87,7 @@ import TableEdit from "./tableEdit.vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_JWZLX, D_BZ_DJQW ,D_BZ_SF} = proxy.$dict("D_BZ_JWZLX", "D_BZ_DJQW","D_BZ_SF");
|
||||
const addEditDialog = ref();
|
||||
const searchConfiger = reactive({ qwdj: "", qwkssj: "", qwjssj: "" });
|
||||
const searchConfiger = ref({ qwdj: "", qwkssj: "", qwjssj: "" });
|
||||
const pageData = reactive({
|
||||
tableData: [], // 表格数据
|
||||
keyCount: 0,
|
||||
@ -165,7 +165,15 @@ const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
// 重置
|
||||
const reset = () => {
|
||||
pageData.pageConfiger = {
|
||||
pageCurrent: 1,
|
||||
pageSize: 20,
|
||||
};
|
||||
searchConfiger.value={}
|
||||
getList();
|
||||
};
|
||||
// 处理删除数据
|
||||
function delDictItem(row) {
|
||||
if (row.fbzt === "1") {
|
||||
@ -214,7 +222,7 @@ const queryTime = ref([]);
|
||||
// 处理勤务数据
|
||||
const getList=()=> {
|
||||
loadingTable.value = true;
|
||||
let params = { ...searchConfiger, ...pageData.pageConfiger };
|
||||
let params = { ...searchConfiger.value, ...pageData.pageConfiger };
|
||||
qwjdSelectList(params)
|
||||
.then((res) => {
|
||||
pageData.tableData = res.records.map((item) => {
|
||||
@ -232,8 +240,8 @@ const getList=()=> {
|
||||
}
|
||||
const handleFilter = () => {
|
||||
if (queryTime.value.length > 0) {
|
||||
searchConfiger.qwkssj = queryTime.value[0];
|
||||
searchConfiger.qwjssj = queryTime.value[1];
|
||||
searchConfiger.value.qwkssj = queryTime.value[0];
|
||||
searchConfiger.value.qwjssj = queryTime.value[1];
|
||||
}
|
||||
|
||||
getList();
|
||||
|
@ -339,6 +339,8 @@ const buttonLoading = ref(false);
|
||||
// 选择检查站
|
||||
const chooseUserVisible = ref(false);
|
||||
const choosedJcz = (row) => {
|
||||
console.log(row,'row');
|
||||
|
||||
listData.jczList = row;
|
||||
formData.value.kdbbs = row.length;
|
||||
};
|
||||
|
@ -10,7 +10,7 @@
|
||||
<span class="changeBtn" @click="selectDate('today')">今天</span>
|
||||
<span class="changeBtn" @click="selectDate('next-month')">下一月</span>
|
||||
<!-- 传入部门、开始日期、结束日期,接口暂不开发,先加按钮 -->
|
||||
<span class="changeBtn">排班报表导出</span>
|
||||
<!-- <span class="changeBtn">排班报表导出</span> -->
|
||||
<span class="changeBtn" @click="changeList">列表切换</span>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -88,8 +88,8 @@ const bbcxData = ref([])
|
||||
const lookCount = async () => {
|
||||
isHideen.value = !isHideen.value;
|
||||
if (!isHideen.value) {
|
||||
const res = await selectDayMFCBbzlCount({ ksrq: props.data.year, jsrq: props.data.year, tjrq: props.data.year })
|
||||
const res1 = await qwselectList({ startTime: props.data.year, endTime: props.data.year })
|
||||
const res = await selectDayMFCBbzlCount({ ksrq: props.data.year, jsrq: props.data.year, tjrq: props.data.year,ssbmdm:props.dep.bmdm })
|
||||
const res1 = await qwselectList({ startTime: props.data.year, endTime: props.data.year,ssbmdm:props.dep.bmdm })
|
||||
|
||||
const res2 = await getXfbbBy24h()
|
||||
bbcxData.value = res1 ? res1 : []
|
||||
|
@ -65,9 +65,7 @@
|
||||
</el-icon>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu class="loginOut" @click="logout">
|
||||
<el-dropdown-item command="logout"
|
||||
>退出登录</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item command="logout">退出登录</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
@ -190,10 +188,12 @@ function modularShowFn(val) {
|
||||
|
||||
// 退出
|
||||
const logout = () => {
|
||||
store.dispatch("user/logout");
|
||||
window.opener = null;
|
||||
window.open('', '_self');
|
||||
window.close();
|
||||
store.commit("app/clearTag", null, { immediate: true });
|
||||
store.commit("permission/deleteRouter", { immediate: true });
|
||||
store.commit("user/deleteKeepLiiveRoute", "lz/home");
|
||||
store.commit("user/deleteKeepLiiveRoute", "home");
|
||||
};
|
||||
|
||||
// 路由跳转
|
||||
|
@ -2,73 +2,38 @@
|
||||
<div class="searchBox">
|
||||
<el-form :model="listQuery">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="listQuery.startTime"
|
||||
type="datetime"
|
||||
placeholder="请选择日期时间"
|
||||
format="YYYY/MM/DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
<el-date-picker style="width: 100%" v-model="listQuery.startTime" type="datetime" placeholder="请选择日期时间"
|
||||
format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="listQuery.endTime"
|
||||
type="datetime"
|
||||
placeholder="请选择日期时间"
|
||||
format="YYYY/MM/DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
<el-date-picker style="width: 100%" v-model="listQuery.endTime" type="datetime" placeholder="请选择日期时间"
|
||||
format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="ssbmid" v-if="props.type == '01'" label="所属辖区">
|
||||
<MOSTY.Department
|
||||
placeholder="请选择所属辖区"
|
||||
width="100%"
|
||||
clearable
|
||||
filterable
|
||||
v-model="listQuery.ssbmid"
|
||||
/>
|
||||
<MOSTY.Department placeholder="请选择所属辖区" width="100%" clearable filterable v-model="listQuery.ssbmid" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="zdjqtjlx" v-if="props.type == '01'" label="警情类型">
|
||||
<el-select v-model="listQuery.zdjqtjlx">
|
||||
<el-option
|
||||
v-for="(dict, index) in D_BZ_ZDJQTJLX"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
<el-option v-for="(dict, index) in D_BZ_ZDJQTJLX" :key="index" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="yjlx" v-if="props.type == '02'" label="预警类型">
|
||||
<el-select clearable style="width: 100%" v-model="listQuery.yjLx">
|
||||
<el-option
|
||||
v-for="(dict, index) in D_BZ_YJLX"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
<el-option v-for="(dict, index) in D_BZ_YJLX" :key="index" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="yjdj" v-if="props.type == '02'" label="预警等级">
|
||||
<el-select v-model="listQuery.yjJb">
|
||||
<el-option
|
||||
v-for="(dict, index) in D_BZ_tyjb"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
<el-option v-for="(dict, index) in D_BZ_tyjb" :key="index" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="zlczzt" v-if="props.type == '03'" label="处置状态">
|
||||
<el-select v-model="listQuery.zlczzt">
|
||||
<el-option
|
||||
v-for="(dict, index) in D_BZ_CZZT"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
<el-option v-for="(dict, index) in D_BZ_CZZT" :key="index" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<div class="footer">
|
||||
@ -88,7 +53,7 @@ const props = defineProps({
|
||||
});
|
||||
const emit = defineEmits(["handelSearch", "resetSearch"]);
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_tyjb, D_BZ_CZZT, D_BZ_ZDJQTJLX,D_BZ_YJLX } = proxy.$dict(
|
||||
const { D_BZ_tyjb, D_BZ_CZZT, D_BZ_ZDJQTJLX, D_BZ_YJLX } = proxy.$dict(
|
||||
"D_BZ_tyjb",
|
||||
"D_BZ_CZZT",
|
||||
"D_BZ_ZDJQTJLX",
|
||||
@ -124,9 +89,11 @@ function reset() {
|
||||
background: #000;
|
||||
padding: 10px 8px;
|
||||
box-sizing: border-box;
|
||||
|
||||
.el-form {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -65,9 +65,7 @@
|
||||
</el-icon>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu class="loginOut" @click="logout">
|
||||
<el-dropdown-item command="logout"
|
||||
>退出登录</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item command="logout">退出登录</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
@ -187,10 +185,12 @@ function modularShowFn(val) {
|
||||
|
||||
// 退出
|
||||
const logout = () => {
|
||||
store.dispatch("user/logout");
|
||||
window.opener = null;
|
||||
window.open('', '_self');
|
||||
window.close();
|
||||
store.commit("app/clearTag", null, { immediate: true });
|
||||
store.commit("permission/deleteRouter", { immediate: true });
|
||||
store.commit("user/deleteKeepLiiveRoute", "lz/home");
|
||||
store.commit("user/deleteKeepLiiveRoute", "home");
|
||||
};
|
||||
|
||||
// 路由跳转
|
||||
|
@ -4,31 +4,28 @@
|
||||
import { ref, onMounted } from "vue";
|
||||
import { useStore } from "vuex";
|
||||
import { useRouter } from "vue-router";
|
||||
import { setItem } from "@/utils/storage";
|
||||
import {
|
||||
setItem
|
||||
} from "@/utils/storage";
|
||||
const loginDialog = ref(false);
|
||||
const deptList = ref([]);
|
||||
const deptId = ref("");
|
||||
const store = useStore();
|
||||
const origin = location.origin;
|
||||
function redirectAuth() {
|
||||
let search = window.location.search;
|
||||
let params = new URLSearchParams(search);
|
||||
let token = params.get("token");
|
||||
let token = location.hash.slice(20) || null;
|
||||
if (token != null) {
|
||||
setItem("SSOTOKEN", token);
|
||||
handleLogin({ token: token, systemId: "XLFK_ZHJMXFZAGK" });
|
||||
token = token.replace(/\ +/g, "");
|
||||
setItem("SSOTOKEN", token)
|
||||
handleLogin({ token: token});
|
||||
} else {
|
||||
window.location.href = `https://80.60.20.10`;
|
||||
window.location.href = `http://155.240.22.188:9020`;
|
||||
}
|
||||
}
|
||||
|
||||
const handleLogin = (e) => {
|
||||
store.dispatch("user/oatuhLogin", e).then((res) => {
|
||||
console.log("登录后操作");
|
||||
console.log(res);
|
||||
// 登录后操作
|
||||
if (res.deptList.length === 1) {
|
||||
window.location.href = "/";
|
||||
window.location.hash = "/";
|
||||
} else {
|
||||
deptList.value = [...res.deptList];
|
||||
loginDialog.value = true;
|
||||
@ -41,5 +38,4 @@ onMounted(() => {
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
<style></style>
|
@ -4,11 +4,11 @@ function resolve(dir) {
|
||||
return path.join(__dirname, dir);
|
||||
}
|
||||
// const serverHost = "http://192.192.192.109:8006";
|
||||
const serverHost = "http://192.168.1.32:8066";
|
||||
const serverHost = "http://192.168.0.231:8006";
|
||||
// const serverHost ="http://80.60.36.64:8006"
|
||||
module.exports = {
|
||||
publicPath: "/",
|
||||
outputDir: "dist",
|
||||
outputDir: "qwgl",
|
||||
assetsDir: "static",
|
||||
lintOnSave: false, //process.env.NODE_ENV === 'development',
|
||||
productionSourceMap: false,
|
||||
|
Reference in New Issue
Block a user