feat:配置修改
This commit is contained in:
1 parent
f771123601
commit
ddc7465294
2 files changed
+198
-149
No files matched your search
@@ -1,56 +1,46 @@
|
||||
<template>
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="180px"
|
||||
v-loading="state.loading">
|
||||
<el-divider class="mb-12">人员高频次出入</el-divider>
|
||||
<el-form-item label="车闸报警频次" prop="carRepeatCount">
|
||||
|
||||
<!-- **************************** start 夜晚出入营区 start **************************** -->
|
||||
<el-divider class="my-12">夜晚出入营区</el-divider>
|
||||
<el-form-item prop="carNightCamp.alarmTime">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>车闸报警频次</span>
|
||||
<el-tooltip class="box-item" :content="`每天进出${form.carRepeatCount}次就会报警`" placement="top">
|
||||
<span>夜晚出入时间</span>
|
||||
<el-tooltip class="box-item" :content="`每天${form.carNightCamp.alarmTime}以后出入车闸报警`" 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-time-picker format="HH:mm" value-format="HH:mm" v-model="form.carNightCamp.alarmTime" is-range
|
||||
placeholder="请选择夜晚出入时间" />
|
||||
</el-form-item>
|
||||
<el-divider class="my-12">车辆工作时间</el-divider>
|
||||
<el-form-item prop="carPersonWorkForenoonTime">
|
||||
<!-- **************************** end 夜晚出入营区 end **************************** -->
|
||||
|
||||
<!-- **************************** start 考勤配置 start **************************** -->
|
||||
<el-divider class="my-12">考勤配置</el-divider>
|
||||
<el-form-item prop="carKq.forenoon">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>车辆工作时间(上午)</span>
|
||||
<span>考勤时间(上午)</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.carPersonWorkForenoonTime" is-range
|
||||
placeholder="请选择车辆工作时间(上午)" />
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.carKq.forenoon" is-range
|
||||
placeholder="请选择考勤时间(上午)" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="carPersonWorkAfternoonTime">
|
||||
<el-form-item prop="carKq.afternoon">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>车辆工作时间(下午)</span>
|
||||
<span>考勤时间(下午)</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.carPersonWorkAfternoonTime" is-range
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.carKq.afternoon" is-range
|
||||
placeholder="请选择车辆工作时间(下午)" />
|
||||
</el-form-item>
|
||||
<el-divider class="my-12">夜晚报警</el-divider>
|
||||
<el-form-item prop="carNightAlarmTime">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>车辆夜晚报警时间</span>
|
||||
<el-tooltip class="box-item" :content="`每天${form.carNightAlarmTime}以后出入人闸报警`" placement="top">
|
||||
<el-icon :size="16">
|
||||
<InfoFilled />
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</template>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.carNightAlarmTime" is-range
|
||||
placeholder="请选择车辆夜晚报警时间" />
|
||||
</el-form-item>
|
||||
<!-- **************************** end 考勤配置 end **************************** -->
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
@@ -66,21 +56,28 @@ const state = reactive<any>({
|
||||
|
||||
// 提交表单数据
|
||||
const form = reactive<any>({
|
||||
// 道闸报警频次
|
||||
carRepeatCount: 0,
|
||||
// 工作时间上午
|
||||
carPersonWorkForenoonTime: null,
|
||||
// 工作时间下午
|
||||
carPersonWorkAfternoonTime: null,
|
||||
// 夜晚报警时间
|
||||
carNightAlarmTime: [],
|
||||
// 车辆晚上出入营区
|
||||
carNightCamp: {
|
||||
alarmTime: [],
|
||||
cameraChannels: [],
|
||||
},
|
||||
// 车辆考勤配置
|
||||
carKq: {
|
||||
forenoon: [],
|
||||
afternoon: [],
|
||||
cameraChannels: [],
|
||||
deptCodes: [],
|
||||
},
|
||||
})
|
||||
|
||||
const dataRules = ref({
|
||||
carRepeatCount: [{ required: true, message: '车辆报警频次不能为空', trigger: 'blur' }],
|
||||
carPersonWorkForenoonTime: [{ required: true, message: '车辆工作时间(上午)不能为空', trigger: 'change' }],
|
||||
carPersonWorkAfternoonTime: [{ required: true, message: '车辆工作时间(下午)不能为空', trigger: 'change' }],
|
||||
carNightAlarmTime: [{ required: true, message: '车辆报警时间不能为空', trigger: 'change' }],
|
||||
// 车辆晚上出入营区
|
||||
"carNightCamp.alarmTime": [{
|
||||
required: true, message: '夜晚出入时间不能为空', trigger: 'blur'
|
||||
}],
|
||||
// 车辆考勤配置
|
||||
"carKq.forenoon": [{ required: true, message: '考勤时间(上午)不能为空', trigger: 'blur' }],
|
||||
"carKq.afternoon": [{ required: true, message: '考勤时间(下午)不能为空', trigger: 'blur' }],
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
@@ -91,16 +88,21 @@ async function getSetting() {
|
||||
state.loading = true
|
||||
try {
|
||||
const { data } = await ComDhSettingApi.getObj()
|
||||
if (!data.carNightCamp) {
|
||||
data.carNightCamp = {
|
||||
alarmTime: [],
|
||||
cameraChannels: [],
|
||||
}
|
||||
}
|
||||
if (!data.carKq) {
|
||||
data.carKq = {
|
||||
forenoon: [],
|
||||
afternoon: [],
|
||||
cameraChannels: [],
|
||||
deptCodes: [],
|
||||
}
|
||||
}
|
||||
if (data) {
|
||||
if (data.carPersonWorkForenoonTime) {
|
||||
data.carPersonWorkForenoonTime = data.carPersonWorkForenoonTime.split(',')
|
||||
}
|
||||
if (data.carPersonWorkAfternoonTime) {
|
||||
data.carPersonWorkAfternoonTime = data.carPersonWorkAfternoonTime.split(',')
|
||||
}
|
||||
if (data.carNightAlarmTime) {
|
||||
data.carNightAlarmTime = data.carNightAlarmTime.split(',')
|
||||
}
|
||||
Object.assign(form, data)
|
||||
}
|
||||
} catch (err: any) {
|
||||
@@ -118,15 +120,6 @@ async function onSubmit() {
|
||||
const _form = {
|
||||
...form,
|
||||
}
|
||||
if (_form.carPersonWorkForenoonTime && Array.isArray(_form.carPersonWorkForenoonTime)) {
|
||||
_form.carPersonWorkForenoonTime = _form.carPersonWorkForenoonTime.join(',')
|
||||
}
|
||||
if (_form.carPersonWorkAfternoonTime && Array.isArray(_form.carPersonWorkAfternoonTime)) {
|
||||
_form.carPersonWorkAfternoonTime = _form.carPersonWorkAfternoonTime.join(',')
|
||||
}
|
||||
if (_form.carNightAlarmTime && Array.isArray(_form.carNightAlarmTime)) {
|
||||
_form.carNightAlarmTime = _form.carNightAlarmTime.join(',')
|
||||
}
|
||||
await ComDhSettingApi.putObj(_form)
|
||||
useMessage().success('修改成功');
|
||||
} catch (err: any) {
|
||||
|
||||
@@ -1,77 +1,125 @@
|
||||
<template>
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="180px"
|
||||
v-loading="state.loading">
|
||||
<el-divider class="mb-12">人员高频次出入</el-divider>
|
||||
<el-form-item prop="doorRepeatCount">
|
||||
<!-- **************************** start 夜晚出入营区 start **************************** -->
|
||||
<el-divider class="my-12">夜晚出入营区</el-divider>
|
||||
<el-form-item prop="personNightCamp.alarmTime">
|
||||
<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>
|
||||
<span>夜晚出入时间</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-input v-model="form.doorRepeatCount" placeholder="请输入道闸报警频次">
|
||||
<template #append>次</template>
|
||||
</el-input>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.personNightCamp.alarmTime" is-range
|
||||
placeholder="请选择夜晚出入时间" />
|
||||
</el-form-item>
|
||||
<el-divider class="my-12">人员工作时间</el-divider>
|
||||
<el-form-item prop="doorPersonWorkForenoonTime">
|
||||
<el-form-item prop="personNightCamp.cameraChannels">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>人员工作时间(上午)</span>
|
||||
<span>摄像头</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.doorPersonWorkForenoonTime" is-range
|
||||
placeholder="请选择人员工作时间(上午)" />
|
||||
<select-tree-channel v-model="form.personNightCamp.cameraChannels" placeholder="请选择摄像头" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="doorPersonWorkAfternoonTime">
|
||||
<!-- **************************** end 夜晚出入营区 end **************************** -->
|
||||
|
||||
|
||||
<!-- **************************** start 夜晚出入办公楼 start **************************** -->
|
||||
<el-divider class="my-12">夜晚出入办公楼</el-divider>
|
||||
<el-form-item prop="personNightOffice.alarmTime">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>人员工作时间(下午)</span>
|
||||
<span>夜晚出入时间</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.doorPersonWorkAfternoonTime" is-range
|
||||
placeholder="请选择人员工作时间(下午)" />
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.personNightOffice.alarmTime" is-range
|
||||
placeholder="请选择夜晚出入时间" />
|
||||
</el-form-item>
|
||||
<el-divider class="my-12">夜晚报警</el-divider>
|
||||
<el-form-item prop="doorNightAlarmTime">
|
||||
<el-form-item prop="personNightOffice.cameraChannels">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>人员夜晚报警时间</span>
|
||||
<span>摄像头</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.doorNightAlarmTime" is-range
|
||||
placeholder="请选择夜晚报警时间" />
|
||||
<select-tree-channel v-model="form.personNightOffice.cameraChannels" placeholder="请选择摄像头" />
|
||||
</el-form-item>
|
||||
<el-divider class="my-12">主楼配置</el-divider>
|
||||
<el-form-item prop="doorMainFloorChannels">
|
||||
<!-- **************************** end 夜晚出入办公楼 end **************************** -->
|
||||
|
||||
<!-- **************************** start 打卡 start **************************** -->
|
||||
<el-divider class="my-12">打卡配置</el-divider>
|
||||
<el-form-item prop="personDk.forenoon">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>主楼入口摄像头</span>
|
||||
<span>打卡时间(上午)</span>
|
||||
</div>
|
||||
</template>
|
||||
<select-tree-channel v-model="form.doorMainFloorChannels" placeholder="请选择主楼入口摄像头" />
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.personDk.forenoon" is-range
|
||||
placeholder="请选择打卡时间(上午)" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="personDk.afternoon">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>打卡时间(下午)</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.personDk.afternoon" is-range
|
||||
placeholder="请选择打卡时间(下午)" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="personDk.cameraChannels">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>摄像头</span>
|
||||
</div>
|
||||
</template>
|
||||
<select-tree-channel v-model="form.personDk.cameraChannels" placeholder="请选择摄像头" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="personDk.deptCodes">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>部门</span>
|
||||
</div>
|
||||
</template>
|
||||
<select-tree-dept v-model="form.personDk.deptCodes" placeholder="请选择部门" />
|
||||
</el-form-item>
|
||||
<!-- **************************** end 打卡 end **************************** -->
|
||||
|
||||
|
||||
<!-- **************************** start 考勤 start **************************** -->
|
||||
<el-divider class="my-12">考勤配置</el-divider>
|
||||
<el-form-item prop="doorCheckingChannels">
|
||||
<el-form-item prop="personKq.forenoon">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>考勤摄像头</span>
|
||||
<span>考勤时间(上午)</span>
|
||||
</div>
|
||||
</template>
|
||||
<select-tree-channel v-model="form.doorCheckingChannels" placeholder="请选择考勤摄像头" />
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.personKq.forenoon" is-range
|
||||
placeholder="请选择考勤时间(上午)" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="doorCheckingDepts">
|
||||
<el-form-item prop="personKq.afternoon">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>考勤部门</span>
|
||||
<span>考勤时间(下午)</span>
|
||||
</div>
|
||||
</template>
|
||||
<select-tree-dept v-model="form.doorCheckingDepts" placeholder="请选择考勤部门" />
|
||||
<el-time-picker format="HH:mm" value-format="HH:mm" v-model="form.personKq.afternoon" is-range
|
||||
placeholder="请选择考勤时间(下午)" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="personKq.cameraChannels">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>摄像头</span>
|
||||
</div>
|
||||
</template>
|
||||
<select-tree-channel v-model="form.personKq.cameraChannels" placeholder="请选择摄像头" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="personKq.deptCodes">
|
||||
<template #label>
|
||||
<div class="flex items-center gap-1">
|
||||
<span>部门</span>
|
||||
</div>
|
||||
</template>
|
||||
<select-tree-dept v-model="form.personKq.deptCodes" placeholder="请选择部门" />
|
||||
</el-form-item>
|
||||
<!-- **************************** end 考勤 end **************************** -->
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
@@ -87,27 +135,43 @@ const state = reactive<any>({
|
||||
|
||||
// 提交表单数据
|
||||
const form = reactive<any>({
|
||||
// 道闸报警频次
|
||||
doorRepeatCount: 0,
|
||||
// 工作时间上午
|
||||
doorPersonWorkForenoonTime: null,
|
||||
// 工作时间下午
|
||||
doorPersonWorkAfternoonTime: null,
|
||||
// 夜晚报警时间
|
||||
doorNightAlarmTime: [],
|
||||
// 通道编号
|
||||
doorMainFloorChannels: [],
|
||||
// 考勤摄像头通道
|
||||
doorCheckingChannels: [],
|
||||
// 考勤部门
|
||||
doorCheckingDepts: [],
|
||||
// 人员晚上出入营区
|
||||
personNightCamp: {
|
||||
alarmTime: [],
|
||||
cameraChannels: [],
|
||||
},
|
||||
// 人员晚上出入办公楼
|
||||
personNightOffice: {
|
||||
alarmTime: [],
|
||||
cameraChannels: [],
|
||||
},
|
||||
// 人员打卡配置
|
||||
personDk: {
|
||||
forenoon: [],
|
||||
afternoon: [],
|
||||
cameraChannels: [],
|
||||
deptCodes: [],
|
||||
},
|
||||
// 人员考勤配置
|
||||
personKq: {
|
||||
forenoon: [],
|
||||
afternoon: [],
|
||||
cameraChannels: [],
|
||||
deptCodes: [],
|
||||
},
|
||||
})
|
||||
|
||||
const dataRules = ref({
|
||||
doorRepeatCount: [{ required: true, message: '道闸报警频次不能为空', trigger: 'blur' }],
|
||||
doorPersonWorkForenoonTime: [{ required: true, message: '人员工作时间(上午)不能为空', trigger: 'change' }],
|
||||
doorPersonWorkAfternoonTime: [{ required: true, message: '人员工作时间(下午)不能为空', trigger: 'change' }],
|
||||
doorNightAlarmTime: [{ required: true, message: '夜晚报警时间不能为空', trigger: 'change' }],
|
||||
// 人员晚上出入营区
|
||||
"personNightCamp.alarmTime": [{ required: true, message: '夜晚出入时间不能为空', trigger: 'blur' }],
|
||||
// 人员晚上出入办公楼
|
||||
"personNightOffice.alarmTime": [{ required: true, message: '夜晚出入时间不能为空', trigger: 'blur' }],
|
||||
// 人员打卡配置
|
||||
"personDk.forenoon": [{ required: true, message: '打卡时间(上午)不能为空', trigger: 'blur' }],
|
||||
"personDk.afternoon": [{ required: true, message: '打卡时间(下午)不能为空', trigger: 'blur' }],
|
||||
// 人员考勤配置
|
||||
"personKq.forenoon": [{ required: true, message: '考勤时间(上午)不能为空', trigger: 'blur' }],
|
||||
"personKq.afternoon": [{ required: true, message: '考勤时间(下午)不能为空', trigger: 'blur' }],
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
@@ -118,25 +182,35 @@ async function getSetting() {
|
||||
state.loading = true
|
||||
try {
|
||||
const { data } = await ComDhSettingApi.getObj()
|
||||
if (!data.personNightCamp) {
|
||||
data.personNightCamp = {
|
||||
alarmTime: [],
|
||||
cameraChannels: [],
|
||||
}
|
||||
}
|
||||
if (!data.personNightOffice) {
|
||||
data.personNightOffice = {
|
||||
alarmTime: [],
|
||||
cameraChannels: [],
|
||||
}
|
||||
}
|
||||
if (!data.personDk) {
|
||||
data.personDk = {
|
||||
forenoon: [],
|
||||
afternoon: [],
|
||||
cameraChannels: [],
|
||||
deptCodes: [],
|
||||
}
|
||||
}
|
||||
if (!data.personKq) {
|
||||
data.personKq = {
|
||||
forenoon: [],
|
||||
afternoon: [],
|
||||
cameraChannels: [],
|
||||
deptCodes: [],
|
||||
}
|
||||
}
|
||||
if (data) {
|
||||
if (data.doorPersonWorkForenoonTime) {
|
||||
data.doorPersonWorkForenoonTime = data.doorPersonWorkForenoonTime.split(',')
|
||||
}
|
||||
if (data.doorPersonWorkAfternoonTime) {
|
||||
data.doorPersonWorkAfternoonTime = data.doorPersonWorkAfternoonTime.split(',')
|
||||
}
|
||||
if (data.doorMainFloorChannels) {
|
||||
data.doorMainFloorChannels = data.doorMainFloorChannels.split(',')
|
||||
}
|
||||
if (data.doorCheckingChannels) {
|
||||
data.doorCheckingChannels = data.doorCheckingChannels.split(',')
|
||||
}
|
||||
if (data.doorNightAlarmTime) {
|
||||
data.doorNightAlarmTime = data.doorNightAlarmTime.split(',')
|
||||
}
|
||||
if (data.doorCheckingDepts) {
|
||||
data.doorCheckingDepts = data.doorCheckingDepts.split(',')
|
||||
}
|
||||
Object.assign(form, data)
|
||||
}
|
||||
} catch (err: any) {
|
||||
@@ -154,24 +228,6 @@ async function onSubmit() {
|
||||
const _form = {
|
||||
...form,
|
||||
}
|
||||
if (_form.doorPersonWorkForenoonTime && Array.isArray(_form.doorPersonWorkForenoonTime)) {
|
||||
_form.doorPersonWorkForenoonTime = _form.doorPersonWorkForenoonTime.join(',')
|
||||
}
|
||||
if (_form.doorPersonWorkAfternoonTime && Array.isArray(_form.doorPersonWorkAfternoonTime)) {
|
||||
_form.doorPersonWorkAfternoonTime = _form.doorPersonWorkAfternoonTime.join(',')
|
||||
}
|
||||
if (_form.doorMainFloorChannels && Array.isArray(_form.doorMainFloorChannels)) {
|
||||
_form.doorMainFloorChannels = _form.doorMainFloorChannels.join(',')
|
||||
}
|
||||
if (_form.doorCheckingChannels && Array.isArray(_form.doorCheckingChannels)) {
|
||||
_form.doorCheckingChannels = _form.doorCheckingChannels.join(',')
|
||||
}
|
||||
if (_form.doorNightAlarmTime && Array.isArray(_form.doorNightAlarmTime)) {
|
||||
_form.doorNightAlarmTime = _form.doorNightAlarmTime.join(',')
|
||||
}
|
||||
if (_form.doorCheckingDepts && Array.isArray(_form.doorCheckingDepts)) {
|
||||
_form.doorCheckingDepts = _form.doorCheckingDepts.join(',')
|
||||
}
|
||||
await ComDhSettingApi.putObj(_form)
|
||||
useMessage().success('修改成功');
|
||||
} catch (err: any) {
|
||||
|
||||
Reference in new issue
Block a user