Merge branch 'main' of http://61.139.16.27:26684/lcw/xzlz_JczWeb
This commit is contained in:
@ -71,14 +71,12 @@
|
|||||||
width="150"
|
width="150"
|
||||||
label="警号"
|
label="警号"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="mobile"
|
prop="mobile"
|
||||||
width="150"
|
width="150"
|
||||||
align="center"
|
align="center"
|
||||||
label="电话"
|
label="电话"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
|
|
||||||
<el-table-column prop="sex" align="center" label="性别">
|
<el-table-column prop="sex" align="center" label="性别">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span> {{ row.sex == 1 ? "男" : "女" }}</span>
|
<span> {{ row.sex == 1 ? "男" : "女" }}</span>
|
||||||
@ -241,12 +239,15 @@ const handleSelectionChange = (val) => {
|
|||||||
.tabBoxRadio .el-checkbox__inner {
|
.tabBoxRadio .el-checkbox__inner {
|
||||||
border-radius: 50% !important;
|
border-radius: 50% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabBoxRadio .el-table__header-wrapper .el-checkbox {
|
.tabBoxRadio .el-table__header-wrapper .el-checkbox {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-dialog {
|
.el-dialog {
|
||||||
/* background: #050e33; */
|
/* background: #050e33; */
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-dialog__title {
|
.el-dialog__title {
|
||||||
/* color: #fff; */
|
/* color: #fff; */
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,71 +3,177 @@
|
|||||||
<div class="head_box">
|
<div class="head_box">
|
||||||
<span class="title">{{ pageInfo[pageType].title }}</span>
|
<span class="title">{{ pageInfo[pageType].title }}</span>
|
||||||
<div>
|
<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>
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cntinfo">
|
<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="所属部门">
|
<el-form-item style="width: 40%" prop="ssbmdm" label="所属部门">
|
||||||
<MOSTY.Department width="100%" clearable :disabled="forbidden" v-model="listQuery.ssbmdm"
|
<MOSTY.Department
|
||||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'" />
|
width="100%"
|
||||||
|
clearable
|
||||||
|
:disabled="forbidden"
|
||||||
|
v-model="listQuery.ssbmdm"
|
||||||
|
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="jczmc" label="环林卡口名称">
|
<el-form-item style="width: 40%" prop="jczmc" label="环林卡口名称">
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.jczmc" placeholder="请输入环林卡口名称" style="width: 100%"
|
<el-input
|
||||||
clearable />
|
:disabled="forbidden"
|
||||||
|
v-model="listQuery.jczmc"
|
||||||
|
placeholder="请输入环林卡口名称"
|
||||||
|
style="width: 100%"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item style="width: 40%" prop="zqlx" label="执勤类型">
|
<el-form-item style="width: 40%" prop="zqlx" label="执勤类型">
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.zqlx" placeholder="请选择执勤类型">
|
<el-select
|
||||||
<el-option v-for="dict in dict.D_BZ_ZQLX" :key="dict.value" :value="dict.value"
|
:disabled="forbidden"
|
||||||
:label="dict.label"></el-option>
|
v-model="listQuery.zqlx"
|
||||||
|
placeholder="请选择执勤类型"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.D_BZ_ZQLX"
|
||||||
|
:key="dict.value"
|
||||||
|
:value="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="jczlx" label="环林卡口类型">
|
<el-form-item style="width: 40%" prop="jczlx" label="环林卡口类型">
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.jczlx" placeholder="请选择环林卡口类型">
|
<el-select
|
||||||
<el-option v-for="dict in dict.D_BZ_JCZLX" :key="dict.value" :value="dict.value"
|
:disabled="forbidden"
|
||||||
:label="dict.label"></el-option>
|
v-model="listQuery.jczlx"
|
||||||
|
placeholder="请选择环林卡口类型"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.D_BZ_JCZLX"
|
||||||
|
:key="dict.value"
|
||||||
|
:value="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="width: 40%" prop="rwlx" label="任务类型">
|
||||||
|
<el-select
|
||||||
|
:disabled="forbidden"
|
||||||
|
v-model="listQuery.rwlx"
|
||||||
|
placeholder="请选择环林卡口类型"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.D_BZ_JCZLX"
|
||||||
|
:key="dict.value"
|
||||||
|
:value="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="jczjb" label="环林卡口级别">
|
<el-form-item style="width: 40%" prop="jczjb" label="环林卡口级别">
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.jczjb" placeholder="请选择环林卡口级别">
|
<el-select
|
||||||
<el-option v-for="dict in dict.D_BZ_JCZJB" :key="dict.value" :value="dict.value"
|
:disabled="forbidden"
|
||||||
:label="dict.label"></el-option>
|
v-model="listQuery.jczjb"
|
||||||
|
placeholder="请选择环林卡口级别"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.D_BZ_JCZJB"
|
||||||
|
:key="dict.value"
|
||||||
|
:value="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="fzr" label="负责人">
|
<el-form-item style="width: 40%" prop="fzr" label="负责人">
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.fzr" placeholder="请输入负责人" style="width: 100%" clearable />
|
<div class="ipt" @click="openChooseUser('fzr')">
|
||||||
|
<el-tag
|
||||||
|
v-for="(item, idx) in fzrData"
|
||||||
|
:key="item.id"
|
||||||
|
closable
|
||||||
|
@close="handleCloseFzr(item, idx)"
|
||||||
|
>{{ item.userName }}</el-tag
|
||||||
|
>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="lxdh" label="联系电话">
|
<el-form-item style="width: 40%" prop="fzr" label="临时执勤人员">
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.lxdh" placeholder="请输入联系电话" style="width: 100%"
|
<div class="ipt" @click="openChooseUser('lszq')">
|
||||||
clearable />
|
<el-tag
|
||||||
|
v-for="(item, idx) in lszqData"
|
||||||
|
:key="item.id"
|
||||||
|
closable
|
||||||
|
@close="handleCloseLszq(item, idx)"
|
||||||
|
>{{ item.userName }}</el-tag
|
||||||
|
>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="dllx" label="道路类型">
|
<el-form-item style="width: 40%" prop="dllx" label="道路类型">
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.dllx" placeholder="请选择道路类型">
|
<el-select
|
||||||
<el-option v-for="dict in dict.D_BZ_DLLX" :key="dict.value" :value="dict.value"
|
:disabled="forbidden"
|
||||||
:label="dict.label"></el-option>
|
v-model="listQuery.dllx"
|
||||||
|
placeholder="请选择道路类型"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.D_BZ_DLLX"
|
||||||
|
:key="dict.value"
|
||||||
|
:value="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="xxdz" label="环林卡口地址">
|
<el-form-item style="width: 40%" prop="xxdz" label="环林卡口地址">
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.xxdz" placeholder="请输入环林卡口地址" style="width: 100%"
|
<el-input
|
||||||
clearable />
|
:disabled="forbidden"
|
||||||
|
v-model="listQuery.xxdz"
|
||||||
|
placeholder="请输入环林卡口地址"
|
||||||
|
style="width: 100%"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="示意图(最多3张)" prop="fjid" style="width: 40%">
|
<el-form-item
|
||||||
<MOSTY.Upload :disableds="forbidden" :isImg="true" width="100%" :limit="3" v-model="listQuery.fjid">
|
label="全景图(前方、后方、临时卡点图片)"
|
||||||
</MOSTY.Upload>
|
prop="qjfjid"
|
||||||
</el-form-item>
|
style="width: 48%"
|
||||||
<el-form-item label="全景图(正面、侧面、俯视共3张)" prop="qjfjid" style="width: 48%">
|
>
|
||||||
<MOSTY.Upload :disableds="forbidden" width="100%" :isImg="true" :limit="3" v-model="listQuery.qjfjid">
|
<MOSTY.Upload
|
||||||
|
:disableds="forbidden"
|
||||||
|
width="100%"
|
||||||
|
:isImg="true"
|
||||||
|
:limit="3"
|
||||||
|
v-model="listQuery.qjfjid"
|
||||||
|
>
|
||||||
</MOSTY.Upload>
|
</MOSTY.Upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 85%" prop="jd" label="坐标位置">
|
<el-form-item style="width: 85%" prop="jd" label="坐标位置">
|
||||||
<div class="latlng flex">
|
<div class="latlng flex">
|
||||||
<el-input :disabled="false" v-model="listQuery.jd" clearable placeholder="请选择坐标"
|
<el-input
|
||||||
style="width: 42%"></el-input>
|
:disabled="false"
|
||||||
<el-input :disabled="false" v-model="listQuery.wd" clearable placeholder="请选择坐标"
|
v-model="listQuery.jd"
|
||||||
style="width: 42%; margin-left: 1%"></el-input>
|
clearable
|
||||||
<el-button @click="selectLocation" :disabled="forbidden">选择定位</el-button>
|
placeholder="请选择坐标"
|
||||||
|
style="width: 42%"
|
||||||
|
></el-input>
|
||||||
|
<el-input
|
||||||
|
:disabled="false"
|
||||||
|
v-model="listQuery.wd"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择坐标"
|
||||||
|
style="width: 42%; margin-left: 1%"
|
||||||
|
></el-input>
|
||||||
|
<el-button @click="selectLocation" :disabled="forbidden"
|
||||||
|
>选择定位</el-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 100%">
|
<el-form-item style="width: 100%">
|
||||||
@ -77,10 +183,16 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
<ChooseUser
|
||||||
|
v-model="chooseUserVisible"
|
||||||
|
@choosedUsers="saveUsers"
|
||||||
|
:Single="false"
|
||||||
|
></ChooseUser>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import ChooseUser from "@/components/MyComponents/ChooseUser";
|
||||||
import { ref, reactive, onMounted } from "vue";
|
import { ref, reactive, onMounted } from "vue";
|
||||||
import { JczaddJcz, JczupdateJcz } from "@/api/mosty-jcz.js";
|
import { JczaddJcz, JczupdateJcz } from "@/api/mosty-jcz.js";
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
@ -90,9 +202,11 @@ import { ElMessage } from "element-plus";
|
|||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
dict: {
|
dict: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => { }
|
default: () => {}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
const chooseUserType = ref(); //选择民警的类型
|
||||||
|
const chooseUserVisible = ref(false);
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
jczmc: [
|
jczmc: [
|
||||||
{
|
{
|
||||||
@ -113,7 +227,8 @@ const rules = reactive({
|
|||||||
message: "请选择环林卡口类型",
|
message: "请选择环林卡口类型",
|
||||||
trigger: "change"
|
trigger: "change"
|
||||||
}
|
}
|
||||||
], jczjb: [
|
],
|
||||||
|
jczjb: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择环林卡口级别",
|
message: "请选择环林卡口级别",
|
||||||
@ -133,6 +248,8 @@ const rules = reactive({
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
const fzrData = ref();
|
||||||
|
const lszqData = ref();
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
const emit = defineEmits(["getjczgetXfllList"]);
|
const emit = defineEmits(["getjczgetXfllList"]);
|
||||||
const dialogForm = ref(false);
|
const dialogForm = ref(false);
|
||||||
@ -160,7 +277,7 @@ onMounted(() => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
let pageType = ref("add");
|
let pageType = ref("add");
|
||||||
const forbidden = ref(false)
|
const forbidden = ref(false);
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
const init = (type, row) => {
|
const init = (type, row) => {
|
||||||
pageType.value = type;
|
pageType.value = type;
|
||||||
@ -170,13 +287,17 @@ const init = (type, row) => {
|
|||||||
if (type == "edit" || type == "detail") {
|
if (type == "edit" || type == "detail") {
|
||||||
listQuery.value = { ...row };
|
listQuery.value = { ...row };
|
||||||
if (type == "detail") {
|
if (type == "detail") {
|
||||||
forbidden.value = true
|
forbidden.value = true;
|
||||||
}
|
}
|
||||||
chackLat();
|
chackLat();
|
||||||
} else {
|
} else {
|
||||||
listQuery.value = {};
|
listQuery.value = {};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const openChooseUser = (val) => {
|
||||||
|
chooseUserType.value = val;
|
||||||
|
chooseUserVisible.value = true;
|
||||||
|
};
|
||||||
//保存
|
//保存
|
||||||
const _onSave = () => {
|
const _onSave = () => {
|
||||||
if (!formRef) return;
|
if (!formRef) return;
|
||||||
@ -209,13 +330,27 @@ const selectLocation = () => {
|
|||||||
isclear: true
|
isclear: true
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
//选择民警
|
||||||
|
const saveUsers = (users) => {
|
||||||
|
if (chooseUserType.value == "fzr") {
|
||||||
|
fzrData.value = users;
|
||||||
|
} else {
|
||||||
|
lszqData.value = users;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const handleCloseFzr = (val, idx) => {
|
||||||
|
fzrData.value.splice(idx, 1);
|
||||||
|
};
|
||||||
|
const handleCloseLszq = (val, idx) => {
|
||||||
|
lszqData.value.splice(idx, 1);
|
||||||
|
};
|
||||||
//获取经纬度
|
//获取经纬度
|
||||||
const chackLat = () => {
|
const chackLat = () => {
|
||||||
const { jd, wd } = listQuery.value;
|
const { jd, wd } = listQuery.value;
|
||||||
let icon = require("@/assets/images/bi/gzy.png");
|
let icon = require("@/assets/images/bi/gzy.png");
|
||||||
emitter.emit("deletePointArea", "jczMap_Gzy");
|
emitter.emit("deletePointArea", "jczMap_Gzy");
|
||||||
|
|
||||||
if (listQuery.value.zqlx == '2') {
|
if (listQuery.value.zqlx == "2") {
|
||||||
icon = require("@/assets/images/bi/gzy.png");
|
icon = require("@/assets/images/bi/gzy.png");
|
||||||
} else {
|
} else {
|
||||||
icon = require("@/assets/images/z.png");
|
icon = require("@/assets/images/z.png");
|
||||||
@ -236,12 +371,11 @@ const chackLat = () => {
|
|||||||
// 初始化时展示地图图标
|
// 初始化时展示地图图标
|
||||||
const mapIcon = (val) => {
|
const mapIcon = (val) => {
|
||||||
console.log(val);
|
console.log(val);
|
||||||
|
};
|
||||||
}
|
|
||||||
//页面关闭
|
//页面关闭
|
||||||
const close = () => {
|
const close = () => {
|
||||||
dialogForm.value = false;
|
dialogForm.value = false;
|
||||||
forbidden.value = false
|
forbidden.value = false;
|
||||||
listQuery.value = {};
|
listQuery.value = {};
|
||||||
};
|
};
|
||||||
// 表格高度计算
|
// 表格高度计算
|
||||||
@ -298,12 +432,12 @@ defineExpose({ init });
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
// height: 96px;
|
// height: 96px;
|
||||||
>.el-form--inline {
|
> .el-form--inline {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
>.el-form-item--default {
|
> .el-form-item--default {
|
||||||
width: 31%;
|
width: 31%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -354,4 +488,11 @@ defineExpose({ init });
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: #000;
|
background: #000;
|
||||||
}
|
}
|
||||||
|
.ipt {
|
||||||
|
border: 1px solid #e9e9e9;
|
||||||
|
width: 100%;
|
||||||
|
line-height: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -203,6 +203,7 @@ getPageList();
|
|||||||
.warning-image {
|
.warning-image {
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
27
src/views/home/components/Checkpoint.vue
Normal file
27
src/views/home/components/Checkpoint.vue
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<template>
|
||||||
|
<div class="mian_box">
|
||||||
|
<div class="item">检查站:<span @click="openDialog('jcz')">2</span></div>
|
||||||
|
<div class="item">卡口:<span @click="openDialog('kk')">8</span></div>
|
||||||
|
</div>
|
||||||
|
<pointList v-model="pointListShow" :lxType="lxType" />
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import pointList from "./pointList.vue";
|
||||||
|
import { ref, onMounted, reactive } from "vue";
|
||||||
|
const lxType = ref();
|
||||||
|
const pointListShow = ref(false);
|
||||||
|
const openDialog = (val) => {
|
||||||
|
lxType.value = val;
|
||||||
|
pointListShow.value = true;
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.mian_box {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
font-size: 24px;
|
||||||
|
color: #fff;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
<span class="checkpoint-count">{{ item.personSl }} 人</span>
|
<span class="checkpoint-count">{{ item.personSl }} 人</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Empty :show="checkpoints.length == 0" />
|
<Empty :show="checkpoints.length == 0" :imgSize="100" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
169
src/views/home/components/pointList.vue
Normal file
169
src/views/home/components/pointList.vue
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
v-model="modelValue"
|
||||||
|
width="60%"
|
||||||
|
custom-class="container"
|
||||||
|
@close="close"
|
||||||
|
:title="title"
|
||||||
|
align-center
|
||||||
|
append-to-body
|
||||||
|
>
|
||||||
|
<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="D_BZ_SBLX" :value="row.sblx" :tag="false" />
|
||||||
|
</template>
|
||||||
|
<template #sblxdm="{ row }">
|
||||||
|
<dict-tag :options="D_BZ_GZSBLX" :value="row.sblxdm" :tag="false" />
|
||||||
|
</template>
|
||||||
|
<!-- 操作 -->
|
||||||
|
<template #controls="{ row }">
|
||||||
|
<el-link type="primary" @click="enterLevel(row)">详情</el-link>
|
||||||
|
</template>
|
||||||
|
</MyTable>
|
||||||
|
<div class="footInfoBtn flex just-between align-center">
|
||||||
|
<Pages
|
||||||
|
@changeNo="changeNo"
|
||||||
|
@changeSize="changeSize"
|
||||||
|
:tableHeight="550"
|
||||||
|
:pageConfiger="{ ...pageData.pageConfiger, total: pageData.total }"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, ref, watch, getCurrentInstance } from "vue";
|
||||||
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
|
import { ysSxtgetPageList } from "@/api/yszx";
|
||||||
|
import { useRouter } from "vue-router";
|
||||||
|
const router = useRouter();
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
const { D_BZ_SBLX, D_BZ_GZSBLX } = proxy.$dict("D_BZ_SBLX", "D_BZ_GZSBLX");
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
lxType: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const emit = defineEmits(["update:modelValue", "choose"]);
|
||||||
|
const dataLsit = ref();
|
||||||
|
const title = ref();
|
||||||
|
const pageData = reactive({
|
||||||
|
tableData: [{ ssbm: "测试" }], //表格数据
|
||||||
|
keyCount: 0,
|
||||||
|
tableHeight: 500,
|
||||||
|
tableConfiger: {
|
||||||
|
rowHieght: 61,
|
||||||
|
showSelectType: "radio",
|
||||||
|
loading: false
|
||||||
|
},
|
||||||
|
total: 0,
|
||||||
|
pageConfiger: {
|
||||||
|
pageSize: 20,
|
||||||
|
pageCurrent: 1
|
||||||
|
}, //分页
|
||||||
|
controlsWidth: 180, //操作栏宽度
|
||||||
|
tableColumn: [
|
||||||
|
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true },
|
||||||
|
{ label: "检查站名称", prop: "sbmc", showOverflowTooltip: true },
|
||||||
|
{ label: "环林检查站类型", prop: "sbbh", showOverflowTooltip: true },
|
||||||
|
{ label: "执勤类型", prop: "csmc", showOverflowTooltip: true },
|
||||||
|
{ label: "检查站地址", prop: "dzmc", showOverflowTooltip: true }
|
||||||
|
]
|
||||||
|
});
|
||||||
|
watch(
|
||||||
|
() => props.lxType,
|
||||||
|
(val) => {
|
||||||
|
if (val == "jcz") {
|
||||||
|
title.value = "检查站";
|
||||||
|
pageData.tableColumn = [
|
||||||
|
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true },
|
||||||
|
{ label: "检查站名称", prop: "sbmc", showOverflowTooltip: true },
|
||||||
|
{ label: "环林检查站类型", prop: "sbbh", showOverflowTooltip: true },
|
||||||
|
{ label: "执勤类型", prop: "csmc", showOverflowTooltip: true },
|
||||||
|
{ label: "检查站地址", prop: "dzmc", showOverflowTooltip: true }
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
title.value = "卡口信息";
|
||||||
|
pageData.tableColumn = [
|
||||||
|
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true },
|
||||||
|
{ label: "卡口名称", prop: "sbmc", showOverflowTooltip: true },
|
||||||
|
{ label: "环林卡口类型", prop: "sbbh", showOverflowTooltip: true },
|
||||||
|
{ label: "执勤类型", prop: "csmc", showOverflowTooltip: true },
|
||||||
|
{ label: "卡口地址", prop: "dzmc", showOverflowTooltip: true }
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
const getList = () => {
|
||||||
|
pageData.tableConfiger.loading = true;
|
||||||
|
const promes = {
|
||||||
|
// ssbm: propsGzyList.ssbm,
|
||||||
|
pageSize: pageData.pageConfiger.pageSize,
|
||||||
|
pageCurrent: pageData.pageConfiger.pageCurrent
|
||||||
|
};
|
||||||
|
ysSxtgetPageList(promes)
|
||||||
|
.then((res) => {
|
||||||
|
pageData.tableData = res.records || [];
|
||||||
|
pageData.total = res.total || 0;
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
watch(
|
||||||
|
() => props.modelValue,
|
||||||
|
(newVal) => {
|
||||||
|
// getList();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
const changeNo = (val) => {
|
||||||
|
pageData.pageConfiger.pageCurrent = val;
|
||||||
|
getList();
|
||||||
|
};
|
||||||
|
const changeSize = (val) => {
|
||||||
|
pageData.pageConfiger.pageSize = val;
|
||||||
|
getList();
|
||||||
|
};
|
||||||
|
const chooseData = (val) => {
|
||||||
|
if (pageData.tableConfiger.showSelectType === "radio") {
|
||||||
|
dataLsit.value = val[0];
|
||||||
|
} else {
|
||||||
|
dataLsit.value = val;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const close = () => {
|
||||||
|
emit("update:modelValue", false);
|
||||||
|
};
|
||||||
|
const submitDate = () => {
|
||||||
|
emit("choose", dataLsit.value);
|
||||||
|
close();
|
||||||
|
};
|
||||||
|
const enterLevel = (val) => {
|
||||||
|
const hrefs = router.resolve({
|
||||||
|
name: "StationLevel",
|
||||||
|
path: "/StationLevel",
|
||||||
|
query: { id: val.id, name: val.jczmc }
|
||||||
|
});
|
||||||
|
window.open(hrefs.href, "_blank");
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.container {
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -6,6 +6,12 @@
|
|||||||
<Head></Head>
|
<Head></Head>
|
||||||
<!-- 左边 内容-->
|
<!-- 左边 内容-->
|
||||||
<div class="home-aside asideL">
|
<div class="home-aside asideL">
|
||||||
|
<div class="asideL-bottom">
|
||||||
|
<div class="common-title">检查站卡口统计</div>
|
||||||
|
<div class="comom-cnt">
|
||||||
|
<Checkpoint />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="asideL-top">
|
<div class="asideL-top">
|
||||||
<div class="common-title">数据采集</div>
|
<div class="common-title">数据采集</div>
|
||||||
<div class="comom-cnt">
|
<div class="comom-cnt">
|
||||||
@ -13,26 +19,27 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="asideL-bottom">
|
<div class="asideL-bottom">
|
||||||
<div class="common-title">人员预警</div>
|
<div class="common-title">值班备勤</div>
|
||||||
<div class="comom-cnt">
|
<div class="comom-cnt">
|
||||||
<PeoWarning />
|
<BeOnDuty></BeOnDuty>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="asideL-bottom">
|
|
||||||
<div class="common-title">车辆预警</div>
|
|
||||||
<div class="comom-cnt">
|
|
||||||
<CarWarning />
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- <Warning></Warning> -->
|
<!-- <Warning></Warning> -->
|
||||||
|
|
||||||
<!-- 右边 内容-->
|
<!-- 右边 内容-->
|
||||||
<div class="home-aside asideR">
|
<div class="home-aside asideR">
|
||||||
<div class="asideL-top">
|
<div class="asideL-top">
|
||||||
<div class="common-title">值班备勤</div>
|
<div class="common-title">人员预警</div>
|
||||||
<div class="comom-cnt">
|
<div class="comom-cnt">
|
||||||
<BeOnDuty></BeOnDuty>
|
<PeoWarning />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="asideL-top">
|
||||||
|
<div class="common-title">车辆预警</div>
|
||||||
|
<div class="comom-cnt">
|
||||||
|
<CarWarning />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="asideL-bottom">
|
<div class="asideL-bottom">
|
||||||
@ -55,6 +62,7 @@ import Collection from "./components/collection.vue";
|
|||||||
import CarWarning from "./components/CarWarning.vue";
|
import CarWarning from "./components/CarWarning.vue";
|
||||||
import PeoWarning from "./components/PeoWarning.vue";
|
import PeoWarning from "./components/PeoWarning.vue";
|
||||||
import BeOnDuty from "./components/beonDuty.vue";
|
import BeOnDuty from "./components/beonDuty.vue";
|
||||||
|
import Checkpoint from "./components/Checkpoint.vue";
|
||||||
import Entrance from "./components/entrance.vue";
|
import Entrance from "./components/entrance.vue";
|
||||||
import WanringAnyse from "./components/wanringAnyse.vue";
|
import WanringAnyse from "./components/wanringAnyse.vue";
|
||||||
import { jczgetJczList, sxtGetList } from "@/api/mosty-jcz";
|
import { jczgetJczList, sxtGetList } from "@/api/mosty-jcz";
|
||||||
@ -263,7 +271,7 @@ const getMapData = () => {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
.asideL-top {
|
.asideL-top {
|
||||||
height: 40%;
|
height: 20%;
|
||||||
background: url("~@/assets/images/border_R_T.png") no-repeat center center;
|
background: url("~@/assets/images/border_R_T.png") no-repeat center center;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,7 +81,7 @@ const {
|
|||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "林芝市环林卡口综合管理"
|
default: "林芝市智慧公安检查"
|
||||||
},
|
},
|
||||||
query: {
|
query: {
|
||||||
type: String,
|
type: String,
|
||||||
@ -112,7 +112,6 @@ onMounted(() => {
|
|||||||
username.value = localStorage.getItem("USERNAME");
|
username.value = localStorage.getItem("USERNAME");
|
||||||
emitter.on("chengZ", (res) => {
|
emitter.on("chengZ", (res) => {
|
||||||
row.value = res;
|
row.value = res;
|
||||||
console.log(res);
|
|
||||||
});
|
});
|
||||||
timersfm.value = setInterval(() => {
|
timersfm.value = setInterval(() => {
|
||||||
CurrentTime();
|
CurrentTime();
|
||||||
|
|||||||
@ -269,7 +269,7 @@ const ChegeMj = (val) => {
|
|||||||
ryXm: item.xm,
|
ryXm: item.xm,
|
||||||
rysfzh: item.sfzh,
|
rysfzh: item.sfzh,
|
||||||
ryMfjlb: item.fl,
|
ryMfjlb: item.fl,
|
||||||
ryid:item.ryid,
|
ryid: item.ryid,
|
||||||
ryLxdh: item.lxdh
|
ryLxdh: item.lxdh
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@ -282,7 +282,7 @@ const fz = (val) => {
|
|||||||
xm: item.ryXm,
|
xm: item.ryXm,
|
||||||
sfzh: item.rysfzh,
|
sfzh: item.rysfzh,
|
||||||
fl: item.ryMfjlb,
|
fl: item.ryMfjlb,
|
||||||
ryid:item.ryid,
|
ryid: item.ryid,
|
||||||
lxdh: item.ryLxdh
|
lxdh: item.ryLxdh
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@ -293,17 +293,17 @@ const fz = (val) => {
|
|||||||
const init = (type) => {
|
const init = (type) => {
|
||||||
|
|
||||||
|
|
||||||
pageType.value = type==undefined||type=='add'?"add":"detail";
|
pageType.value = type == undefined || type == 'add' ? "add" : "detail";
|
||||||
dialogForm.value = true;
|
dialogForm.value = true;
|
||||||
// 根据type和row初始化表单数据
|
// 根据type和row初始化表单数据
|
||||||
if (props.row) {
|
if (props.row) {
|
||||||
listQuery.value = { ...props.row };
|
listQuery.value = { ...props.row };
|
||||||
if (props.row.ryList&&props.row.ryList.length > 0) {
|
if (props.row.ryList && props.row.ryList.length > 0) {
|
||||||
const data = fz(props.row.ryList);
|
const data = fz(props.row.ryList);
|
||||||
mjData.value = data.filter((item) => item.fl == "01");
|
mjData.value = data.filter((item) => item.fl == "01");
|
||||||
fjData.value = data.filter((item) => item.fl == "02");
|
fjData.value = data.filter((item) => item.fl == "02");
|
||||||
}
|
}
|
||||||
if (listQuery.value.qxList&&listQuery.value.qxList.length == 0) {
|
if (listQuery.value.qxList && listQuery.value.qxList.length == 0) {
|
||||||
listQuery.value.qxList = props.dic.D_BZ_JYQXFL.map((item) => {
|
listQuery.value.qxList = props.dic.D_BZ_JYQXFL.map((item) => {
|
||||||
return { qxmc: item.label, qxsl: 0 };
|
return { qxmc: item.label, qxsl: 0 };
|
||||||
});
|
});
|
||||||
|
|||||||
@ -7,8 +7,8 @@ function resolve(dir) {
|
|||||||
// const serverHost = "http://47.108.232.77:9537";
|
// const serverHost = "http://47.108.232.77:9537";
|
||||||
// const serverHost = "http://192.168.0.231:8006"
|
// const serverHost = "http://192.168.0.231:8006"
|
||||||
// const serverHost = "http://192.168.1.98:8006"
|
// const serverHost = "http://192.168.1.98:8006"
|
||||||
// const serverHost = "http://192.168.186.75:8016"//周
|
const serverHost = "http://n5e6d39a.natappfree.cc"//周
|
||||||
const serverHost = "http://192.168.2.206:8006"//线上
|
// const serverHost = "http://192.168.2.206:8006"//线上
|
||||||
module.exports = {
|
module.exports = {
|
||||||
publicPath: "./",
|
publicPath: "./",
|
||||||
outputDir: "jcz",
|
outputDir: "jcz",
|
||||||
|
|||||||
Reference in New Issue
Block a user