This commit is contained in:
lcw
2025-07-07 20:49:08 +08:00
parent b433509302
commit 9f84ea1564
114 changed files with 1135 additions and 948 deletions

View File

@ -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 = {};
};
// 表格高度计算

View File

@ -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();
});

View File

@ -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 = {};
};
// 表格高度计算

View File

@ -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();
});

View File

@ -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>

View File

@ -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();
});

View File

@ -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;
}

View File

@ -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>

View File

@ -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 = {};
};
// 表格高度计算

View File

@ -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();
});

View File

@ -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 = {};
};
// 表格高度计算

View File

@ -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>

View File

@ -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();

View File

@ -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();
});

View File

@ -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 = {};
};
// 表格高度计算

View File

@ -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();
});

View File

@ -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 = {};
};
// 表格高度计算

View File

@ -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();
});

View File

@ -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>

View File

@ -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>

View File

@ -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();

View File

@ -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
}
};
//保存

View File

@ -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();
});

View File

@ -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组件刷新值