lcw
This commit is contained in:
@ -274,11 +274,11 @@ export const TtbJczSxtAdd = (data) => {
|
||||
*查询感知源头
|
||||
* return promise 实例对象
|
||||
*/
|
||||
export const TtbgetPageList = (params) => {
|
||||
export const TtbgetPageList = (data) => {
|
||||
return request({
|
||||
url: api + `/tbJczSxt/getPageList`,
|
||||
method: "get",
|
||||
params
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
};
|
||||
/*
|
||||
@ -596,12 +596,27 @@ export const JczXfbb = (id) => {
|
||||
|
||||
export const tbJczXfbbJczXfbb = (data) => {
|
||||
return request({
|
||||
url: api + `/tpJczJyqx/addJyqx `,
|
||||
url: api + `/tpJczJyqx/addJyqx`,
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
};
|
||||
export const tbJczSelectJyqx = (params) => {
|
||||
return request({
|
||||
url: api + `/tpJczJyqx/selectJyqx`,
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
};
|
||||
// 修改
|
||||
export const tbJczXfbbupdateJyqx = (data) => {
|
||||
return request({
|
||||
url: api + `/tpJczJyqx/updateJyqx`,
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
export const tbJczXfbbdeleteJyQxzb = (data) => {
|
||||
return request({
|
||||
url: api + `/tpJczJyqx/deleteJyQxzb`,
|
||||
@ -609,10 +624,3 @@ export const tbJczXfbbdeleteJyQxzb = (data) => {
|
||||
data
|
||||
});
|
||||
};
|
||||
// export const tbJczXfbbdeleteJyQxzb = (data) => {
|
||||
// return request({
|
||||
// url: api + `/tpJczJyqx/deleteJyQxzb`,
|
||||
// method: "post",
|
||||
// data
|
||||
// });
|
||||
// };
|
||||
|
360
src/components/GdMap/index copy.vue
Normal file
360
src/components/GdMap/index copy.vue
Normal file
@ -0,0 +1,360 @@
|
||||
<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(
|
||||
"http://89.0.23.24/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>
|
@ -1,8 +1,7 @@
|
||||
<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-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">
|
||||
@ -75,7 +74,7 @@ const props = defineProps({
|
||||
});
|
||||
try {
|
||||
const userInfo = getItem("deptId")[0].deptCode;
|
||||
} catch (error) { }
|
||||
} catch (error) {}
|
||||
let map;
|
||||
let mapLayer;
|
||||
let mapLayer1;
|
||||
@ -89,33 +88,27 @@ onMounted(() => {
|
||||
|
||||
map = new EliMap({
|
||||
id: props.mapid,
|
||||
crs: "EPSG:4490",
|
||||
crs: "EPSG:3857",
|
||||
style: {
|
||||
glyphs: "./fonts/{fontstack}/{range}.pbf",
|
||||
center: [94.36057012, 29.64276831],
|
||||
zoom: 15
|
||||
center: [94.36,29.65],
|
||||
zoom: 10
|
||||
},
|
||||
minZoom: 7,
|
||||
maxZoom: 18,
|
||||
transformRequest: (url) => {
|
||||
if (url.indexOf("TileMatrix=") != -1) {
|
||||
const arr = url.split("TileMatrix=");
|
||||
const arr1 = arr[1].split("&");
|
||||
const nurl = `${arr[0]}&TileMatrix=${Number(arr1[0])}&${arr1[1]}&${arr1[2]}`;
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
window.map = map;
|
||||
map.mapboxGLMap.on("load", () => {
|
||||
map.addWMTSLayer(
|
||||
"http://89.0.23.24/PGIS_S_TileMapServer/Maps/XZDJ_SL/EzMap"
|
||||
,
|
||||
{
|
||||
Service: "getImage",
|
||||
Type: "RGB",
|
||||
ZoomOffset: "0",
|
||||
V: "0.3",
|
||||
Zoom: "{z}",
|
||||
Row: "{y}",
|
||||
Col: "{x}"
|
||||
},
|
||||
{
|
||||
tileSize: 300
|
||||
}
|
||||
);
|
||||
map.addGaudLayer({
|
||||
url: 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
|
||||
})
|
||||
zoomTarget.value = map.mapboxGLMap.getZoom();
|
||||
});
|
||||
mapUtil.value = new MapUtil(map);
|
||||
@ -135,6 +128,8 @@ onMounted(() => {
|
||||
});
|
||||
// 撒点
|
||||
emitter.on("addPointArea", (obj) => {
|
||||
console.log(obj);
|
||||
|
||||
mapUtil.value.makerSki(obj);
|
||||
});
|
||||
// 鼠标滑过提示文字的点位
|
||||
@ -173,7 +168,7 @@ onMounted(() => {
|
||||
});
|
||||
// 回显线
|
||||
emitter.on("echoLine", (res) => {
|
||||
mapUtil.value.createLine(res, res.flag);
|
||||
mapUtil.value.createLine(res);
|
||||
});
|
||||
//创建边界面(geojson)
|
||||
emitter.on("setBoundarys", (res) => {
|
||||
@ -204,6 +199,11 @@ onMounted(() => {
|
||||
mapUtil.value.diffusionCircle(res);
|
||||
});
|
||||
|
||||
// 清除全部覆盖物
|
||||
emitter.on("removeElementAll", () => {
|
||||
mapUtil.value.removeElementAll();
|
||||
});
|
||||
|
||||
// 展示盘曲
|
||||
emitter.on("showGapText", (obj) => {
|
||||
mapUtil.value.gapText(obj);
|
||||
@ -302,6 +302,7 @@ onUnmounted(() => {
|
||||
emitter.off("diffusionCircle");
|
||||
emitter.off("SsCircle");
|
||||
emitter.off("ClearssCircle");
|
||||
emitter.off("removeElementAll");
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -324,35 +325,29 @@ onUnmounted(() => {
|
||||
right: 398px;
|
||||
bottom: 4px;
|
||||
z-index: 9;
|
||||
|
||||
.mapImageItem {
|
||||
border: 1px solid #08aae8;
|
||||
background: rgb(9, 26, 70);
|
||||
|
||||
&>img {
|
||||
& > img {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
&>div {
|
||||
& > 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;
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
class="el-cascader-zj"
|
||||
:show-all-levels="false"
|
||||
clearable
|
||||
:disabled="disabled"
|
||||
filterable
|
||||
:placeholder="modelValue ? placeholder : '请选择部门'"
|
||||
:options="tableData"
|
||||
@ -49,6 +50,10 @@ const props = defineProps({
|
||||
width: {
|
||||
default: COMPONENT_WIDTH,
|
||||
type: String
|
||||
},
|
||||
disabled: {
|
||||
default: false,
|
||||
type: Boolean
|
||||
}
|
||||
});
|
||||
const modelShow = ref(false);
|
||||
@ -99,7 +104,6 @@ watch(
|
||||
);
|
||||
const emits = defineEmits(["update:modelValue",'getDepValue']);
|
||||
const handleChange = (e) => {
|
||||
console.log(e,'e');
|
||||
if (props.multiple === true) {
|
||||
const data = e.map((item) => {return item[item.length - 1];});
|
||||
emits("update:modelValue", data);
|
||||
|
@ -4,6 +4,7 @@
|
||||
v-bind="$attrs"
|
||||
:headers="headers"
|
||||
:multiple="false"
|
||||
:disabled="disableds"
|
||||
class="avatar-uploader"
|
||||
:limit="props.limit"
|
||||
:action="actionUrl"
|
||||
@ -98,6 +99,10 @@ const props = defineProps({
|
||||
width: {
|
||||
default: COMPONENT_WIDTH,
|
||||
type: String
|
||||
},
|
||||
disableds: {
|
||||
default: false,
|
||||
type: Boolean
|
||||
}
|
||||
});
|
||||
const actionUrl = computed(() =>
|
||||
|
@ -269,16 +269,16 @@ export const publicRoutes = [
|
||||
icon: "article"
|
||||
}
|
||||
},
|
||||
// {
|
||||
// path: "/instrument",
|
||||
// name: "instrument",
|
||||
// component: () =>
|
||||
// import("@/views/backOfficeSystem/peopleManag/instrument/index"),
|
||||
// meta: {
|
||||
// title: "警用器械管理",
|
||||
// icon: "article"
|
||||
// }
|
||||
// },
|
||||
{
|
||||
path: "/instrument",
|
||||
name: "instrument",
|
||||
component: () =>
|
||||
import("@/views/backOfficeSystem/peopleManag/instrument/index"),
|
||||
meta: {
|
||||
title: "警用器械管理",
|
||||
icon: "article"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/PerceptualSource",
|
||||
name: "PerceptualSource",
|
||||
|
@ -37,7 +37,7 @@ export default {
|
||||
isReady: 0,
|
||||
userName: getItem("USERNAME") || "",
|
||||
keepLiiveRoute: [], //需要缓存的路由
|
||||
activeId:'',//警组点击的唯一标识
|
||||
activeId: '',//警组点击的唯一标识
|
||||
}),
|
||||
mutations: {
|
||||
setToken(state, token) {
|
||||
@ -90,17 +90,19 @@ export default {
|
||||
} = userInfo;
|
||||
return new Promise((resolve, reject) => {
|
||||
login({
|
||||
userName,
|
||||
password: Base64.encode(password),
|
||||
kaptcha
|
||||
})
|
||||
userName,
|
||||
password: Base64.encode(password),
|
||||
kaptcha
|
||||
})
|
||||
.then((data) => {
|
||||
console.log(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('isOatuh', 0)
|
||||
setItem("USERNAME", data.userName);
|
||||
setItem("SYSROLE", data.sysRole);
|
||||
setItem("SFRH", data.sfrh);
|
||||
setItem("USERID", data.userId);
|
||||
setItem("PermissionsInfo", data.permissionsInfo);
|
||||
@ -136,15 +138,17 @@ export default {
|
||||
} = userInfo;
|
||||
return new Promise((resolve, reject) => {
|
||||
unifiedLogin({
|
||||
token,
|
||||
systemId,
|
||||
})
|
||||
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);
|
||||
@ -175,9 +179,9 @@ export default {
|
||||
refreshToken(ctx, parmas) {
|
||||
return new Promise((resolve, reject) => {
|
||||
refreshToken({
|
||||
deptId: parmas.deptId,
|
||||
authorization: parmas.jwtToken
|
||||
})
|
||||
deptId: parmas.deptId,
|
||||
authorization: parmas.jwtToken
|
||||
})
|
||||
.then((data) => {
|
||||
this.commit("user/setToken", "");
|
||||
this.commit("user/setToken", data.jwtToken);
|
||||
|
@ -4,16 +4,16 @@
|
||||
// import {
|
||||
// getUserArea
|
||||
// } from "@/api/base.js";
|
||||
|
||||
import { getItem } from "./storage"
|
||||
// 随机颜色 - 把16进制的颜色换成rgba格式
|
||||
export function choseRbgb(color,opcity) {
|
||||
if(color){
|
||||
return 'rgba('+ parseInt('0x'+color.slice(1,3)) + ','+ parseInt('0x'+color.slice(3,5))+','+parseInt('0x'+color.slice(5,7)) + ','+opcity+')'
|
||||
}else{
|
||||
let r = Math.floor(Math.random()*256)
|
||||
let g = Math.floor(Math.random()*256)
|
||||
let b = Math.floor(Math.random()*256)
|
||||
let a = opcity ? opcity :1;
|
||||
export function choseRbgb(color, opcity) {
|
||||
if (color) {
|
||||
return 'rgba(' + parseInt('0x' + color.slice(1, 3)) + ',' + parseInt('0x' + color.slice(3, 5)) + ',' + parseInt('0x' + color.slice(5, 7)) + ',' + opcity + ')'
|
||||
} else {
|
||||
let r = Math.floor(Math.random() * 256)
|
||||
let g = Math.floor(Math.random() * 256)
|
||||
let b = Math.floor(Math.random() * 256)
|
||||
let a = opcity ? opcity : 1;
|
||||
return `rgba(${r},${g},${b},${a})`
|
||||
}
|
||||
}
|
||||
@ -263,4 +263,11 @@ function _setTime(date) {
|
||||
return `${month}-${day}`;
|
||||
}
|
||||
|
||||
//权限判断
|
||||
export function isAuth() {
|
||||
const SYSROLE = getItem("SYSROLE")
|
||||
console.log("SYSROLE", SYSROLE);
|
||||
|
||||
if (SYSROLE[0].roleCode == 'JS_0006') return false
|
||||
return true
|
||||
}
|
||||
|
@ -23,26 +23,26 @@
|
||||
>
|
||||
<el-form-item style="width: 40%" prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
width="100%"
|
||||
width="100%" :disabled="forbidden"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" label="环林卡口名称">
|
||||
<div class="diviput" @click="showJcz = true">
|
||||
<el-form-item style="width: 40%" prop="kkMc" label="环林卡口名称">
|
||||
<div class="diviput" @click="forbidden? '':showJcz = true">
|
||||
<span v-if="listQuery.kkMc">{{ listQuery.kkMc }}</span>
|
||||
<span class="placeholder" v-else> 请选择布控卡口</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="环林卡口标识码" style="width: 40%">
|
||||
<!-- <el-form-item label="环林卡口标识码" style="width: 40%">
|
||||
<el-input v-model="listQuery.jczmsm" placeholder="环林卡口标识码" />
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="车牌号" prop="hphm" style="width: 40%">
|
||||
<el-input v-model="listQuery.hphm" placeholder="车牌号" />
|
||||
<el-input :disabled="forbidden" v-model="listQuery.hphm" placeholder="车牌号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="车侧图" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
<MOSTY.Upload :disableds="forbidden"
|
||||
:isImg="true"
|
||||
width="100%"
|
||||
:limit="1"
|
||||
@ -51,7 +51,7 @@
|
||||
>{{ listQuery.cct }}
|
||||
</el-form-item>
|
||||
<el-form-item label="车顶图" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
<MOSTY.Upload :disableds="forbidden"
|
||||
:isImg="true"
|
||||
width="100%"
|
||||
:limit="1"
|
||||
@ -60,32 +60,38 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="车前标" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
:isImg="true"
|
||||
:isImg="true" :disableds="forbidden"
|
||||
width="100%"
|
||||
:limit="1"
|
||||
v-model="listQuery.cqb"
|
||||
></MOSTY.Upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="车后标" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
<!-- <MOSTY.Upload
|
||||
:isImg="true"
|
||||
width="100%"
|
||||
:limit="1"
|
||||
v-model="listQuery.chb"
|
||||
></MOSTY.Upload> -->
|
||||
<MOSTY.Upload
|
||||
width="100%" :disableds="forbidden"
|
||||
:isImg="true"
|
||||
:limit="1"
|
||||
v-model="listQuery.chb"
|
||||
></MOSTY.Upload>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="车前盖图" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
:isImg="true"
|
||||
width="100%"
|
||||
width="100%" :disableds="forbidden"
|
||||
:limit="1"
|
||||
v-model="listQuery.cqgt"
|
||||
></MOSTY.Upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="车厢图" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
:isImg="true"
|
||||
:isImg="true" :disableds="forbidden"
|
||||
width="100%"
|
||||
:limit="1"
|
||||
v-model="listQuery.cxt"
|
||||
@ -93,7 +99,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="底盘图" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
:isImg="true"
|
||||
:isImg="true" :disableds="forbidden"
|
||||
width="100%"
|
||||
:limit="1"
|
||||
v-model="listQuery.dpt"
|
||||
@ -101,35 +107,35 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="车后部物品特征代码" style="width: 40%">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.chbwptzdm"
|
||||
placeholder="车后部物品特征代码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="车辆异常痕迹代码" style="width: 40%">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.clychjdm"
|
||||
placeholder="车辆异常痕迹代码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="车辆张贴物品特征代码" style="width: 40%">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.clztwptzdm"
|
||||
placeholder="车辆张贴物品特征代码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="车前部物品特征代码" style="width: 40%">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.cqbwptzdm"
|
||||
placeholder="车前部物品特征代码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="通行事件标识码" style="width: 40%">
|
||||
<el-input v-model="listQuery.txsjbsm" placeholder="通行事件标识码" />
|
||||
<el-input v-model="listQuery.txsjbsm" placeholder="通行事件标识码" :disabled="forbidden" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="通行时间" prop="txsj" style="width: 40%">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="forbidden"
|
||||
v-model="listQuery.txsj"
|
||||
type="datetime"
|
||||
placeholder="请选中通行时间"
|
||||
@ -157,36 +163,26 @@ const props = defineProps({
|
||||
}
|
||||
});
|
||||
const rules = reactive({
|
||||
sbmc: [
|
||||
ssbmdm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源名称"
|
||||
trigger: "change",
|
||||
message: "请选择所属部门"
|
||||
}
|
||||
],
|
||||
sblx: [
|
||||
kkMc: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择感知源类型"
|
||||
trigger: "change",
|
||||
message: "请选择环林卡口名称"
|
||||
}
|
||||
],
|
||||
sbbh: [
|
||||
hphm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源编号",
|
||||
message: "请输入车牌号",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
wd: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入维度"
|
||||
}
|
||||
],
|
||||
jd: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入经度"
|
||||
}
|
||||
]
|
||||
});
|
||||
const formRef = ref(null);
|
||||
@ -212,23 +208,27 @@ const showJcz = ref(false);
|
||||
const JczMsg = (val) => {
|
||||
listQuery.value.kkMc = val.jczmc;
|
||||
listQuery.value.kkId = val.id;
|
||||
listQuery.value.jczmsm= val.id;
|
||||
};
|
||||
const forbidden=ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit" || type=="detail") {
|
||||
listQuery.value = { ...row };
|
||||
listQuery.value.cct = row.cct.split(",");
|
||||
listQuery.value.cdt = row.cdt.split(",");
|
||||
listQuery.value.chb = row.chb.split(",");
|
||||
listQuery.value.cqb = row.cqb.split(",");
|
||||
listQuery.value.cqgt = row.cqgt.split(",");
|
||||
listQuery.value.cxt = row.cxt.split(",");
|
||||
listQuery.value.dpt = row.dpt.split(",");
|
||||
console.log(listQuery.value);
|
||||
listQuery.value.cct = row.cct?row.cct.split(","):[];
|
||||
listQuery.value.cdt = row.cdt?row.cdt.split(","):[];
|
||||
listQuery.value.chb = row.chb?row.chb.split(","):[];
|
||||
listQuery.value.cqb = row.cqb?row.cqb.split(","):[];
|
||||
listQuery.value.cqgt = row.cqgt?row.cqgt.split(","):[];
|
||||
listQuery.value.cxt = row.cxt?row.cxt.split(","):[];
|
||||
listQuery.value.dpt = row.dpt?row.dpt.split(","):[];
|
||||
if (type=="detail") {
|
||||
forbidden.value=true
|
||||
}
|
||||
} else {
|
||||
listQuery.value = {
|
||||
cct: [],
|
||||
@ -279,6 +279,7 @@ const _onSave = () => {
|
||||
//页面关闭
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
forbidden.value=false
|
||||
listQuery.value = {};
|
||||
};
|
||||
// 表格高度计算
|
||||
|
@ -2,11 +2,11 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="过检车辆管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
>
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle">
|
||||
<CirclePlus />
|
||||
</el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
|
||||
</el-button>
|
||||
</PageTitle>
|
||||
</div>
|
||||
@ -15,48 +15,30 @@
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||
</div>
|
||||
<div class="tabBox">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData">
|
||||
<template #cqgt="{ row }">
|
||||
<div class="phone">
|
||||
<el-image
|
||||
v-if="row.cqgt"
|
||||
:src="urlImg + row.cqgt"
|
||||
fit="cover"
|
||||
lazy
|
||||
/>
|
||||
<el-image v-if="row.cqgt" :src="urlImg + row.cqgt" fit="cover" lazy />
|
||||
<el-image v-else :src="Person" fit="cover" lazy />
|
||||
</div>
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth"> <el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link></template>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"
|
||||
></Pages>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"></Pages>
|
||||
</div>
|
||||
<!-- 编辑详情 -->
|
||||
<EditAddForm
|
||||
ref="detailDiloag"
|
||||
:dict="{ D_BZ_JCZLX, D_BZ_ZQLX, D_BZ_DLLX, D_BZ_JCZJB }"
|
||||
@getjczgetXfllList="getjczgetXfllList"
|
||||
/>
|
||||
<EditAddForm ref="detailDiloag" :dict="{ D_BZ_JCZLX, D_BZ_ZQLX, D_BZ_DLLX, D_BZ_JCZJB }"
|
||||
@getjczgetXfllList="getjczgetXfllList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -67,6 +49,7 @@ import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { GjcltxselectPage, GjcltxdeleteById } from "@/api/mosty-jcz.js";
|
||||
import { isAuth } from '@/utils/tools.js'
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_JCZLX, D_BZ_ZQLX, D_BZ_DLLX, D_BZ_JCZJB } = proxy.$dict(
|
||||
@ -165,7 +148,10 @@ const pageData = reactive({
|
||||
}
|
||||
]
|
||||
});
|
||||
const Auth = ref(false)
|
||||
|
||||
onMounted(() => {
|
||||
Auth.value = isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -22,61 +22,61 @@
|
||||
label-position="top"
|
||||
>
|
||||
<el-form-item style="width: 40%" prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
<MOSTY.Department :disabled="forbidden"
|
||||
width="100%"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" label="环林卡口名称">
|
||||
<div class="diviput" @click="showJcz = true">
|
||||
<el-form-item style="width: 40%" prop="kkMc" label="环林卡口名称">
|
||||
<div class="diviput" @click="forbidden?'':showJcz = true">
|
||||
<span v-if="listQuery.kkMc">{{ listQuery.kkMc }}</span>
|
||||
<span class="placeholder" v-else> 请选择布控卡口</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="环林卡口标识码" style="width: 40%">
|
||||
<!-- <el-form-item label="环林卡口标识码" style="width: 40%">
|
||||
<el-input v-model="listQuery.jczmsm" placeholder="环林卡口标识码" />
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item
|
||||
label="过检人员身份证号"
|
||||
prop="gjrysfzh"
|
||||
style="width: 40%"
|
||||
>
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.gjrysfzh"
|
||||
placeholder="过检人员身份证号"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="过检人员姓名" prop="gjryxm" style="width: 40%">
|
||||
<el-input v-model="listQuery.gjryxm" placeholder="过检人员姓名" />
|
||||
<el-input :disabled="forbidden" v-model="listQuery.gjryxm" placeholder="过检人员姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="佩戴眼镜特征代码" prop="rltzsj" style="width: 40%">
|
||||
<el-input
|
||||
<el-form-item label="佩戴眼镜特征代码" prop="pdyjtzdm" style="width: 40%">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.pdyjtzdm"
|
||||
placeholder="佩戴眼镜特征代码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="人脸图" style="width: 15%">
|
||||
<MOSTY.Upload
|
||||
<el-form-item label="人脸图" style="width: 40%">
|
||||
<MOSTY.Upload :disableds="forbidden"
|
||||
:isImg="true"
|
||||
width="100%"
|
||||
:limit="1"
|
||||
v-model="listQuery.rlt"
|
||||
></MOSTY.Upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="人脸特征数据" prop="rltzsj" style="width: 20%">
|
||||
<el-input v-model="listQuery.rltzsj" placeholder="人脸特征数据" />
|
||||
<el-form-item label="人脸特征数据" prop="rltzsj" style="width: 40%">
|
||||
<el-input :disabled="forbidden" v-model="listQuery.rltzsj" placeholder="人脸特征数据" />
|
||||
</el-form-item>
|
||||
<el-form-item label="人脸特征数据" prop="rtzttzdm" style="width: 20%">
|
||||
<el-input
|
||||
<el-form-item label="人脸特征数据" prop="rtzttzdm" style="width: 40%">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.rtzttzdm"
|
||||
placeholder="人体姿态特征代码"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="人员图" prop="ryt" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
<MOSTY.Upload :disableds="forbidden"
|
||||
width="100%"
|
||||
:isImg="true"
|
||||
:limit="3"
|
||||
@ -84,7 +84,7 @@
|
||||
></MOSTY.Upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="三维人脸图像" prop="swrltx" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
<MOSTY.Upload :disableds="forbidden"
|
||||
width="100%"
|
||||
:isImg="true"
|
||||
:limit="3"
|
||||
@ -96,7 +96,7 @@
|
||||
prop="sszztzdm"
|
||||
style="width: 40%"
|
||||
>
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.sszztzdm"
|
||||
placeholder="上身着装特征代码"
|
||||
/>
|
||||
@ -106,22 +106,22 @@
|
||||
prop="xszztzdm"
|
||||
style="width: 40%"
|
||||
>
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.xszztzdm"
|
||||
placeholder="下身着装特征代码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="着冒特征代码" prop="zmtzdm" style="width: 40%">
|
||||
<el-input v-model="listQuery.zmtzdm" placeholder="着冒特征代码" />
|
||||
<el-input :disabled="forbidden" v-model="listQuery.zmtzdm" placeholder="着冒特征代码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="着鞋特征代码" prop="zxtzdm" style="width: 40%">
|
||||
<el-input v-model="listQuery.zxtzdm" placeholder="着鞋特征代码" />
|
||||
<el-input :disabled="forbidden" v-model="listQuery.zxtzdm" placeholder="着鞋特征代码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="通行事件标识码" prop="zxtzdm" style="width: 40%">
|
||||
<el-input v-model="listQuery.txsjbsm" placeholder="通行事件标识码" />
|
||||
<el-input :disabled="forbidden" v-model="listQuery.txsjbsm" placeholder="通行事件标识码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="通行时间" prop="txsj" style="width: 40%">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="forbidden"
|
||||
v-model="listQuery.txsj"
|
||||
type="datetime"
|
||||
placeholder="请选中通行时间"
|
||||
@ -149,37 +149,32 @@ const props = defineProps({
|
||||
}
|
||||
});
|
||||
const rules = reactive({
|
||||
sbmc: [
|
||||
ssbmdm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源名称"
|
||||
message: "请选择所属部门"
|
||||
}
|
||||
],
|
||||
sblx: [
|
||||
kkMc: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择感知源类型"
|
||||
message: "请选择布控卡口"
|
||||
}
|
||||
],
|
||||
sbbh: [
|
||||
gjrysfzh: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源编号",
|
||||
message: "请输入过检人员身份证号",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
wd: [
|
||||
gjryxm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入维度"
|
||||
message: "请输入过检人员姓名"
|
||||
}
|
||||
],
|
||||
jd: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入经度"
|
||||
}
|
||||
]
|
||||
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const emit = defineEmits(["getjczgetXfllList"]);
|
||||
@ -204,18 +199,23 @@ const showJcz = ref(false);
|
||||
const JczMsg = (val) => {
|
||||
listQuery.value.kkMc = val.jczmc;
|
||||
listQuery.value.kkId = val.id;
|
||||
listQuery.value.jczmsm= val.id;
|
||||
};
|
||||
const forbidden=ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit" || type == "detail") {
|
||||
listQuery.value = { ...row };
|
||||
listQuery.value.rlt = row.rlt ? JSON.parse(row.rlt) : [];
|
||||
listQuery.value.swrltx = row.swrltx ? JSON.parse(row.swrltx) : [];
|
||||
listQuery.value.ryt = row.ryt ? JSON.parse(row.ryt) : [];
|
||||
if (type == "detail") {
|
||||
forbidden.value=true
|
||||
}
|
||||
} else {
|
||||
listQuery.value = {
|
||||
rlt: [],
|
||||
@ -258,6 +258,7 @@ const _onSave = () => {
|
||||
//页面关闭
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
forbidden.value=false
|
||||
listQuery.value = {};
|
||||
};
|
||||
// 表格高度计算
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="过检人像管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -58,8 +58,11 @@
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@ -86,6 +89,7 @@ import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import {isAuth }from '@/utils/tools.js'
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { GjrytxselectPage, GjrytxdeleteById } from "@/api/mosty-jcz.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
@ -168,7 +172,9 @@ const pageData = reactive({
|
||||
}
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value=isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -21,51 +21,35 @@
|
||||
:inline="true"
|
||||
label-position="top"
|
||||
>
|
||||
<!-- <div
|
||||
style="
|
||||
width: 25%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-bottom: 10px;
|
||||
"
|
||||
>
|
||||
<div style="position: relative; width: 90px; height: 100px">
|
||||
<el-upload
|
||||
action="/mosty-api/mosty-base/minio/image/upload/id"
|
||||
:on-change="upImgFile"
|
||||
:on-success="upImg"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
|
||||
<el-icon v-else>
|
||||
<Plus></Plus>
|
||||
</el-icon>
|
||||
<span
|
||||
v-if="imgUrl"
|
||||
style="position: absolute; top: -52px; right: -20px"
|
||||
>
|
||||
<el-icon size="20" @click.stop="deletImg">
|
||||
<Close />
|
||||
</el-icon>
|
||||
</span>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<el-form-item prop="ssbmdm" label="所属部门">
|
||||
<el-form-item prop="gldwdm" label="管理单位">
|
||||
<MOSTY.Department
|
||||
:disabled="forbidden"
|
||||
:placeholder="listQuery.ssbm"
|
||||
style="width: 100%"
|
||||
ref="cascader"
|
||||
clearable
|
||||
filterable
|
||||
@getDepValue="getGldwdm"
|
||||
:options="depList"
|
||||
:props="props"
|
||||
v-model:modelValue="listQuery.gldwdm"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编号">
|
||||
<el-input
|
||||
<el-form-item prop="sydwdm" label="使用单位">
|
||||
<MOSTY.Department :disabled="sydwmc"
|
||||
:placeholder="listQuery.ssbm"
|
||||
style="width: 100%"
|
||||
ref="cascader"
|
||||
clearable
|
||||
@getDepValue="getDepValue"
|
||||
filterable
|
||||
:options="depList"
|
||||
:props="props"
|
||||
v-model:modelValue="listQuery.sydwdm"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sbbh" label="设备编号">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.sbbh"
|
||||
placeholder="请输入设备编号"
|
||||
clearable
|
||||
@ -73,8 +57,8 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="scode" label="装备类型">
|
||||
<el-cascader
|
||||
<el-form-item prop="sblx" label="装备类型" >
|
||||
<el-cascader :disabled="forbidden"
|
||||
v-model="listQuery.sblx"
|
||||
:options="dict.D_BZ_ZBLX_LZ"
|
||||
:props="propsTree"
|
||||
@ -84,39 +68,39 @@
|
||||
</el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sbmc" label="装备名称">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.sbmc"
|
||||
placeholder="请输入装备名称"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="装备型号">
|
||||
<!-- <el-form-item label="装备型号">
|
||||
<el-input
|
||||
v-model="listQuery.xh"
|
||||
placeholder="请输入装备型号"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关联GPSID">
|
||||
<el-input
|
||||
</el-form-item> -->
|
||||
<el-form-item label="关联GPSID" prop="glgpsid">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.glgpsid"
|
||||
placeholder="请输入装备型号"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备sim卡号">
|
||||
<el-input
|
||||
<el-form-item label="设备sim卡号" prop="sbsim">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.sbsim"
|
||||
placeholder="请输入装备型号"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备网络类型">
|
||||
<el-select
|
||||
<el-form-item label="设备网络类型" prop="sbwllx">
|
||||
<el-select :disabled="forbidden"
|
||||
clearable
|
||||
v-model="listQuery.sbwllx"
|
||||
placeholder="请选择"
|
||||
@ -130,107 +114,9 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="装备厂商">
|
||||
<el-input
|
||||
v-model="listQuery.sccs"
|
||||
placeholder="请输入装备厂商"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="cgrq" label="购置日期">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
format="YYYY/MM/DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
v-model="listQuery.cgrq"
|
||||
type="date"
|
||||
placeholder="请选择日期"
|
||||
:disabledDate="disableCgrq"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="dqsj" label="到期日期">
|
||||
<el-date-picker
|
||||
@focus="cgrqTs"
|
||||
format="YYYY/MM/DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
v-model="listQuery.dqsj"
|
||||
type="date"
|
||||
placeholder="请选择日期"
|
||||
style="width: 100%"
|
||||
:disabledDate="disableDqsj"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item class="tiaos" prop="sbbh" label="设备编号">
|
||||
<el-input
|
||||
v-model="listQuery.sbbh"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item prop="zbzt" label="设备状态">
|
||||
<el-select
|
||||
v-model="listQuery.zbzt"
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.D_ZDY_SBZT"
|
||||
:label="item.label"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item prop="sfrh" label="是否融合">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
v-model="listQuery.sfrh"
|
||||
placeholder="请选择是否融合"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in dict.D_BZ_SF"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sfzy" label="是否专业">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
v-model="listQuery.sfzy"
|
||||
placeholder="请选择是否专业"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in dict.D_BZ_SF"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sfxt" label="是否通讯">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
v-model="listQuery.sfxt"
|
||||
placeholder="请选择是否通讯"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in D_BZ_SF"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
|
||||
<el-form-item label="备注" style="width: 100%">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bz"
|
||||
placeholder="请输入关键字"
|
||||
show-word-limit
|
||||
@ -256,61 +142,55 @@ const props = defineProps({
|
||||
}
|
||||
});
|
||||
const rules = reactive({
|
||||
xm: [
|
||||
gldwdm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入辅警姓名"
|
||||
message: "请选择管理部门"
|
||||
}
|
||||
],
|
||||
sfzh: [
|
||||
sydwdm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入身份证号码"
|
||||
message: "请选择使用部门"
|
||||
}
|
||||
],
|
||||
xbdm: [
|
||||
sbbh: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择性别",
|
||||
message: "请输入设备编号",
|
||||
trigger: "change"
|
||||
}
|
||||
], sblx: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输选择设备类型",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
mzdm: [
|
||||
sbmc: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择民族"
|
||||
message: "请输入装备名称"
|
||||
}
|
||||
],
|
||||
zzmm: [
|
||||
glgpsid: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择政治面貌"
|
||||
message: "请输入装备型号"
|
||||
}
|
||||
],
|
||||
hyzk: [
|
||||
sbsim: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择婚姻状况"
|
||||
message: "请输入装备型号"
|
||||
}
|
||||
],
|
||||
whcddm: [
|
||||
sbwllx: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择学历"
|
||||
message: "请选择设备网络类型"
|
||||
}
|
||||
],
|
||||
lxdh: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入联系电话"
|
||||
}
|
||||
],
|
||||
lx: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择人员类别"
|
||||
}
|
||||
]
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const emit = defineEmits(["getjczgetXfllList"]);
|
||||
@ -335,21 +215,22 @@ const propsTree = ref({
|
||||
emitPath: false,
|
||||
multiple: false
|
||||
});
|
||||
const forbidden=ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit"||type == "detail") {
|
||||
listQuery.value = { ...row };
|
||||
if (type == "detail") {
|
||||
forbidden.value=true
|
||||
}
|
||||
} else {
|
||||
listQuery.value = {};
|
||||
}
|
||||
};
|
||||
const changeZblx = (val) => {
|
||||
listQuery.value.sblx = val ? val : "";
|
||||
};
|
||||
//保存
|
||||
const _onSave = () => {
|
||||
if (!formRef) return;
|
||||
@ -385,7 +266,12 @@ const tableHeight1 = ref();
|
||||
const tabHeightFn = () => {
|
||||
tableHeight1.value = window.innerHeight - 450;
|
||||
};
|
||||
|
||||
const getDepValue = (res) => {
|
||||
listQuery.value.sydwmc = res.orgName;
|
||||
}
|
||||
const getGldwdm = (res) => {
|
||||
listQuery.value.gldwmc = res.orgName;
|
||||
}
|
||||
defineExpose({ init });
|
||||
</script>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="智能装备管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -30,8 +30,11 @@
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
|
||||
</template>
|
||||
</MyTable>
|
||||
@ -60,6 +63,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 "./components/editAddForm.vue";
|
||||
import {isAuth }from '@/utils/tools.js'
|
||||
import { TcsbselectList, TcsbtbJczTcsb } from "@/api/mosty-jcz.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -122,7 +126,9 @@ const pageData = reactive({
|
||||
{ label: "设备编号", prop: "sbbh" }
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value=isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -3,86 +3,36 @@
|
||||
<div class="head_box">
|
||||
<span class="title">{{ pageInfo[pageType].title }}</span>
|
||||
<div>
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
v-if="['add', 'edit'].includes(pageType)"
|
||||
@click="_onSave"
|
||||
>保存</el-button
|
||||
>
|
||||
<el-button size="small" type="primary" v-if="['add', 'edit'].includes(pageType)" @click="_onSave">保存</el-button>
|
||||
<el-button size="small" @click="close">关闭</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cntinfo">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="listQuery"
|
||||
:rules="rules"
|
||||
:inline="true"
|
||||
label-position="top"
|
||||
>
|
||||
<el-form ref="formRef" :model="listQuery" :rules="rules" :inline="true" label-position="top">
|
||||
<el-form-item style="width: 40%" prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
width="100%"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'"
|
||||
/>
|
||||
<MOSTY.Department width="100%" :disabled="compile" clearable v-model="listQuery.ssbmdm"
|
||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'" />
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="xm" label="姓名">
|
||||
<el-input
|
||||
v-model="listQuery.xm"
|
||||
placeholder="请输入姓名"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
<el-input :disabled="compile" v-model="listQuery.xm" placeholder="请输入姓名" style="width: 100%" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="gmsfzhm" label="公民身份证号码">
|
||||
<el-input
|
||||
v-model="listQuery.gmsfzhm"
|
||||
placeholder="请输入公民身份证号码"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
<el-input :disabled="compile" v-model="listQuery.gmsfzhm" placeholder="请输入公民身份证号码" style="width: 100%" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="jrsj" label="加入时间">
|
||||
<el-date-picker
|
||||
v-model="listQuery.jrsj"
|
||||
type="datetime"
|
||||
placeholder="请选中结束时间"
|
||||
format="YYYY-MM-DD hh:mm:ss"
|
||||
value-format="YYYY-MM-DD hh:mm:ss"
|
||||
/>
|
||||
<el-date-picker :disabled="compile" v-model="listQuery.jrsj" type="datetime" placeholder="请选中结束时间" format="YYYY-MM-DD hh:mm:ss"
|
||||
value-format="YYYY-MM-DD hh:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
style="width: 40%"
|
||||
prop="zdryflgklbdm"
|
||||
label="重点人员分类管控类别代码"
|
||||
>
|
||||
<el-input
|
||||
v-model="listQuery.zdryflgklbdm"
|
||||
placeholder="请输入重点人员分类管控类别代码"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
<el-form-item style="width: 40%" prop="zdryflgklbdm" label="重点人员分类管控类别代码">
|
||||
<el-input :disabled="compile" v-model="listQuery.zdryflgklbdm" placeholder="请输入重点人员分类管控类别代码" style="width: 100%" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item prop="sfjc" style="width: 40%" label="省份简称">
|
||||
<el-select
|
||||
v-model="listQuery.sfjc"
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.D_BZ_XZQHDM"
|
||||
:label="item.label"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-select :disabled="compile" v-model="listQuery.sfjc" class="m-2" placeholder="请选择" style="width: 100%">
|
||||
<el-option v-for="item in dict.D_BZ_XZQHDM" :label="item.label" :key="item.value" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" label="环林卡口名称">
|
||||
<div class="diviput" @click="showJcz = true">
|
||||
<div class="diviput" @click="openJcz(compile)">
|
||||
<span v-if="listQuery.kkMc">{{ listQuery.kkMc }}</span>
|
||||
<span class="placeholder" v-else> 请选择环林卡口</span>
|
||||
</div>
|
||||
@ -104,7 +54,7 @@ import { ElMessage } from "element-plus";
|
||||
const props = defineProps({
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
default: () => { }
|
||||
}
|
||||
});
|
||||
const rules = reactive({
|
||||
@ -145,24 +95,34 @@ const pageInfo = {
|
||||
title: "详情"
|
||||
}
|
||||
};
|
||||
onMounted(() => {});
|
||||
onMounted(() => { });
|
||||
let pageType = ref("add");
|
||||
//打开弹窗
|
||||
const showJcz = ref(false);
|
||||
|
||||
const openJcz = (val) => {
|
||||
if (!val) {
|
||||
showJcz.value = true;
|
||||
}
|
||||
};
|
||||
const JczMsg = (val) => {
|
||||
listQuery.value.kkMc = val.jczmc;
|
||||
listQuery.value.kkId = val.id;
|
||||
};
|
||||
const compile = ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == 'detail') {
|
||||
listQuery.value = { ...row };
|
||||
compile.value = true
|
||||
} else if (type == "edit") {
|
||||
compile.value = false
|
||||
listQuery.value = { ...row };
|
||||
} else {
|
||||
compile.value = false
|
||||
listQuery.value = {};
|
||||
}
|
||||
};
|
||||
@ -208,21 +168,25 @@ defineExpose({ init });
|
||||
<style lang="scss" scoped>
|
||||
.dialog {
|
||||
padding: 20px;
|
||||
|
||||
.head_box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.cntinfo {
|
||||
height: calc(100% - 70px);
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.my_transfer {
|
||||
height: calc(100% - 50px);
|
||||
display: flex;
|
||||
|
||||
.btn {
|
||||
width: 50px;
|
||||
display: flex;
|
||||
@ -230,53 +194,65 @@ defineExpose({ init });
|
||||
justify-content: center;
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.left {
|
||||
margin: 12px;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
|
||||
.tableBox {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.serch {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
// height: 96px;
|
||||
> .el-form--inline {
|
||||
>.el-form--inline {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
> .el-form-item--default {
|
||||
|
||||
>.el-form-item--default {
|
||||
width: 31%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tableBox {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 380px;
|
||||
margin: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.phone {
|
||||
width: 95px;
|
||||
height: 120px;
|
||||
|
||||
.el-image {
|
||||
width: 95px;
|
||||
max-height: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-upload {
|
||||
width: 90px;
|
||||
height: 100px;
|
||||
border: 1px dashed #000000;
|
||||
margin-bottom: 14px;
|
||||
|
||||
.el-icon {
|
||||
margin-top: 34px;
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
.el-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@ -292,6 +268,7 @@ defineExpose({ init });
|
||||
line-height: 32px;
|
||||
padding: 0 10px;
|
||||
border-radius: 5px;
|
||||
|
||||
.placeholder {
|
||||
color: #b5b5b5;
|
||||
}
|
||||
|
@ -34,6 +34,7 @@
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
|
@ -23,6 +23,7 @@
|
||||
>
|
||||
<el-form-item style="width: 40%" prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
:disabled="forbidden"
|
||||
width="100%"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
@ -30,7 +31,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="sbmc" label="感知源名称">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.sbmc"
|
||||
placeholder="请输入感知源名称"
|
||||
style="width: 100%"
|
||||
@ -38,7 +39,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="sbbh" label="感知源编号">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.sbbh"
|
||||
placeholder="请输入感知源编号"
|
||||
style="width: 100%"
|
||||
@ -47,7 +48,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" prop="sblx" label="感知源类型">
|
||||
<el-select v-model="listQuery.sblx" placeholder="请选择感知源类型">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.sblx" placeholder="请选择感知源类型">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_SBLX"
|
||||
:key="dict.value"
|
||||
@ -57,7 +58,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="sblxdm" label="摄像机类型">
|
||||
<el-select v-model="listQuery.sblxdm" placeholder="请选择摄像机类型">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.sblxdm" placeholder="请选择摄像机类型">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_GZSBLX"
|
||||
:key="dict.value"
|
||||
@ -67,7 +68,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="csmc" label="来源厂商">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.csmc"
|
||||
placeholder="请输入来源厂商"
|
||||
style="width: 100%"
|
||||
@ -75,7 +76,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 100%" prop="dzmc" label="感知源地址">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.dzmc"
|
||||
placeholder="请输入感知源地址"
|
||||
style="width: 100%"
|
||||
@ -83,7 +84,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 100%" prop="sklList" label="标签">
|
||||
<el-select
|
||||
<el-select :disabled="forbidden"
|
||||
v-model="listQuery.sklList"
|
||||
placeholder="请选择标签"
|
||||
multiple
|
||||
@ -99,20 +100,20 @@
|
||||
|
||||
<el-form-item style="width: 85%" prop="jd" label="坐标位置">
|
||||
<div class="latlng flex">
|
||||
<el-input
|
||||
<el-input :disabled="true"
|
||||
v-model="listQuery.jd"
|
||||
clearable
|
||||
placeholder="请选择坐标"
|
||||
style="width: 42%"
|
||||
></el-input>
|
||||
<el-input
|
||||
<el-input :disabled="true"
|
||||
v-model="listQuery.wd"
|
||||
clearable
|
||||
placeholder="请选择坐标"
|
||||
style="width: 42%; margin-left: 1%"
|
||||
></el-input>
|
||||
|
||||
<el-button @click="selectLocation">选择定位</el-button>
|
||||
<el-button @click="selectLocation" :disabled="forbidden">选择定位</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 100%">
|
||||
@ -196,15 +197,18 @@ onMounted(() => {
|
||||
});
|
||||
});
|
||||
let pageType = ref("add");
|
||||
|
||||
const forbidden=ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit" || type == "detail") {
|
||||
listQuery.value = { ...row };
|
||||
if (type == "detail") {
|
||||
forbidden.value=true
|
||||
}
|
||||
} else {
|
||||
listQuery.value = {};
|
||||
}
|
||||
@ -257,6 +261,7 @@ const chackLat = (type) => {
|
||||
//页面关闭
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
forbidden.value=false
|
||||
listQuery.value = {};
|
||||
};
|
||||
// 表格高度计算
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="感知源管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -39,8 +39,11 @@
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@ -69,6 +72,7 @@ import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { TtbgetPageList, jczdeleteList } 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/";
|
||||
@ -134,7 +138,9 @@ const pageData = reactive({
|
||||
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true }
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value=isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
"
|
||||
>
|
||||
<div style="position: relative; width: 90px; height: 100px">
|
||||
<el-upload
|
||||
<el-upload :disabled="forbidden"
|
||||
action="/mosty-api/mosty-base/minio/image/upload/id"
|
||||
:on-change="upImgFile"
|
||||
:on-success="upImg"
|
||||
@ -52,7 +52,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<el-form-item style="width: 20%" prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
<MOSTY.Department :disabled="forbidden"
|
||||
width="100%"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
@ -60,7 +60,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkmc" label="布控名称">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkmc"
|
||||
placeholder="请输入布控名称"
|
||||
style="width: 100%"
|
||||
@ -68,7 +68,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bksfzh" label="身份证号">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bksfzh"
|
||||
placeholder="请输入布控人身份证号"
|
||||
style="width: 100%"
|
||||
@ -76,7 +76,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bklb" label="布控类别">
|
||||
<el-select v-model="listQuery.bklb" placeholder="请选择布控类别">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.bklb" placeholder="请选择布控类别">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_RYBKLX"
|
||||
:key="dict.value"
|
||||
@ -86,7 +86,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkkssj" label="开始时间">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="forbidden"
|
||||
v-model="listQuery.bkkssj"
|
||||
type="datetime"
|
||||
placeholder="请选中开始时间"
|
||||
@ -95,7 +95,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkjssj" label="结束时间">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="forbidden"
|
||||
v-model="listQuery.bkjssj"
|
||||
type="datetime"
|
||||
placeholder="请选中结束时间"
|
||||
@ -105,7 +105,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" prop="bkqy" label="布控区域">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkqy"
|
||||
placeholder="请输入布控区域"
|
||||
style="width: 100%"
|
||||
@ -113,7 +113,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkzt" label="布控状态">
|
||||
<el-select v-model="listQuery.bkzt" placeholder="请选择布控状态">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.bkzt" placeholder="请选择布控状态">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_RCBKZT"
|
||||
:key="dict.value"
|
||||
@ -123,7 +123,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkfw" label="布控范围">
|
||||
<el-select v-model="listQuery.bkfw" placeholder="请选择布控状态">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.bkfw" placeholder="请选择布控状态">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_RCBKFW"
|
||||
:key="dict.value"
|
||||
@ -132,8 +132,8 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkczlx" label="布控操作类型">
|
||||
<el-input
|
||||
<el-form-item style="width: 40%" prop="bkczlx" label="布控操作类型">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkczlx"
|
||||
placeholder="请输入布控区域"
|
||||
style="width: 100%"
|
||||
@ -141,7 +141,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkdxtzm" label="布控对象特征码">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkdxtzm"
|
||||
placeholder="请输入布控区域"
|
||||
style="width: 100%"
|
||||
@ -149,7 +149,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkkk" label="布控卡口">
|
||||
<div class="diviput" @click="showJcz = true">
|
||||
<div class="diviput" @click="openJcz">
|
||||
<span v-if="listQuery.bkkk">{{ listQuery.bkkk }}</span>
|
||||
<span class="placeholder" v-else> 请选择布控卡口</span>
|
||||
</div>
|
||||
@ -258,13 +258,17 @@ const pageInfo = {
|
||||
let pageType = ref("add");
|
||||
|
||||
// 初始化数据
|
||||
const forbidden=ref(false)
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit" || type == "detail") {
|
||||
listQuery.value = { ...row };
|
||||
if (type == "detail") {
|
||||
forbidden.value=true
|
||||
}
|
||||
} else {
|
||||
listQuery.value = {};
|
||||
}
|
||||
@ -304,16 +308,19 @@ const upImg = (row) => {
|
||||
|
||||
//打开弹窗
|
||||
const showJcz = ref(false);
|
||||
|
||||
const openJcz = () => {
|
||||
if (!forbidden) {
|
||||
showJcz.value=true
|
||||
}
|
||||
};
|
||||
const JczMsg = (val) => {
|
||||
console.log(val);
|
||||
|
||||
listQuery.value.bkkk = val.jczmc;
|
||||
listQuery.value.kkId = val.id;
|
||||
};
|
||||
//页面关闭
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
forbidden.value=false
|
||||
listQuery.value = {};
|
||||
};
|
||||
// 表格高度计算
|
||||
|
@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<div class="titleBox" >
|
||||
<PageTitle title="人员布控">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -36,8 +36,11 @@
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@ -70,6 +73,7 @@ import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { BkrwselectPage, BkrwdeleteById } 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/";
|
||||
@ -167,8 +171,10 @@ const pageData = reactive({
|
||||
}
|
||||
]
|
||||
});
|
||||
const Auth = ref(false)
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
Auth.value=isAuth()
|
||||
});
|
||||
|
||||
//查询条件
|
||||
@ -235,6 +241,7 @@ const tabHeightFn = () => {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
@ -30,7 +30,7 @@
|
||||
"
|
||||
>
|
||||
<div style="position: relative; width: 90px; height: 100px">
|
||||
<el-upload
|
||||
<el-upload :disabled="forbidden"
|
||||
action="/mosty-api/mosty-base/minio/image/upload/id"
|
||||
:on-change="upImgFile"
|
||||
:on-success="upImg"
|
||||
@ -53,7 +53,7 @@
|
||||
</div>
|
||||
<el-form-item style="width: 20%" prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
width="100%"
|
||||
width="100%" :disabled="forbidden"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'"
|
||||
@ -61,7 +61,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bklb" label="布控类别">
|
||||
<el-select v-model="listQuery.bklb" placeholder="请选择布控类别">
|
||||
<el-option
|
||||
<el-option :disabled="forbidden"
|
||||
v-for="dict in dict.D_BZ_CLBKLX"
|
||||
:key="dict.value"
|
||||
:value="dict.value"
|
||||
@ -70,7 +70,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkcph" label="车牌号">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkcph"
|
||||
placeholder="请输入布控车辆车牌号"
|
||||
style="width: 100%"
|
||||
@ -79,7 +79,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" prop="bkkssj" label="开始时间">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="forbidden"
|
||||
v-model="listQuery.bkkssj"
|
||||
type="datetime"
|
||||
placeholder="请选中开始时间"
|
||||
@ -88,7 +88,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkjssj" label="结束时间">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="forbidden"
|
||||
v-model="listQuery.bkjssj"
|
||||
type="datetime"
|
||||
placeholder="请选中结束时间"
|
||||
@ -98,7 +98,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" prop="bkqy" label="布控区域">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkqy"
|
||||
placeholder="请输入布控区域"
|
||||
style="width: 100%"
|
||||
@ -106,7 +106,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkzt" label="布控状态">
|
||||
<el-select v-model="listQuery.bkzt" placeholder="请选择布控状态">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.bkzt" placeholder="请选择布控状态">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_RCBKZT"
|
||||
:key="dict.value"
|
||||
@ -116,7 +116,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkfw" label="布控范围">
|
||||
<el-select v-model="listQuery.bkfw" placeholder="请选择布控状态">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.bkfw" placeholder="请选择布控状态">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_RCBKFW"
|
||||
:key="dict.value"
|
||||
@ -126,7 +126,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkczlx" label="布控操作类型">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkczlx"
|
||||
placeholder="请输入布控区域"
|
||||
style="width: 100%"
|
||||
@ -134,7 +134,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkdxtzm" label="布控对象特征码">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.bkdxtzm"
|
||||
placeholder="请输入布控区域"
|
||||
style="width: 100%"
|
||||
@ -142,7 +142,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="bkkk" label="布控卡口">
|
||||
<div class="diviput" @click="showJcz = true">
|
||||
<div class="diviput" @click="forbidden ? '' : showJcz = true">
|
||||
<span v-if="listQuery.bkkk">{{ listQuery.bkkk }}</span>
|
||||
<span class="placeholder" v-else> 请选择布控卡口</span>
|
||||
</div>
|
||||
@ -157,9 +157,8 @@
|
||||
import { ref, reactive, onMounted } from "vue";
|
||||
import { BkrwinsertEntity, BkrweditEntity } 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 GdMap from "@/components/GdMap/index.vue";
|
||||
|
||||
import { ElMessage } from "element-plus";
|
||||
const props = defineProps({
|
||||
dict: {
|
||||
@ -250,15 +249,18 @@ const pageInfo = {
|
||||
};
|
||||
|
||||
let pageType = ref("add");
|
||||
|
||||
const forbidden=ref(false);
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit"||type == "detail") {
|
||||
listQuery.value = { ...row };
|
||||
if (type == "detail") {
|
||||
forbidden.value=true
|
||||
}
|
||||
} else {
|
||||
listQuery.value = {};
|
||||
}
|
||||
@ -306,7 +308,9 @@ const JczMsg = (val) => {
|
||||
//页面关闭
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
forbidden.value=false;
|
||||
listQuery.value = {};
|
||||
|
||||
};
|
||||
// 表格高度计算
|
||||
const tableHeight1 = ref();
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="车辆布控">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -36,8 +36,12 @@
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@ -69,6 +73,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 "./components/editAddForm.vue";
|
||||
import{isAuth} from '@/utils/tools.js'
|
||||
import { BkrwselectPage, BkrwdeleteById } from "@/api/mosty-jcz.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -154,7 +159,9 @@ const pageData = reactive({
|
||||
}
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value=isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -25,12 +25,13 @@
|
||||
<MOSTY.Department
|
||||
width="100%"
|
||||
clearable
|
||||
:disabled="forbidden"
|
||||
v-model="listQuery.ssbmdm"
|
||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="jczmc" label="环林卡口名称">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.jczmc"
|
||||
placeholder="请输入环林卡口名称"
|
||||
style="width: 100%"
|
||||
@ -39,7 +40,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" prop="zqlx" label="执勤类型">
|
||||
<el-select v-model="listQuery.zqlx" placeholder="请选择执勤类型">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.zqlx" placeholder="请选择执勤类型">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_ZQLX"
|
||||
:key="dict.value"
|
||||
@ -49,7 +50,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="jczlx" label="环林卡口类型">
|
||||
<el-select v-model="listQuery.jczlx" placeholder="请选择环林卡口类型">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.jczlx" placeholder="请选择环林卡口类型">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_JCZLX"
|
||||
:key="dict.value"
|
||||
@ -59,7 +60,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="jczjb" label="环林卡口级别">
|
||||
<el-select v-model="listQuery.jczjb" placeholder="请选择环林卡口级别">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.jczjb" placeholder="请选择环林卡口级别">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_JCZJB"
|
||||
:key="dict.value"
|
||||
@ -69,7 +70,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="fzr" label="负责人">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.fzr"
|
||||
placeholder="请输入负责人"
|
||||
style="width: 100%"
|
||||
@ -77,7 +78,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="lxdh" label="联系电话">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.lxdh"
|
||||
placeholder="请输入联系电话"
|
||||
style="width: 100%"
|
||||
@ -85,7 +86,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="dllx" label="道路类型">
|
||||
<el-select v-model="listQuery.dllx" placeholder="请选择道路类型">
|
||||
<el-select :disabled="forbidden" v-model="listQuery.dllx" placeholder="请选择道路类型">
|
||||
<el-option
|
||||
v-for="dict in dict.D_BZ_DLLX"
|
||||
:key="dict.value"
|
||||
@ -94,16 +95,16 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="dzmc" label="环林卡口地址">
|
||||
<el-input
|
||||
v-model="listQuery.dzmc"
|
||||
<el-form-item style="width: 40%" prop="xxdz" label="环林卡口地址">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.xxdz"
|
||||
placeholder="请输入环林卡口地址"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="示意图(最多3张)" prop="fjid" style="width: 40%">
|
||||
<MOSTY.Upload
|
||||
<MOSTY.Upload :disableds="forbidden"
|
||||
:isImg="true"
|
||||
width="100%"
|
||||
:limit="3"
|
||||
@ -115,7 +116,7 @@
|
||||
prop="qjfjid"
|
||||
style="width: 48%"
|
||||
>
|
||||
<MOSTY.Upload
|
||||
<MOSTY.Upload :disableds="forbidden"
|
||||
width="100%"
|
||||
:isImg="true"
|
||||
:limit="3"
|
||||
@ -124,20 +125,20 @@
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 85%" prop="jd" label="坐标位置">
|
||||
<div class="latlng flex">
|
||||
<el-input
|
||||
<el-input :disabled="true"
|
||||
v-model="listQuery.jd"
|
||||
clearable
|
||||
placeholder="请选择坐标"
|
||||
style="width: 42%"
|
||||
></el-input>
|
||||
<el-input
|
||||
<el-input :disabled="true"
|
||||
v-model="listQuery.wd"
|
||||
clearable
|
||||
placeholder="请选择坐标"
|
||||
style="width: 42%; margin-left: 1%"
|
||||
></el-input>
|
||||
|
||||
<el-button @click="selectLocation">选择定位</el-button>
|
||||
<el-button @click="selectLocation" :disabled="forbidden">选择定位</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 100%">
|
||||
@ -162,22 +163,29 @@ const props = defineProps({
|
||||
}
|
||||
});
|
||||
const rules = reactive({
|
||||
sbmc: [
|
||||
jczmc: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源名称"
|
||||
message: "请输入检查站名称"
|
||||
}
|
||||
],
|
||||
sblx: [
|
||||
zqlx: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择感知源类型"
|
||||
message: "请选择执勤类型",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
sbbh: [
|
||||
jczlx: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源编号",
|
||||
message: "请选择环林卡口类型",
|
||||
trigger: "change"
|
||||
}
|
||||
], jczjb: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择环林卡口级别",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
@ -221,15 +229,19 @@ onMounted(() => {
|
||||
});
|
||||
});
|
||||
let pageType = ref("add");
|
||||
|
||||
const forbidden=ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit"||type == "detail") {
|
||||
listQuery.value = { ...row };
|
||||
if (type == "detail") {
|
||||
forbidden.value=true
|
||||
}
|
||||
chackLat();
|
||||
} else {
|
||||
listQuery.value = {};
|
||||
}
|
||||
@ -267,21 +279,30 @@ const selectLocation = () => {
|
||||
});
|
||||
};
|
||||
//获取经纬度
|
||||
const chackLat = (type) => {
|
||||
const chackLat = () => {
|
||||
const { jd, wd } = listQuery.value;
|
||||
console.log(jd, wd );
|
||||
|
||||
emitter.emit("deletePointArea", "jczMap_Gzy");
|
||||
if (jd && wd) {
|
||||
emitter.emit("addPointArea", {
|
||||
coords: [{ jd, wd }],
|
||||
icon: require("@/assets/images/bi/zsdw.png"),
|
||||
flag: "jczMap_Gzy"
|
||||
});
|
||||
setTimeout(() => {
|
||||
emitter.emit("addPointArea", {
|
||||
coords: [{ jd, wd }],
|
||||
icon: require("@/assets/images/bi/gzy.png"),
|
||||
flag: "jczMap_Gzy"
|
||||
});
|
||||
}, 1000);
|
||||
}
|
||||
};
|
||||
// 初始化时展示地图图标
|
||||
const mapIcon = (val) => {
|
||||
console.log(val);
|
||||
|
||||
}
|
||||
//页面关闭
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
forbidden.value=false
|
||||
listQuery.value = {};
|
||||
};
|
||||
// 表格高度计算
|
||||
|
@ -2,7 +2,8 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="环林卡口管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
{{ Auth }}
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -35,8 +36,12 @@
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@ -65,6 +70,7 @@ import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { JczselectJczList, JczdeleteById } from "@/api/mosty-jcz.js";
|
||||
import {isAuth} from '@/utils/tools.js'
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_JCZLX, D_BZ_ZQLX, D_BZ_DLLX, D_BZ_JCZJB } = proxy.$dict(
|
||||
@ -136,12 +142,15 @@ const pageData = reactive({
|
||||
},
|
||||
{
|
||||
label: "环林卡口地址",
|
||||
prop: "dzmc",
|
||||
prop: "xxdz",
|
||||
showOverflowTooltip: true
|
||||
}
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value = isAuth()
|
||||
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
label-position="top"
|
||||
>
|
||||
<el-form-item style="width: 40%" prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
<MOSTY.Department :disabled="forbidden"
|
||||
width="100%"
|
||||
clearable
|
||||
v-model="listQuery.ssbmdm"
|
||||
@ -31,14 +31,20 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" prop="ajwjwp" label="安检违禁物品">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.ajwjwp"
|
||||
placeholder="请输入安检违禁物品"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
<el-form-item style="width: 40%" prop="kkMc" label="环林卡口名称">
|
||||
<div class="diviput" @click="forbidden?'':showJcz = true">
|
||||
<span v-if="listQuery.kkMc">{{ listQuery.kkMc }}</span>
|
||||
<span class="placeholder" v-else> 请选择环林卡口</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item
|
||||
style="width: 40%"
|
||||
prop="gajczbsm"
|
||||
label="公安环林卡口标识码"
|
||||
@ -49,9 +55,9 @@
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item style="width: 40%" prop="txsjbsm" label="通行事件标识码">
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.txsjbsm"
|
||||
placeholder="请输入通行事件标识码"
|
||||
style="width: 100%"
|
||||
@ -63,23 +69,16 @@
|
||||
prop="wjwplbdm"
|
||||
label="安检违禁物品类别代码"
|
||||
>
|
||||
<el-input
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.wjwplbdm"
|
||||
placeholder="请输入通行事件标识码"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 100%" prop="wptzms" label="物品特征描述">
|
||||
<el-input
|
||||
v-model="listQuery.wptzms"
|
||||
placeholder="物品特征描述"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" prop="cjsj" label="采集时间">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="forbidden"
|
||||
v-model="listQuery.cjsj"
|
||||
type="datetime"
|
||||
placeholder="请选中结束时间"
|
||||
@ -87,16 +86,18 @@
|
||||
value-format="YYYY-MM-DD hh:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 40%" prop="cjsj" label="数量">
|
||||
<el-input-number v-model="listQuery.sl" min="0" />
|
||||
<el-form-item style="width: 40%" prop="cjsj" label="数量" >
|
||||
<el-input-number :disabled="forbidden" v-model="listQuery.sl" min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item style="width: 100%" prop="wptzms" label="物品特征描述">
|
||||
<el-input :disabled="forbidden"
|
||||
v-model="listQuery.wptzms"
|
||||
placeholder="物品特征描述"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 40%" label="环林卡口名称">
|
||||
<div class="diviput" @click="showJcz = true">
|
||||
<span v-if="listQuery.kkMc">{{ listQuery.kkMc }}</span>
|
||||
<span class="placeholder" v-else> 请选择环林卡口</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
@ -118,37 +119,47 @@ const props = defineProps({
|
||||
}
|
||||
});
|
||||
const rules = reactive({
|
||||
sbmc: [
|
||||
ssbmdm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源名称"
|
||||
message: "请选择所属部门"
|
||||
}
|
||||
],
|
||||
sblx: [
|
||||
ajwjwp: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择感知源类型"
|
||||
message: "请输入安检违禁物品"
|
||||
}
|
||||
],
|
||||
sbbh: [
|
||||
kkMc: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入感知源编号",
|
||||
message: "请选择环林卡口",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
wd: [
|
||||
txsjbsm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入维度"
|
||||
message: "请输入通行事件标识码"
|
||||
}
|
||||
],
|
||||
jd: [
|
||||
wjwplbdm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入经度"
|
||||
message: "请输入安检违禁物品类别代码"
|
||||
}
|
||||
]
|
||||
], cjsj: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入采集时间"
|
||||
}
|
||||
], cjsj: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入采集数量"
|
||||
}
|
||||
],
|
||||
});
|
||||
const formRef = ref(null);
|
||||
const emit = defineEmits(["getjczgetXfllList"]);
|
||||
@ -183,15 +194,20 @@ const showJcz = ref(false);
|
||||
const JczMsg = (val) => {
|
||||
listQuery.value.kkMc = val.jczmc;
|
||||
listQuery.value.kkId = val.id;
|
||||
listQuery.value.gajczbsm=val.id;
|
||||
};
|
||||
const forbidden=ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "edit"||type=='detail') {
|
||||
listQuery.value = { ...row };
|
||||
if (type=='detail') {
|
||||
forbidden.value=true
|
||||
}
|
||||
} else {
|
||||
listQuery.value = {};
|
||||
}
|
||||
@ -244,6 +260,7 @@ const chackLat = (type) => {
|
||||
//页面关闭
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
forbidden.value=false
|
||||
listQuery.value = {};
|
||||
};
|
||||
// 表格高度计算
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="违禁物品管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -39,8 +39,11 @@
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@ -68,6 +71,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 "./components/editAddForm.vue";
|
||||
import { isAuth } from '@/utils/tools.js'
|
||||
import { WjwpselectPage, WjwpdeleteById } from "@/api/mosty-jcz.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -122,7 +126,9 @@ const pageData = reactive({
|
||||
}
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value=isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -21,37 +21,6 @@
|
||||
:inline="true"
|
||||
label-position="top"
|
||||
>
|
||||
<!-- <div
|
||||
style="
|
||||
width: 25%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-bottom: 10px;
|
||||
"
|
||||
>
|
||||
<div style="position: relative; width: 90px; height: 100px">
|
||||
<el-upload
|
||||
action="/mosty-api/mosty-base/minio/image/upload/id"
|
||||
:on-change="upImgFile"
|
||||
:on-success="upImg"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
|
||||
<el-icon v-else>
|
||||
<Plus></Plus>
|
||||
</el-icon>
|
||||
<span
|
||||
v-if="imgUrl"
|
||||
style="position: absolute; top: -52px; right: -20px"
|
||||
>
|
||||
<el-icon size="20" @click.stop="deletImg">
|
||||
<Close />
|
||||
</el-icon>
|
||||
</span>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<el-form-item prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
:placeholder="listQuery.ssbm"
|
||||
@ -60,7 +29,7 @@
|
||||
clearable
|
||||
filterable
|
||||
:props="props"
|
||||
v-model:modelValue="listQuery.gldwdm"
|
||||
v-model:modelValue="listQuery.ssbmdm"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编号" prop="qxbh">
|
||||
@ -82,6 +51,16 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备分类" prop="scode">
|
||||
<el-select v-model="listQuery.scode" placeholder="请选择设备分类">
|
||||
<el-option
|
||||
v-for="item in dict.D_BZ_JYQXFL"
|
||||
:key="item"
|
||||
:label="item.label"
|
||||
:value="item.dm"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="qxMc" label="装备名称">
|
||||
<el-input
|
||||
v-model="listQuery.qxMc"
|
||||
@ -101,14 +80,14 @@
|
||||
<el-form-item label="数量" prop="sl">
|
||||
<el-input-number v-model="listQuery.sl" :step="1" :min="0" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="设备sim卡号">
|
||||
<el-form-item label="计量单位" prop="jsdw">
|
||||
<el-input
|
||||
v-model="listQuery.sbsim"
|
||||
placeholder="请输入装备型号"
|
||||
v-model="listQuery.jsdw"
|
||||
placeholder="请输入单位"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
</el-form-item>
|
||||
<el-form-item label="装备状态">
|
||||
<el-select
|
||||
clearable
|
||||
@ -169,9 +148,7 @@
|
||||
<script setup>
|
||||
import { ref, reactive, onMounted } from "vue";
|
||||
import * as MOSTY from "@/components/MyComponents/index";
|
||||
import { tbJczXfbbJczXfbb, tbJczXfbbdeleteJyQxzb } from "@/api/mosty-jcz.js";
|
||||
import { Right, Back } from "@element-plus/icons-vue";
|
||||
import { baseselectPage } from "@/api/mosty-base";
|
||||
import { tbJczXfbbJczXfbb, tbJczXfbbupdateJyqx } from "@/api/mosty-jcz.js";
|
||||
import { ElMessage } from "element-plus";
|
||||
const props = defineProps({
|
||||
dict: {
|
||||
@ -187,12 +164,49 @@ const rules = reactive({
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
ssbmdm: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择所属部门",
|
||||
trigger: "change"
|
||||
}
|
||||
], qxbh: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入设备编号",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
qxlx: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择器械类型",
|
||||
trigger: "change"
|
||||
}
|
||||
], cgrq: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择购入日期",
|
||||
trigger: "change"
|
||||
}
|
||||
], dqsj: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择到期日期",
|
||||
trigger: "change"
|
||||
}
|
||||
], zbzt: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择器械状态",
|
||||
trigger: "change"
|
||||
}
|
||||
], scode: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择设备分类",
|
||||
trigger: "change"
|
||||
}
|
||||
],
|
||||
sl: [
|
||||
{
|
||||
@ -252,7 +266,7 @@ const _onSave = () => {
|
||||
close();
|
||||
});
|
||||
} else {
|
||||
tbJczXfbbdeleteJyQxzb(listQuery.value).then((res) => {
|
||||
tbJczXfbbupdateJyqx(listQuery.value).then((res) => {
|
||||
ElMessage({ message: "修改成功", type: "success" });
|
||||
emit("getjczgetXfllList");
|
||||
close();
|
||||
@ -355,4 +369,7 @@ defineExpose({ init });
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
::v-deep .el-form-item{
|
||||
width: 45%;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,216 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="智能装备管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
>
|
||||
</el-button>
|
||||
</PageTitle>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div ref="searchBox">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||
</div>
|
||||
<div class="tabBox">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<template #sblx="{ row }">
|
||||
<dict-tag :options="zbAllList" :value="row.sblx" :tag="false" />
|
||||
</template>
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"
|
||||
></Pages>
|
||||
</div>
|
||||
<!-- 编辑详情 -->
|
||||
<EditAddForm
|
||||
ref="detailDiloag"
|
||||
:dict="{ D_BZ_ZBLX_LZ, D_BZ_SF, D_ZDY_SBZT, D_JCGL_TCSB_WLLX }"
|
||||
@getjczgetXfllList="getjczgetXfllList"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { TcsbselectList, TcsbtbJczTcsb } from "@/api/mosty-jcz.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const {
|
||||
D_JCGL_TCSB_SBLX,
|
||||
D_BZ_SF,
|
||||
D_ZDY_SBZT,
|
||||
D_JCGL_TCSB_WLLX,
|
||||
D_BZ_ZBLX_LZ
|
||||
} = proxy.$dict(
|
||||
"D_JCGL_TCSB_SBLX",
|
||||
"D_BZ_SF",
|
||||
"D_ZDY_SBZT",
|
||||
"D_JCGL_TCSB_WLLX",
|
||||
"D_BZ_ZBLX_LZ"
|
||||
);
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
showType: "department",
|
||||
prop: "ssbmdm",
|
||||
placeholder: "请选择所属部门",
|
||||
label: "所属部门"
|
||||
},
|
||||
{
|
||||
label: "设备名称",
|
||||
prop: "sbmc",
|
||||
placeholder: "请输入设备名称",
|
||||
showType: "input"
|
||||
}
|
||||
// {
|
||||
// label: "装备类型",
|
||||
// prop: "sblx",
|
||||
// placeholder: "装备类型",
|
||||
// showType: "cascader",
|
||||
// options: D_BZ_ZBLX_LZ
|
||||
// }
|
||||
]);
|
||||
|
||||
const detailDiloag = ref();
|
||||
const pageData = reactive({
|
||||
tableData: [], //表格数据
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHieght: 61,
|
||||
showSelectType: "null",
|
||||
loading: false
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
}, //分页
|
||||
controlsWidth: 250, //操作栏宽度
|
||||
tableColumn: [
|
||||
{ label: "设备名称", prop: "sbmc" },
|
||||
{ label: "使用单位名称", prop: "sydwmc" },
|
||||
{ label: "设备类型", prop: "sblx", showSolt: true },
|
||||
{ label: "设备sim卡号", prop: "sbsim" },
|
||||
{ label: "设备编号", prop: "sbbh" }
|
||||
]
|
||||
});
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
//查询条件
|
||||
const queryCondition = ref({});
|
||||
// 获取数据
|
||||
const getjczgetXfllList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
const promes = { ...queryCondition.value, ...pageData.pageConfiger };
|
||||
TcsbselectList(promes)
|
||||
.then((res) => {
|
||||
pageData.tableData = res.records;
|
||||
pageData.total = res.total;
|
||||
})
|
||||
.finally(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
getjczgetXfllList();
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
queryCondition.value = { ...queryCondition.value, ...val };
|
||||
getjczgetXfllList();
|
||||
};
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
};
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
};
|
||||
|
||||
// 获取列表
|
||||
// 删除
|
||||
const delDictItem = (ids) => {
|
||||
proxy
|
||||
.$confirm("确定删除该数据?", "警告", { type: "warning" })
|
||||
.then(() => {
|
||||
TcsbtbJczTcsb(ids).then((res) => {
|
||||
ElMessage({ message: "删除成功", type: "success" });
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getjczgetXfllList();
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
proxy.$message.info("已取消");
|
||||
});
|
||||
};
|
||||
|
||||
// 新增
|
||||
const addEdit = (type, row) => {
|
||||
detailDiloag.value.init(type, row);
|
||||
};
|
||||
|
||||
const searchBox = ref(null);
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight =
|
||||
window.innerHeight - searchBox.value.offsetHeight - 280;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
const zbAllList = ref([]);
|
||||
watch(
|
||||
() => D_BZ_ZBLX_LZ.value,
|
||||
(val) => {
|
||||
val.forEach((p) => {
|
||||
zbAllList.value.push(p);
|
||||
if (p.itemList && p.itemList.length > 0) {
|
||||
getChildren(p);
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
// 递归处理数据
|
||||
const getChildren = (item) => {
|
||||
zbAllList.value.push(item);
|
||||
if (item.itemList && item.itemList.length > 0) {
|
||||
item.itemList.forEach((v) => {
|
||||
getChildren(v);
|
||||
});
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.el-loading-mask {
|
||||
background: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
</style>
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="警用器械管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -24,14 +24,19 @@
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<template #sblx="{ row }">
|
||||
<dict-tag :options="zbAllList" :value="row.sblx" :tag="false" />
|
||||
<template #zbzt="{ row }">
|
||||
<dict-tag :options="D_ZDY_SBZT" :value="row.zbzt" :tag="false" />
|
||||
</template>
|
||||
<template #qxlx="{ row }">
|
||||
<dict-tag :options="D_JCGL_JYQX_QXLX" :value="row.qxlx" :tag="false" />
|
||||
</template>
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||
</template>
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
|
||||
</template>
|
||||
</MyTable>
|
||||
@ -51,10 +56,9 @@
|
||||
:dict="{
|
||||
D_BZ_ZBLX_LZ,
|
||||
D_BZ_SF,
|
||||
D_ZDY_SBZT,
|
||||
D_JCGL_TCSB_WLLX,
|
||||
D_JCGL_JYQX_QXLX,
|
||||
D_ZDY_SBZT
|
||||
D_ZDY_SBZT,D_BZ_JYQXFL
|
||||
}"
|
||||
@getjczgetXfllList="getjczgetXfllList"
|
||||
/>
|
||||
@ -65,9 +69,11 @@
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import {isAuth }from '@/utils/tools.js'
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { tbJczXfbbselectJyqx, TcsbtbJczTcsb } from "@/api/mosty-jcz.js";
|
||||
import { tbJczSelectJyqx, tbJczXfbbdeleteJyQxzb } from "@/api/mosty-jcz.js";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
@ -76,13 +82,13 @@ const {
|
||||
D_BZ_SF,
|
||||
D_ZDY_SBZT,
|
||||
D_JCGL_TCSB_WLLX,
|
||||
D_BZ_ZBLX_LZ
|
||||
D_BZ_ZBLX_LZ,D_BZ_JYQXFL
|
||||
} = proxy.$dict(
|
||||
"D_JCGL_JYQX_QXLX",
|
||||
"D_BZ_SF",
|
||||
"D_ZDY_SBZT",
|
||||
"D_JCGL_TCSB_WLLX",
|
||||
"D_BZ_ZBLX_LZ"
|
||||
"D_BZ_ZBLX_LZ","D_BZ_JYQXFL"
|
||||
);
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
@ -122,14 +128,20 @@ const pageData = reactive({
|
||||
}, //分页
|
||||
controlsWidth: 250, //操作栏宽度
|
||||
tableColumn: [
|
||||
{ label: "设备名称", prop: "sbmc" },
|
||||
{ label: "使用单位名称", prop: "sydwmc" },
|
||||
{ label: "设备类型", prop: "sblx", showSolt: true },
|
||||
{ label: "设备sim卡号", prop: "sbsim" },
|
||||
{ label: "设备编号", prop: "sbbh" }
|
||||
{ label: "所属部门", prop: "ssbm" },
|
||||
{ label: "器械名称", prop: "qxMc" },
|
||||
{ label: "器械类型", prop: "qxlx", showSolt: true },
|
||||
{ label: "数量", prop: "sl" },
|
||||
{ label: "计量单位", prop: "jsdw" },
|
||||
{ label: "采购日期", prop: "cgrq" },
|
||||
{ label: "到期日期", prop: "dqsj" },
|
||||
{ label: "装备状态", prop: "zbzt", showSolt: true },
|
||||
{ label: "生产厂商", prop: "sccs" }
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value=isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
@ -139,8 +151,7 @@ const queryCondition = ref({});
|
||||
const getjczgetXfllList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
const promes = { ...queryCondition.value, ...pageData.pageConfiger };
|
||||
tbJczXfbbselectJyqx(promes)
|
||||
.then((res) => {
|
||||
tbJczSelectJyqx(promes).then((res) => {
|
||||
pageData.tableData = res.records;
|
||||
pageData.total = res.total;
|
||||
})
|
||||
@ -168,7 +179,7 @@ const delDictItem = (ids) => {
|
||||
proxy
|
||||
.$confirm("确定删除该数据?", "警告", { type: "warning" })
|
||||
.then(() => {
|
||||
TcsbtbJczTcsb(ids).then((res) => {
|
||||
tbJczXfbbdeleteJyQxzb({ids:[ids]}).then((res) => {
|
||||
ElMessage({ message: "删除成功", type: "success" });
|
||||
pageData.pageConfiger.pageNo = 1;
|
||||
getjczgetXfllList();
|
||||
|
@ -27,10 +27,12 @@
|
||||
placeholder="请输入车牌号"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
:disabled="compile"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="ssbmdm" label="所属部门">
|
||||
<MOSTY.Department
|
||||
:disabled="compile"
|
||||
:placeholder="listQuery.ssbm"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
@ -43,6 +45,7 @@
|
||||
v-model="listQuery.cplx"
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
:disabled="compile"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
@ -54,7 +57,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="zbzt" label="车辆状态">
|
||||
<el-select
|
||||
<el-select :disabled="compile"
|
||||
v-model="listQuery.zbzt"
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
@ -71,7 +74,7 @@
|
||||
|
||||
<el-form-item prop="clpp" label="车辆品牌">
|
||||
<el-select
|
||||
v-model="listQuery.clpp"
|
||||
v-model="listQuery.clpp" :disabled="compile"
|
||||
class="m-2"
|
||||
filterable
|
||||
placeholder="请选择车辆品牌"
|
||||
@ -86,13 +89,13 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="clxh" label="车辆型号">
|
||||
<el-input
|
||||
<el-input :disabled="compile"
|
||||
placeholder="请输入车辆型号"
|
||||
v-model="listQuery.clxh"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="clnk" label="车辆年款">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="compile"
|
||||
type="year"
|
||||
v-model="listQuery.clnk"
|
||||
format="YYYY"
|
||||
@ -102,8 +105,8 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="gmrq" label="车辆生产日期">
|
||||
<el-date-picker
|
||||
format="YYYY/MM/DD"
|
||||
<el-date-picker :disabled="compile"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
v-model="listQuery.gmrq"
|
||||
type="date"
|
||||
@ -113,9 +116,9 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="bfrq" label="车辆报废日期">
|
||||
<el-date-picker
|
||||
<el-date-picker :disabled="compile"
|
||||
@focus="cgrqTs"
|
||||
format="YYYY/MM/DD"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
v-model="listQuery.bfrq"
|
||||
type="date"
|
||||
@ -125,7 +128,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="cllx" label="车辆类型">
|
||||
<el-select
|
||||
<el-select :disabled="compile"
|
||||
v-model="listQuery.cllx"
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
@ -140,7 +143,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="clys" label="车辆颜色">
|
||||
<el-select
|
||||
<el-select :disabled="compile"
|
||||
v-model="listQuery.clys"
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
@ -155,7 +158,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="GPS">
|
||||
<el-input
|
||||
<el-input :disabled="compile"
|
||||
v-model="listQuery.gpsId"
|
||||
placeholder="请输入GPS"
|
||||
style="width: 100%"
|
||||
@ -163,27 +166,27 @@
|
||||
</el-form-item>
|
||||
<!-- 新增的电台和监控 -->
|
||||
<el-form-item label="车载电台">
|
||||
<el-input
|
||||
<el-input :disabled="compile"
|
||||
v-model="listQuery.czdt"
|
||||
placeholder="请输入车载电台"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="车载监控">
|
||||
<el-input
|
||||
<el-input :disabled="compile"
|
||||
v-model="listQuery.czjk"
|
||||
placeholder="请输入车载监控"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
<!-- <el-form-item
|
||||
style="width: 100%"
|
||||
prop="jyqxList"
|
||||
label="警用器械"
|
||||
@click.stop="jyqxVisible = true"
|
||||
>
|
||||
<el-input
|
||||
v-model="listQuery.jyqx"
|
||||
v-model="listQuery.jyqx" :disabled="compile"
|
||||
placeholder="请选择警用器械"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
@ -214,15 +217,15 @@
|
||||
style="margin: 10px 10px 10px 0"
|
||||
>
|
||||
{{ item.qxMc }}
|
||||
<el-input-number
|
||||
<el-input-number :disabled="compile"
|
||||
:min="0"
|
||||
:max="1000"
|
||||
v-model="item.sl"
|
||||
></el-input-number>
|
||||
</span>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="备注" style="width: 100%">
|
||||
<el-input
|
||||
<el-input :disabled="compile"
|
||||
v-model="listQuery.textarea"
|
||||
placeholder="请输入关键字"
|
||||
show-word-limit
|
||||
@ -273,16 +276,22 @@ const rules = reactive({
|
||||
bfrq: [{ required: true, message: "请选择车辆报废日期", trigger: "change" }],
|
||||
gmrq: [{ required: true, message: "请选择车辆生产日期", trigger: "change" }]
|
||||
});
|
||||
const compile=ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
pageType.value = type;
|
||||
dialogForm.value = true;
|
||||
// 根据type和row初始化表单数据
|
||||
tabHeightFn();
|
||||
if (type == "edit") {
|
||||
if (type == "detail") {
|
||||
listQuery.value = { ...row }
|
||||
compile.value=true
|
||||
} else if (type == "edit") {
|
||||
listQuery.value = { ...row };
|
||||
compile.value=false
|
||||
} else {
|
||||
listQuery.value = {};
|
||||
compile.value=false
|
||||
}
|
||||
};
|
||||
//保存
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="车辆管理">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
||||
>新增</span
|
||||
@ -30,8 +30,13 @@
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.cid)">删除</el-link>
|
||||
<template v-if="Auth">
|
||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||
<el-link type="primary" @click="delDictItem(row.cid)">删除</el-link>
|
||||
</template>
|
||||
|
||||
|
||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
|
||||
</template>
|
||||
</MyTable>
|
||||
@ -68,6 +73,7 @@ import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditAddForm from "./components/editAddForm.vue";
|
||||
import { jczgetXfclList, jczdeleteXfcl } from "@/api/mosty-jcz.js";
|
||||
import { isAuth } from '@/utils/tools.js'
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_ZDY_SBZT, D_BZ_HPZL, D_BZ_CLPP, D_BZ_CLLX, D_BZ_CLYS } = proxy.$dict(
|
||||
@ -119,7 +125,9 @@ const pageData = reactive({
|
||||
{ label: "状态", prop: "zbzt", showSolt: true }
|
||||
]
|
||||
});
|
||||
const Auth=ref(true)
|
||||
onMounted(() => {
|
||||
Auth.value=isAuth()
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
|
@ -300,13 +300,26 @@
|
||||
></MOSTY.Phone>
|
||||
</el-form-item>
|
||||
<el-form-item label="民族:" prop="nation">
|
||||
<MOSTY.PackageSelect
|
||||
<!-- <MOSTY.PackageSelect
|
||||
width="280px"
|
||||
v-model="dialogForm.nation"
|
||||
dictEnum="NATION"
|
||||
clearable
|
||||
filterable
|
||||
/>
|
||||
/> -->
|
||||
<el-select
|
||||
clearable
|
||||
v-model="dialogForm.nation"
|
||||
placeholder="请选择民族"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in D_BZ_MZ"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别:" prop="sex">
|
||||
<el-select
|
||||
@ -323,13 +336,26 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="文化程度:" prop="whcd">
|
||||
<MOSTY.PackageSelect
|
||||
<el-select
|
||||
clearable
|
||||
v-model="dialogForm.whcd"
|
||||
placeholder="请选择"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in D_BZ_WHCD"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<!-- <MOSTY.PackageSelect
|
||||
dictEnum="EDUCATION"
|
||||
width="280px"
|
||||
v-model="dialogForm.whcd"
|
||||
clearable
|
||||
filterable
|
||||
/>
|
||||
/> -->
|
||||
</el-form-item>
|
||||
<el-form-item label="E-mail" prop="email">
|
||||
<MOSTY.Email
|
||||
@ -467,7 +493,8 @@ const {
|
||||
D_BZ_RYLB,
|
||||
D_BZ_SF,
|
||||
D_BZ_HYZK,
|
||||
D_BZ_ZZMM
|
||||
D_BZ_ZZMM,
|
||||
D_BZ_MZ,D_BZ_WHCD
|
||||
} = proxy.$dict(
|
||||
"D_BZ_XB",
|
||||
"D_BZ_YHLX",
|
||||
@ -475,7 +502,8 @@ const {
|
||||
"D_BZ_RYLB",
|
||||
"D_BZ_SF",
|
||||
"D_BZ_HYZK",
|
||||
"D_BZ_ZZMM"
|
||||
"D_BZ_ZZMM",
|
||||
"D_BZ_MZ","D_BZ_WHCD"
|
||||
);
|
||||
const searchBox = ref(null); // 搜索盒子
|
||||
const keyCount = ref(0); //tabel组件刷新值
|
||||
|
@ -5,7 +5,7 @@ function resolve(dir) {
|
||||
}
|
||||
|
||||
// const serverHost = "http://192.192.8.9:8006";
|
||||
const serverHost = "http://192.168.43.92:8006"
|
||||
const serverHost = "http://192.168.1.67:8006"
|
||||
// const serverHost = "http://127.0.0.1:8006"
|
||||
module.exports = {
|
||||
publicPath: "./",
|
||||
|
File diff suppressed because one or more lines are too long
BIN
ylth/jcz.zip
Normal file
BIN
ylth/jcz.zip
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-12048e30.7d5af37d.css
Normal file
1
ylth/static/css/chunk-12048e30.7d5af37d.css
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-17769e83.1865d9cf.css
Normal file
1
ylth/static/css/chunk-17769e83.1865d9cf.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-1ec0f0d0.0f73a99c.css
Normal file
1
ylth/static/css/chunk-1ec0f0d0.0f73a99c.css
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-1fbe3f13.57f35517.css
Normal file
1
ylth/static/css/chunk-1fbe3f13.57f35517.css
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-42cd29e7.5fb9bbb1.css
Normal file
1
ylth/static/css/chunk-42cd29e7.5fb9bbb1.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-b5a27480.471a2cfe.css
Normal file
1
ylth/static/css/chunk-b5a27480.471a2cfe.css
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-c4d66578.bea60a98.css
Normal file
1
ylth/static/css/chunk-c4d66578.bea60a98.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/css/chunk-d6d9a6ea.cc0c55d2.css
Normal file
1
ylth/static/css/chunk-d6d9a6ea.cc0c55d2.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 6.9 KiB |
1
ylth/static/js/app.54974111.js
Normal file
1
ylth/static/js/app.54974111.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-12048e30.565c1195.js
Normal file
1
ylth/static/js/chunk-12048e30.565c1195.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-17769e83.cbce30b7.js
Normal file
1
ylth/static/js/chunk-17769e83.cbce30b7.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-1ec0f0d0.ec76127f.js
Normal file
1
ylth/static/js/chunk-1ec0f0d0.ec76127f.js
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-1fbe3f13.b03347cd.js
Normal file
1
ylth/static/js/chunk-1fbe3f13.b03347cd.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-3093c5f6.b0d6d696.js
Normal file
1
ylth/static/js/chunk-3093c5f6.b0d6d696.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-35d52a81.ad08303c.js
Normal file
1
ylth/static/js/chunk-35d52a81.ad08303c.js
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-3b3d6c98.23d4854b.js
Normal file
1
ylth/static/js/chunk-3b3d6c98.23d4854b.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-42cd29e7.668785a9.js
Normal file
1
ylth/static/js/chunk-42cd29e7.668785a9.js
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-488f956a.80b653cb.js
Normal file
1
ylth/static/js/chunk-488f956a.80b653cb.js
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-4b8b68e2.3f23bb08.js
Normal file
1
ylth/static/js/chunk-4b8b68e2.3f23bb08.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-5c29f207.2f9aa5eb.js
Normal file
1
ylth/static/js/chunk-5c29f207.2f9aa5eb.js
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-61337808.8c587a81.js
Normal file
1
ylth/static/js/chunk-61337808.8c587a81.js
Normal file
File diff suppressed because one or more lines are too long
1
ylth/static/js/chunk-71a1022e.979964ea.js
Normal file
1
ylth/static/js/chunk-71a1022e.979964ea.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user