dev_xd
姜玉琦 2025-04-29 22:36:36 +08:00
commit aa121061d5
1 changed files with 55 additions and 53 deletions

View File

@ -1,12 +1,9 @@
<template>
<el-drawer class="video-monitor-drawer" v-if="data.isOpen" v-model="data.isOpen" direction="rtl" size="50%"
style="padding-left: 20px" :title="data.title">
<el-drawer class="video-monitor-drawer" v-if="data.isOpen" v-model="data.isOpen" direction="rtl" size="50%" style="padding-left: 20px" :title="data.title">
<el-form ref="videoMonitorRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="项目名称" prop="projectId">
<el-select :disabled="data.currentPrjId != ''||data.type=='edit'" v-model="form.projectId" placeholder="请选择项目" clearable
style="width:192px;">
<el-option v-for="prj in data.projects" :key="prj.id" :label="prj.projectName" :value="prj.id">
</el-option>
<el-select :disabled="data.currentPrjId != ''||data.type=='edit'" v-model="form.projectId" placeholder="请选择项目" clearable style="width:300px;">
<el-option v-for="prj in data.projects" :key="prj.id" :label="prj.projectName" :value="prj.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="监控名称" prop="monitorName">
@ -44,20 +41,20 @@
</template>
<script setup>
import { listVideoMonitor, getVideoMonitor, delVideoMonitor, addVideoMonitor, updateVideoMonitor } from "@/api/manage/videoMonitor";
import { findMyProjectList } from "@/api/publics";
import { listVideoMonitor, getVideoMonitor, delVideoMonitor, addVideoMonitor, updateVideoMonitor } from '@/api/manage/videoMonitor'
import { findMyProjectList } from '@/api/publics'
import useUserStore from '@/store/modules/user'
const $emit=defineEmits("success")
const $emit = defineEmits('success')
const userStore = useUserStore()
const { proxy } = getCurrentInstance();
const { proxy } = getCurrentInstance()
const form = ref({})
const rules = reactive({
projectId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属项目" }],
monitorName: [{ required: true, trigger: ['blur', 'change'], message: "请输入监控名称" }],
monitorType: [{ required: true, trigger: ['blur', 'change'], message: "请选择监控类型" }],
url: [{ required: true, trigger: ['blur', 'change'], message: "请输入监控链接" }],
appkey: [{ required: true, trigger: ['blur', 'change'], message: "请输入萤石云AppKey" }],
secret: [{ required: true, trigger: ['blur', 'change'], message: "请输入萤石云Secret" }],
projectId: [{ required: true, trigger: ['blur', 'change'], message: '请选择所属项目' }],
monitorName: [{ required: true, trigger: ['blur', 'change'], message: '请输入监控名称' }],
monitorType: [{ required: true, trigger: ['blur', 'change'], message: '请选择监控类型' }],
url: [{ required: true, trigger: ['blur', 'change'], message: '请输入监控链接' }],
appkey: [{ required: true, trigger: ['blur', 'change'], message: '请输入萤石云AppKey' }],
secret: [{ required: true, trigger: ['blur', 'change'], message: '请输入萤石云Secret' }],
})
const data = reactive({
isOpen: false,
@ -65,68 +62,73 @@ const data = reactive({
type: '',
projects: [],
currentPrjId: '',
editRow:null,
editRow: null,
comId: '',
})
function showDrawer(opt) {
data.type = opt.type;
data.type = opt.type
data.title = opt.type == 'add' ? '视频监控 - 增加' : '视频监控 - 修改'
if(opt.type=='edit'){
data.editRow=opt.row;
form.value=opt.row;
}else{
data.editRow=null;
form.value={}
if (opt.type == 'edit') {
data.editRow = opt.row
form.value = opt.row
} else {
data.editRow = null
form.value = {}
if (userStore.currentPrjId) {
data.currentPrjId = userStore.currentPrjId
data.comId = userStore.currentComId
form.value.projectId = data.currentPrjId
}
}
form.value.monitorType = "萤石云";
form.value.keyPoint = '0';
data.isOpen = true;
form.value.monitorType = '萤石云'
form.value.keyPoint = '0'
data.isOpen = true
}
/** 查询项目列表 */
function getProjectList() {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then(response => {
data.projects = response.rows;
findMyProjectList({ pageNum: 1, pageSize: 100 }).then((response) => {
data.projects = response.rows
if (userStore.currentPrjId) {
data.currentPrjId = userStore.currentPrjId;
data.currentPrjId = userStore.currentPrjId
data.comId = userStore.currentComId
form.value.projectId = data.currentPrjId;
form.value.projectId = data.currentPrjId
}
});
})
}
function getSelectProject(){
let objs=data.projects.filter(d=>d.id==form.value.projectId);
return objs.length>0?objs[0]:{id:data.currentPrjId,comId:userStore.currentComId};
function getSelectProject() {
let objs = data.projects.filter((d) => d.id == form.value.projectId)
return objs.length > 0 ? objs[0] : { id: data.currentPrjId, comId: userStore.currentComId }
}
function doSave() {
proxy.$refs["videoMonitorRef"].validate(valid => {
proxy.$refs['videoMonitorRef'].validate((valid) => {
if (valid) {
let prj=getSelectProject();
form.value.projectId=prj.id;
form.value.comId=prj.comId;
let prj = getSelectProject()
form.value.projectId = prj.id
form.value.comId = prj.comId
if (form.value.id != null) {
updateVideoMonitor(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
data.isOpen=false
$emit("success")
});
updateVideoMonitor(form.value).then((response) => {
proxy.$modal.msgSuccess('修改成功')
data.isOpen = false
$emit('success')
})
} else {
addVideoMonitor(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
data.isOpen=false
$emit("success")
});
addVideoMonitor(form.value).then((response) => {
proxy.$modal.msgSuccess('新增成功')
data.isOpen = false
$emit('success')
})
}
}
});
})
}
function doCancel() {
data.isOpen = false;
data.isOpen = false
}
getProjectList();
getProjectList()
defineExpose({
showDrawer
showDrawer,
})
</script>