feat:预警管理、接口管理
This commit is contained in:
1 parent
145f2c9b88
commit
f577d1a881
8 files changed
+653
-190
No files matched your search
@@ -0,0 +1,17 @@
|
||||
import request from "/@/utils/request"
|
||||
|
||||
export function fetchList(query?: Object) {
|
||||
return request({
|
||||
url: '/admin/com/comDhLog/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id?: string) {
|
||||
return request({
|
||||
url: '/admin/com/comDhLog/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import request from "/@/utils/request"
|
||||
|
||||
export function getObj() {
|
||||
return request({
|
||||
url: '/admin/com/comDhSetting',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj?: Object) {
|
||||
return request({
|
||||
url: '/admin/com/comDhSetting',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
<template>
|
||||
<div class="layout-padding">
|
||||
<div class="layout-padding-auto layout-padding-view flex flex-col">
|
||||
<el-tabs v-model="state.currentTab" class="demo-tabs" @tab-click="tabClick">
|
||||
<el-tab-pane v-for="(v, i) in data.tabs" :key="v.name" :label="v.label" :name="v.name" />
|
||||
</el-tabs>
|
||||
<div class="flex-1 overflow-hidden mt-4">
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="150px"
|
||||
v-loading="state.loading">
|
||||
<el-row :gutter="24">
|
||||
<div class="w-full" v-if="state.currentTab === 'PERSON'">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="人闸报警频次" prop="doorRepeatCount">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>人闸报警频次</span>
|
||||
<el-tooltip class="box-item" :content="`每天进出${form.doorRepeatCount}次就会报警`"
|
||||
placement="top">
|
||||
<el-icon :size="16">
|
||||
<InfoFilled />
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</template>
|
||||
<el-input v-model="form.doorRepeatCount" placeholder="请输入人闸报警频次">
|
||||
<div class="flex items-center gap-1">
|
||||
<span>请输入人闸报警频次</span>
|
||||
<el-tooltip class="box-item" :content="`每天进出${form.doorRepeatCount}次就会报警`"
|
||||
placement="top">
|
||||
<el-icon :size="16">
|
||||
<InfoFilled />
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<template #append>次</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="w-full" v-if="state.currentTab === 'DOOR'">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="道闸报警频次" prop="carRepeatCount">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>道闸报警频次</span>
|
||||
<el-tooltip class="box-item" :content="`每天进出${form.carRepeatCount}次就会报警`"
|
||||
placement="top">
|
||||
<el-icon :size="16">
|
||||
<InfoFilled />
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</template>
|
||||
<el-input v-model="form.carRepeatCount" placeholder="请输入道闸报警频次">
|
||||
<template #append>次</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="flex justify-center">
|
||||
<el-button type="primary" @click="onSubmit">保存配置</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="deviceLog">
|
||||
import { useMessage } from "/@/hooks/message";
|
||||
|
||||
import * as ComDhSettingApi from "/@/api/com/comDhSetting";
|
||||
|
||||
const data = {
|
||||
tabs: [
|
||||
{
|
||||
label: "车速预警配置",
|
||||
name: "CAR_SPEED",
|
||||
},
|
||||
{
|
||||
label: "人员预警配置",
|
||||
name: "PERSON",
|
||||
},
|
||||
{
|
||||
label: "道闸预警配置",
|
||||
name: "DOOR",
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
const state = reactive<any>({
|
||||
currentTab: data.tabs[0].name,
|
||||
loading: false,
|
||||
})
|
||||
|
||||
const dataFormRef = ref();
|
||||
|
||||
// 提交表单数据
|
||||
const form = reactive({
|
||||
// 人闸报警频次
|
||||
doorRepeatCount: null,
|
||||
// 道闸报警频次
|
||||
carRepeatCount: null,
|
||||
})
|
||||
|
||||
// 定义校验规则
|
||||
const dataRules = ref({
|
||||
doorRepeatCount: [{ required: true, message: '人闸报警频次不能为空', trigger: 'blur' }],
|
||||
carRepeatCount: [{ required: true, message: '道闸报警频次不能为空', trigger: 'blur' }],
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
getSetting()
|
||||
})
|
||||
|
||||
function tabClick(e: any) {
|
||||
getSetting()
|
||||
}
|
||||
|
||||
async function getSetting() {
|
||||
state.loading = true
|
||||
try {
|
||||
const { data } = await ComDhSettingApi.getObj()
|
||||
if (data) {
|
||||
Object.assign(form, data)
|
||||
}
|
||||
} catch (err: any) {
|
||||
console.error(err);
|
||||
} finally {
|
||||
state.loading = false
|
||||
}
|
||||
}
|
||||
|
||||
async function onSubmit() {
|
||||
const valid = await dataFormRef.value.validate().catch(() => { });
|
||||
if (!valid) return false;
|
||||
state.loading = true
|
||||
try {
|
||||
const { data } = await ComDhSettingApi.putObj(form)
|
||||
if (data) {
|
||||
Object.assign(form, data)
|
||||
}
|
||||
useMessage().success('修改成功');
|
||||
} catch (err: any) {
|
||||
useMessage().error(err.msg);
|
||||
} finally {
|
||||
state.loading = false
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,91 @@
|
||||
<!-- 道闸数据日志 -->
|
||||
<template>
|
||||
<div class="layout-padding">
|
||||
<div class="layout-padding-auto layout-padding-view">
|
||||
<el-row shadow="hover" :gutter="10" v-show="showSearch" class="ml10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="触发日期" prop="createTimeList">
|
||||
<el-date-picker v-model="state.queryForm.createTimeList" value-format="YYYY-MM-DD"
|
||||
type="daterange" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item>
|
||||
<el-button icon="search" type="primary" @click="getDataList">
|
||||
{{ $t('common.queryBtn') }}
|
||||
</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">{{ $t('common.resetBtn') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<div class="mb8" style="width: 100%">
|
||||
<right-toolbar v-model:showSearch="showSearch" :export="false" @exportExcel="exportExcel"
|
||||
class="ml10 mr20" style="float: right;" @queryTable="getDataList" />
|
||||
</div>
|
||||
</el-row>
|
||||
<el-table :data="state.dataList" v-loading="state.loading" border :cell-style="tableStyle.cellStyle"
|
||||
:header-cell-style="tableStyle.headerCellStyle" @selection-change="selectionChangHandle"
|
||||
@sort-change="sortChangeHandle">
|
||||
<el-table-column type="selection" width="40" align="center" />
|
||||
<el-table-column type="index" label="#" width="80" />
|
||||
</el-table>
|
||||
<pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle"
|
||||
v-bind="state.pagination" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="deviceLog">
|
||||
import { BasicTableProps, useTable } from "/@/hooks/table";
|
||||
import { useMessage, useMessageBox } from "/@/hooks/message";
|
||||
import { useDict } from '/@/hooks/dict';
|
||||
|
||||
import * as ComDhLogApi from "/@/api/com/comDhLog";
|
||||
|
||||
// 搜索变量
|
||||
const queryRef = ref()
|
||||
const showSearch = ref(true)
|
||||
|
||||
// 多选变量
|
||||
const selectObjs = ref([]) as any
|
||||
const multiple = ref(true)
|
||||
|
||||
const state: BasicTableProps = reactive<BasicTableProps>({
|
||||
queryForm: {},
|
||||
pageList: ComDhLogApi.fetchList
|
||||
})
|
||||
|
||||
// table hook
|
||||
const {
|
||||
getDataList,
|
||||
currentChangeHandle,
|
||||
sizeChangeHandle,
|
||||
sortChangeHandle,
|
||||
downBlobFile,
|
||||
tableStyle
|
||||
} = useTable(state)
|
||||
|
||||
// 清空搜索条件
|
||||
const resetQuery = () => {
|
||||
// 清空搜索条件
|
||||
queryRef.value?.resetFields()
|
||||
// 清空多选
|
||||
selectObjs.value = []
|
||||
getDataList()
|
||||
}
|
||||
|
||||
// 多选事件
|
||||
const selectionChangHandle = (objs: { id: string }[]) => {
|
||||
selectObjs.value = objs.map(({ id }) => id);
|
||||
multiple.value = !objs.length;
|
||||
};
|
||||
|
||||
// 导出excel
|
||||
const exportExcel = () => {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,91 @@
|
||||
<!-- 监控数据日志 -->
|
||||
<template>
|
||||
<div class="layout-padding">
|
||||
<div class="layout-padding-auto layout-padding-view">
|
||||
<el-row shadow="hover" :gutter="10" v-show="showSearch" class="ml10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="触发日期" prop="createTimeList">
|
||||
<el-date-picker v-model="state.queryForm.createTimeList" value-format="YYYY-MM-DD"
|
||||
type="daterange" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item>
|
||||
<el-button icon="search" type="primary" @click="getDataList">
|
||||
{{ $t('common.queryBtn') }}
|
||||
</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">{{ $t('common.resetBtn') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<div class="mb8" style="width: 100%">
|
||||
<right-toolbar v-model:showSearch="showSearch" :export="false" @exportExcel="exportExcel"
|
||||
class="ml10 mr20" style="float: right;" @queryTable="getDataList" />
|
||||
</div>
|
||||
</el-row>
|
||||
<el-table :data="state.dataList" v-loading="state.loading" border :cell-style="tableStyle.cellStyle"
|
||||
:header-cell-style="tableStyle.headerCellStyle" @selection-change="selectionChangHandle"
|
||||
@sort-change="sortChangeHandle">
|
||||
<el-table-column type="selection" width="40" align="center" />
|
||||
<el-table-column type="index" label="#" width="80" />
|
||||
</el-table>
|
||||
<pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle"
|
||||
v-bind="state.pagination" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="deviceLog">
|
||||
import { BasicTableProps, useTable } from "/@/hooks/table";
|
||||
import { useMessage, useMessageBox } from "/@/hooks/message";
|
||||
import { useDict } from '/@/hooks/dict';
|
||||
|
||||
import * as ComDhLogApi from "/@/api/com/comDhLog";
|
||||
|
||||
// 搜索变量
|
||||
const queryRef = ref()
|
||||
const showSearch = ref(true)
|
||||
|
||||
// 多选变量
|
||||
const selectObjs = ref([]) as any
|
||||
const multiple = ref(true)
|
||||
|
||||
const state: BasicTableProps = reactive<BasicTableProps>({
|
||||
queryForm: {},
|
||||
pageList: ComDhLogApi.fetchList
|
||||
})
|
||||
|
||||
// table hook
|
||||
const {
|
||||
getDataList,
|
||||
currentChangeHandle,
|
||||
sizeChangeHandle,
|
||||
sortChangeHandle,
|
||||
downBlobFile,
|
||||
tableStyle
|
||||
} = useTable(state)
|
||||
|
||||
// 清空搜索条件
|
||||
const resetQuery = () => {
|
||||
// 清空搜索条件
|
||||
queryRef.value?.resetFields()
|
||||
// 清空多选
|
||||
selectObjs.value = []
|
||||
getDataList()
|
||||
}
|
||||
|
||||
// 多选事件
|
||||
const selectionChangHandle = (objs: { id: string }[]) => {
|
||||
selectObjs.value = objs.map(({ id }) => id);
|
||||
multiple.value = !objs.length;
|
||||
};
|
||||
|
||||
// 导出excel
|
||||
const exportExcel = () => {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,91 @@
|
||||
<!-- 门禁数据日志 -->
|
||||
<template>
|
||||
<div class="layout-padding">
|
||||
<div class="layout-padding-auto layout-padding-view">
|
||||
<el-row shadow="hover" :gutter="10" v-show="showSearch" class="ml10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="触发日期" prop="createTimeList">
|
||||
<el-date-picker v-model="state.queryForm.createTimeList" value-format="YYYY-MM-DD"
|
||||
type="daterange" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item>
|
||||
<el-button icon="search" type="primary" @click="getDataList">
|
||||
{{ $t('common.queryBtn') }}
|
||||
</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">{{ $t('common.resetBtn') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<div class="mb8" style="width: 100%">
|
||||
<right-toolbar v-model:showSearch="showSearch" :export="false" @exportExcel="exportExcel"
|
||||
class="ml10 mr20" style="float: right;" @queryTable="getDataList" />
|
||||
</div>
|
||||
</el-row>
|
||||
<el-table :data="state.dataList" v-loading="state.loading" border :cell-style="tableStyle.cellStyle"
|
||||
:header-cell-style="tableStyle.headerCellStyle" @selection-change="selectionChangHandle"
|
||||
@sort-change="sortChangeHandle">
|
||||
<el-table-column type="selection" width="40" align="center" />
|
||||
<el-table-column type="index" label="#" width="80" />
|
||||
</el-table>
|
||||
<pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle"
|
||||
v-bind="state.pagination" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="deviceLog">
|
||||
import { BasicTableProps, useTable } from "/@/hooks/table";
|
||||
import { useMessage, useMessageBox } from "/@/hooks/message";
|
||||
import { useDict } from '/@/hooks/dict';
|
||||
|
||||
import * as ComDhLogApi from "/@/api/com/comDhLog";
|
||||
|
||||
// 搜索变量
|
||||
const queryRef = ref()
|
||||
const showSearch = ref(true)
|
||||
|
||||
// 多选变量
|
||||
const selectObjs = ref([]) as any
|
||||
const multiple = ref(true)
|
||||
|
||||
const state: BasicTableProps = reactive<BasicTableProps>({
|
||||
queryForm: {},
|
||||
pageList: ComDhLogApi.fetchList
|
||||
})
|
||||
|
||||
// table hook
|
||||
const {
|
||||
getDataList,
|
||||
currentChangeHandle,
|
||||
sizeChangeHandle,
|
||||
sortChangeHandle,
|
||||
downBlobFile,
|
||||
tableStyle
|
||||
} = useTable(state)
|
||||
|
||||
// 清空搜索条件
|
||||
const resetQuery = () => {
|
||||
// 清空搜索条件
|
||||
queryRef.value?.resetFields()
|
||||
// 清空多选
|
||||
selectObjs.value = []
|
||||
getDataList()
|
||||
}
|
||||
|
||||
// 多选事件
|
||||
const selectionChangHandle = (objs: { id: string }[]) => {
|
||||
selectObjs.value = objs.map(({ id }) => id);
|
||||
multiple.value = !objs.length;
|
||||
};
|
||||
|
||||
// 导出excel
|
||||
const exportExcel = () => {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
</style>
|
||||
+188
-189
@@ -1,179 +1,178 @@
|
||||
<template>
|
||||
<el-dialog :title="form.id ? '编辑' : '新增'" v-model="visible"
|
||||
:close-on-click-modal="false" draggable>
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="90px" v-loading="loading">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场车牌号" prop="carNum">
|
||||
<el-input v-model="form.carNum" placeholder="请输入入场车牌号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-dialog :title="form.id ? '编辑' : '新增'" v-model="visible" :close-on-click-modal="false" draggable>
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="90px" v-loading="loading">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场车牌号" prop="carNum">
|
||||
<el-input v-model="form.carNum" placeholder="请输入入场车牌号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车主id" prop="carOwnerId">
|
||||
<el-input v-model="form.carOwnerId" placeholder="请输入车主id"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车主id" prop="carOwnerId">
|
||||
<el-input v-model="form.carOwnerId" placeholder="请输入车主id" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车辆停车状态(0-进入,1-离开,2-只有出车,3-强制出场)" prop="carStatus">
|
||||
<el-input v-model="form.carStatus" placeholder="请输入车辆停车状态(0-进入,1-离开,2-只有出车,3-强制出场)"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车辆停车状态(0-进入,1-离开,2-只有出车,3-强制出场)" prop="carStatus">
|
||||
<el-input v-model="form.carStatus" placeholder="请输入车辆停车状态(0-进入,1-离开,2-只有出车,3-强制出场)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车辆类型:0-外部车;其他为内部车(字典)" prop="carType">
|
||||
<el-input v-model="form.carType" placeholder="请输入车辆类型:0-外部车;其他为内部车(字典)"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车辆类型:0-外部车;其他为内部车(字典)" prop="carType">
|
||||
<el-input v-model="form.carType" placeholder="请输入车辆类型:0-外部车;其他为内部车(字典)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="卡号" prop="cardNumber">
|
||||
<el-input v-model="form.cardNumber" placeholder="请输入卡号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="卡号" prop="cardNumber">
|
||||
<el-input v-model="form.cardNumber" placeholder="请输入卡号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的相机通道id" prop="enterItcDevChnId">
|
||||
<el-input v-model="form.enterItcDevChnId" placeholder="请输入进场的相机通道id"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的相机通道id" prop="enterItcDevChnId">
|
||||
<el-input v-model="form.enterItcDevChnId" placeholder="请输入进场的相机通道id" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的相机通道名称" prop="enterItcDevChnName">
|
||||
<el-input v-model="form.enterItcDevChnName" placeholder="请输入进场的相机通道名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的相机通道名称" prop="enterItcDevChnName">
|
||||
<el-input v-model="form.enterItcDevChnName" placeholder="请输入进场的相机通道名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场方式:0-刷卡,1-自动识别(需核对)(字典)" prop="enterMode">
|
||||
<el-input v-model="form.enterMode" placeholder="请输入入场方式:0-刷卡,1-自动识别(需核对)(字典)"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场方式:0-刷卡,1-自动识别(需核对)(字典)" prop="enterMode">
|
||||
<el-input v-model="form.enterMode" placeholder="请输入入场方式:0-刷卡,1-自动识别(需核对)(字典)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的道闸设备通道id" prop="enterSluiceDevChnId">
|
||||
<el-input v-model="form.enterSluiceDevChnId" placeholder="请输入进场的道闸设备通道id"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的道闸设备通道id" prop="enterSluiceDevChnId">
|
||||
<el-input v-model="form.enterSluiceDevChnId" placeholder="请输入进场的道闸设备通道id" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的道闸设备通道名称" prop="enterSluiceDevChnName">
|
||||
<el-input v-model="form.enterSluiceDevChnName" placeholder="请输入进场的道闸设备通道名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场的道闸设备通道名称" prop="enterSluiceDevChnName">
|
||||
<el-input v-model="form.enterSluiceDevChnName" placeholder="请输入进场的道闸设备通道名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场时间 yyyy-MM-dd HH:mm:ss" prop="enterTime">
|
||||
<el-input v-model="form.enterTime" placeholder="请输入进场时间 yyyy-MM-dd HH:mm:ss"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场时间 yyyy-MM-dd HH:mm:ss" prop="enterTime">
|
||||
<el-input v-model="form.enterTime" placeholder="请输入进场时间 yyyy-MM-dd HH:mm:ss" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场车道编号" prop="enterWayCode">
|
||||
<el-input v-model="form.enterWayCode" placeholder="请输入入场车道编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场车道编号" prop="enterWayCode">
|
||||
<el-input v-model="form.enterWayCode" placeholder="请输入入场车道编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场车牌号" prop="exitCarNum">
|
||||
<el-input v-model="form.exitCarNum" placeholder="请输入出场车牌号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场车牌号" prop="exitCarNum">
|
||||
<el-input v-model="form.exitCarNum" placeholder="请输入出场车牌号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场相机通道id" prop="exitItcDevChnId">
|
||||
<el-input v-model="form.exitItcDevChnId" placeholder="请输入出场相机通道id"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场相机通道id" prop="exitItcDevChnId">
|
||||
<el-input v-model="form.exitItcDevChnId" placeholder="请输入出场相机通道id" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场相机通道名称" prop="exitItcDevChnName">
|
||||
<el-input v-model="form.exitItcDevChnName" placeholder="请输入出场相机通道名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场相机通道名称" prop="exitItcDevChnName">
|
||||
<el-input v-model="form.exitItcDevChnName" placeholder="请输入出场相机通道名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场道闸通道id" prop="exitSluiceDevChnId">
|
||||
<el-input v-model="form.exitSluiceDevChnId" placeholder="请输入出场道闸通道id"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场道闸通道id" prop="exitSluiceDevChnId">
|
||||
<el-input v-model="form.exitSluiceDevChnId" placeholder="请输入出场道闸通道id" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场道闸通道名称" prop="exitSluiceDevChnName">
|
||||
<el-input v-model="form.exitSluiceDevChnName" placeholder="请输入出场道闸通道名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场道闸通道名称" prop="exitSluiceDevChnName">
|
||||
<el-input v-model="form.exitSluiceDevChnName" placeholder="请输入出场道闸通道名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场时间 yyyy-MM-dd HH:mm:ss" prop="exitTime">
|
||||
<el-input v-model="form.exitTime" placeholder="请输入出场时间 yyyy-MM-dd HH:mm:ss"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场时间 yyyy-MM-dd HH:mm:ss" prop="exitTime">
|
||||
<el-input v-model="form.exitTime" placeholder="请输入出场时间 yyyy-MM-dd HH:mm:ss" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场车道编号" prop="exitWayCode">
|
||||
<el-input v-model="form.exitWayCode" placeholder="请输入出场车道编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场车道编号" prop="exitWayCode">
|
||||
<el-input v-model="form.exitWayCode" placeholder="请输入出场车道编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场抓拍图片url" prop="originalPicPathEnter">
|
||||
<el-input v-model="form.originalPicPathEnter" placeholder="请输入进场抓拍图片url"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="进场抓拍图片url" prop="originalPicPathEnter">
|
||||
<el-input v-model="form.originalPicPathEnter" placeholder="请输入进场抓拍图片url" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场抓拍图片url" prop="originalPicPathExit">
|
||||
<el-input v-model="form.originalPicPathExit" placeholder="请输入出场抓拍图片url"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场抓拍图片url" prop="originalPicPathExit">
|
||||
<el-input v-model="form.originalPicPathExit" placeholder="请输入出场抓拍图片url" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车主用户类型0、5-临时用户;1-储值用户;2-月卡用户;3-长期用户" prop="ownerType">
|
||||
<el-input v-model="form.ownerType" placeholder="请输入车主用户类型0、5-临时用户;1-储值用户;2-月卡用户;3-长期用户"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="车主用户类型0、5-临时用户;1-储值用户;2-月卡用户;3-长期用户" prop="ownerType">
|
||||
<el-input v-model="form.ownerType" placeholder="请输入车主用户类型0、5-临时用户;1-储值用户;2-月卡用户;3-长期用户" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="场区名称" prop="parkingLot">
|
||||
<el-input v-model="form.parkingLot" placeholder="请输入场区名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="场区名称" prop="parkingLot">
|
||||
<el-input v-model="form.parkingLot" placeholder="请输入场区名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="场区编码" prop="parkingLotCode">
|
||||
<el-input v-model="form.parkingLotCode" placeholder="请输入场区编码"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="场区编码" prop="parkingLotCode">
|
||||
<el-input v-model="form.parkingLotCode" placeholder="请输入场区编码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="已支付金额" prop="payedMoney">
|
||||
<el-input v-model="form.payedMoney" placeholder="请输入已支付金额"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="已支付金额" prop="payedMoney">
|
||||
<el-input v-model="form.payedMoney" placeholder="请输入已支付金额" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场抓拍图片,小图" prop="realCapturePicPathEnter">
|
||||
<el-input v-model="form.realCapturePicPathEnter" placeholder="请输入入场抓拍图片,小图"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="入场抓拍图片,小图" prop="realCapturePicPathEnter">
|
||||
<el-input v-model="form.realCapturePicPathEnter" placeholder="请输入入场抓拍图片,小图" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场抓拍图片,小图" prop="realCapturePicPathExit">
|
||||
<el-input v-model="form.realCapturePicPathExit" placeholder="请输入出场抓拍图片,小图"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="出场抓拍图片,小图" prop="realCapturePicPathExit">
|
||||
<el-input v-model="form.realCapturePicPathExit" placeholder="请输入出场抓拍图片,小图" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="onSubmit" :disabled="loading">确认</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="onSubmit" :disabled="loading">确认</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="CarAccessDialog">
|
||||
@@ -191,34 +190,34 @@ const loading = ref(false)
|
||||
|
||||
// 提交表单数据
|
||||
const form = reactive({
|
||||
id:'',
|
||||
carNum: '',
|
||||
carOwnerId: '',
|
||||
carStatus: '',
|
||||
carType: '',
|
||||
cardNumber: '',
|
||||
enterItcDevChnId: '',
|
||||
enterItcDevChnName: '',
|
||||
enterMode: '',
|
||||
enterSluiceDevChnId: '',
|
||||
enterSluiceDevChnName: '',
|
||||
enterTime: '',
|
||||
enterWayCode: '',
|
||||
exitCarNum: '',
|
||||
exitItcDevChnId: '',
|
||||
exitItcDevChnName: '',
|
||||
exitSluiceDevChnId: '',
|
||||
exitSluiceDevChnName: '',
|
||||
exitTime: '',
|
||||
exitWayCode: '',
|
||||
originalPicPathEnter: '',
|
||||
originalPicPathExit: '',
|
||||
ownerType: '',
|
||||
parkingLot: '',
|
||||
parkingLotCode: '',
|
||||
payedMoney: '',
|
||||
realCapturePicPathEnter: '',
|
||||
realCapturePicPathExit: '',
|
||||
id: '',
|
||||
carNum: '',
|
||||
carOwnerId: '',
|
||||
carStatus: '',
|
||||
carType: '',
|
||||
cardNumber: '',
|
||||
enterItcDevChnId: '',
|
||||
enterItcDevChnName: '',
|
||||
enterMode: '',
|
||||
enterSluiceDevChnId: '',
|
||||
enterSluiceDevChnName: '',
|
||||
enterTime: '',
|
||||
enterWayCode: '',
|
||||
exitCarNum: '',
|
||||
exitItcDevChnId: '',
|
||||
exitItcDevChnName: '',
|
||||
exitSluiceDevChnId: '',
|
||||
exitSluiceDevChnName: '',
|
||||
exitTime: '',
|
||||
exitWayCode: '',
|
||||
originalPicPathEnter: '',
|
||||
originalPicPathExit: '',
|
||||
ownerType: '',
|
||||
parkingLot: '',
|
||||
parkingLotCode: '',
|
||||
payedMoney: '',
|
||||
realCapturePicPathEnter: '',
|
||||
realCapturePicPathExit: '',
|
||||
});
|
||||
|
||||
// 定义校验规则
|
||||
@@ -231,9 +230,9 @@ const openDialog = (id: string) => {
|
||||
form.id = ''
|
||||
|
||||
// 重置表单数据
|
||||
nextTick(() => {
|
||||
dataFormRef.value?.resetFields();
|
||||
});
|
||||
nextTick(() => {
|
||||
dataFormRef.value?.resetFields();
|
||||
});
|
||||
|
||||
// 获取carAccess信息
|
||||
if (id) {
|
||||
@@ -244,18 +243,18 @@ const openDialog = (id: string) => {
|
||||
|
||||
// 提交
|
||||
const onSubmit = async () => {
|
||||
const valid = await dataFormRef.value.validate().catch(() => {});
|
||||
if (!valid) return false;
|
||||
const valid = await dataFormRef.value.validate().catch(() => { });
|
||||
if (!valid) return false;
|
||||
|
||||
try {
|
||||
try {
|
||||
loading.value = true;
|
||||
form.id ? await putObj(form) : await addObj(form);
|
||||
useMessage().success(form.id ? '修改成功' : '添加成功');
|
||||
visible.value = false;
|
||||
emit('refresh');
|
||||
} catch (err: any) {
|
||||
useMessage().error(err.msg);
|
||||
} finally {
|
||||
form.id ? await putObj(form) : await addObj(form);
|
||||
useMessage().success(form.id ? '修改成功' : '添加成功');
|
||||
visible.value = false;
|
||||
emit('refresh');
|
||||
} catch (err: any) {
|
||||
useMessage().error(err.msg);
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -47,7 +47,12 @@
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="入场">
|
||||
<el-table-column prop="carNum" min-width="100" label="入场车牌号" />
|
||||
<el-table-column prop="carNum" min-width="100" label="入场车牌号">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.carNum && row.enterTime">{{ row.carNum }}</span>
|
||||
<span v-else class="color-danger">未识别</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="enterMode" min-width="100" label="入场方式">
|
||||
<template #default="{ row }">
|
||||
<dict-tag :options="dh_enter_Mode" :value="row.enterMode" />
|
||||
|
||||
Reference in new issue
Block a user