This commit is contained in:
yyy 2025-06-09 15:52:39 +08:00
commit dec53fa62e

View File

@ -25,7 +25,16 @@
show-word-limit
/>
</el-form-item>
<el-form-item label="Mac地址" prop="macAddress">
<el-form-item label="摄像头编号" prop="cameraCode" v-if="formData.deviceType == 9">
<el-input
v-model="formData.cameraCode"
:disabled="false"
placeholder="请输入摄像头编号(50字以内)"
maxlength="50"
show-word-limit
/>
</el-form-item>
<el-form-item label="Mac地址" prop="macAddress" v-if="formData.deviceType !== 9">
<el-input
v-model="formData.macAddress"
:disabled="false"
@ -34,10 +43,10 @@
show-word-limit
/>
</el-form-item>
<el-form-item label="设备IP">
<el-form-item label="设备IP" v-if="formData.deviceType !== 9">
<el-input v-model="formData.deviceIp" :disabled="false" show-word-limit placeholder="请输入设备ip" maxlength="20" @input="formData.deviceIp=formData.deviceIp.replace(/[^\d.]/g,'')" />
</el-form-item>
<el-form-item label="端口">
<el-form-item label="端口" v-if="formData.deviceType !== 9">
<el-input v-model="formData.devicePort" :disabled="false" show-word-limit placeholder="请输入端口" maxlength="10" @input="formData.devicePort=formData.devicePort.replace(/[\u4E00-\u9FA5]/g,'')"/>
</el-form-item>
<el-form-item label="充电桩类型" prop="deviceAttribute" v-if="formData.deviceType == 1">
@ -46,6 +55,23 @@
<el-option :label="'手动充电'" :value="0" />
</el-select>
</el-form-item>
<el-form-item label="摄像头类型" prop="cameraType" v-if="formData.deviceType == 9">
<el-select v-model="formData.cameraType" clearable placeholder="请选择摄像头类型">
<el-option :label="'枪机'" :value="'1'" />
<el-option :label="'半球'" :value="'2'" />
<el-option :label="'球机'" :value="'3'" />
<el-option :label="'云台枪机'" :value="'4'" />
</el-select>
</el-form-item>
<el-form-item label="设备位置" v-if="formData.deviceType == 9">
<el-input
v-model="formData.deviceLocation"
:disabled="false"
placeholder="请输入设备位置"
maxlength="25"
show-word-limit
/>
</el-form-item>
<el-form-item label="是否启用" prop="deviceEnable">
<el-select v-model="formData.deviceEnable" clearable placeholder="请选择是否启用">
<el-option :label="'禁用'" :value="0" />
@ -94,7 +120,10 @@ const formData = ref({
deviceAttribute: undefined,
deviceEnable: undefined, // 01
devicePort: undefined, //
deviceIp: undefined //IP
deviceIp: undefined, //IP
cameraType:undefined, //
deviceLocation:undefined, //
cameraCode:undefined //
})
const formRules = reactive({
@ -105,7 +134,9 @@ const formRules = reactive({
pictureConfig: [{ required: true, message: '设备图配置不能为空', trigger: 'blur' }],
url: [{ required: true, message: '设备图片不能为空', trigger: 'blur' }],
deviceAttribute: [{ required: true, message: '充电类型不能为空', trigger: 'blur' }],
deviceEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }]
deviceEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }],
cameraType: [{ required: true, message: '摄像头类型不能为空', trigger: 'blur' }],
cameraCode: [{ required: true, message: '摄像头编号不能为空', trigger: 'blur' }],
})
const formRef = ref() // Ref
@ -126,7 +157,10 @@ const open = async (type, id) => {
formData.value.mapImageUrl = res ? res : undefined
})
}
console.log(data)
// cameraType
if (formData.value.deviceType !== 9) {
formData.value.cameraType = undefined;
}
} else {
title.value = '新建'
}
@ -169,6 +203,11 @@ const deviceTypeChange = (e) => {
// console.log(res)
formData.value.mapImageUrl = res ? res : undefined
})
if (e === 9) {
formData.value.cameraType = '1';
} else {
formData.value.cameraType = undefined;
}
}
//
const { push } = useRouter()
@ -223,7 +262,10 @@ const resetForm = () => {
mapImageUrl: undefined, //
pictureConfig: undefined, // 12 3
url: undefined, //
deviceAttribute: undefined
deviceAttribute: undefined,//
cameraType:undefined, //
deviceLocation:undefined, //
cameraCode:undefined, //
}
formRef.value?.resetFields()
@ -234,6 +276,7 @@ const resetForm = () => {
::v-deep .el-dialog {
padding: 0 !important;
}
::v-deep .el-dialog__header {
border-bottom: 1px solid #e8e8e8 !important;
}
@ -254,10 +297,11 @@ const resetForm = () => {
.circular {
display: inline;
height: 30px;
width: 30px;
height: 30px;
animation: loading-rotate 2s linear infinite;
}
.path {
animation: loading-dash 1.5s ease-in-out infinite;
stroke-dasharray: 90, 150;
@ -272,20 +316,24 @@ const resetForm = () => {
transform: rotate(360deg);
}
}
@keyframes loading-dash {
0% {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 90, 150;
stroke-dashoffset: -40px;
}
100% {
stroke-dasharray: 90, 150;
stroke-dashoffset: -120px;
}
}
@keyframes custom-spin-move {
to {
opacity: 1;