copy from src/views/data/dev/camera/CameraForm.vue
copy to src/views/data/video/camera/CameraForm.vue
文件从 src/views/data/dev/camera/CameraForm.vue 复制 |
| | |
| | | > |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="品牌"> |
| | | <el-select v-model="formData.brand" prop="brand" placeholder="请选择"> |
| | | <el-option |
| | | v-for="dict in getIntDictOptions(DICT_TYPE.CAMERA_BRAND)" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="编码" prop="code"> |
| | | <el-input v-model="formData.code" placeholder="请输入编码" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备类型" prop="device"> |
| | | <el-input v-model="formData.device" placeholder="请输入设备类型" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="抓图方式"> |
| | | <el-select v-model="formData.captureType" placeholder="请选择"> |
| | | <el-select v-model="formData.captureType" prop="captureType" placeholder="请选择"> |
| | | <el-option |
| | | v-for="dict in getStrDictOptions(DICT_TYPE.CAPTURE_TYPE)" |
| | | :key="dict.value" |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="IP" prop="ip"> |
| | | <el-input v-model="formData.ip" placeholder="请输入IP" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="端口" prop="port"> |
| | | <el-input v-model="formData.port" placeholder="请输入端口" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="用户名" prop="username"> |
| | | <el-input v-model="formData.username" placeholder="请输入用户名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="密码" prop="password"> |
| | | <el-input show-password v-model="formData.password" placeholder="请输入密码" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="通道" prop="channel"> |
| | | <el-input v-model="formData.channel" placeholder="请输入通道" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监控区域" prop="location"> |
| | | <el-input v-model="formData.location" placeholder="请输入监控区域" /> |
| | | <el-form-item label="具体位置" prop="location"> |
| | | <el-input v-model="formData.location" placeholder="请输入具体位置" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注" prop="remark"> |
| | |
| | | </Dialog> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import * as CameraApi from '@/api/data/dev/camera' |
| | | import * as CameraApi from '@/api/data/video/camera' |
| | | import {DICT_TYPE, getIntDictOptions, getStrDictOptions} from "@/utils/dict"; |
| | | |
| | | defineOptions({ name: 'CameraForm' }) |
| | |
| | | const formType = ref('') // 表单的类型:create - 新增;update - 修改 |
| | | const formData = ref({ |
| | | id: undefined, |
| | | nvrId: '', |
| | | brand: undefined, |
| | | type: 1, |
| | | code: undefined, |
| | | captureType: '', |
| | | ip: undefined, |
| | | port: undefined, |
| | | username: undefined, |
| | | password: undefined, |
| | | device: undefined, |
| | | channel: undefined, |
| | | location: undefined, |
| | | remark: undefined |
| | | }) |
| | | const formRules = reactive({ |
| | | code: [{ required: true, message: '编码不能为空', trigger: 'blur' }], |
| | | brand: [{ required: true, message: '品牌不能为空', trigger: 'blur' }], |
| | | code: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }], |
| | | captureType: [{ required: true, message: '抓图方式不能为空', trigger: 'blur' }], |
| | | channel: [{ required: true, message: '通道不能为空', trigger: 'blur' }], |
| | | name: [{ required: true, message: '名称不能为空', trigger: 'blur' }], |
| | | ip: [{ required: true, message: 'IP不能为空', trigger: 'blur' }], |
| | | port: [{ required: true, message: '端口不能为空', trigger: 'blur' }], |
| | | location: [{ required: true, message: '监控区域不能为空', trigger: 'blur' }] |
| | | }) |
| | | const formRef = ref() // 表单 Ref |
| | |
| | | const data = formData.value as unknown as CameraApi.CameraVO |
| | | if (formType.value === 'create') { |
| | | data.nvrId = nvrId.value |
| | | data.type = 1 |
| | | await CameraApi.createCamera(data) |
| | | message.success(t('common.createSuccess')) |
| | | } else { |