|
|
@@ -75,8 +75,7 @@
|
|
|
v-model="cameraNVRData.workspaceIdStr"
|
|
|
:data="workspaceInfo"
|
|
|
:render-after-expand="false"
|
|
|
- :default-expand-all="props.formData ? true : false"
|
|
|
- check-strictly
|
|
|
+ :default-expand-all="true"
|
|
|
placeholder="请选择工位"
|
|
|
style="width: 200px"
|
|
|
@node-click="handleTreeSelect"
|
|
|
@@ -152,19 +151,28 @@
|
|
|
type CameraDetailForm = CameraDetailServer & { workspaceIdStr?: string };
|
|
|
const cameraNVRData = ref<CameraDetailForm>({} as CameraDetailForm);
|
|
|
|
|
|
+ const validateSceneTemplate = (_rule, value, callback) => {
|
|
|
+ if (Object.keys(sceneCheckedDataRef.value).length === 0)
|
|
|
+ callback(new Error('请至少选择一个业务场景及对应应用模版'));
|
|
|
+ else if (value && Object.keys(sceneCheckedDataRef.value).length > value.length)
|
|
|
+ callback(new Error('请完成已选业务场景中的应用模版选择'));
|
|
|
+ };
|
|
|
+
|
|
|
const rules = {
|
|
|
nvrId: [{ required: true, message: '请选择NVR设备', trigger: 'blur' }],
|
|
|
name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
|
|
|
code: [{ required: true, message: '请输入设备ID', trigger: 'blur' }],
|
|
|
nvrChannel: [{ required: true, message: '请输入NVR平台通道号', trigger: 'blur' }],
|
|
|
- sceneTemplateList: [{ required: true, message: '请选择至少一个业务场景', trigger: 'blur' }],
|
|
|
+ sceneTemplateList: [{ required: true, validator: validateSceneTemplate, trigger: 'blur' }],
|
|
|
workspaceIdStr: [{ required: true, message: '请选择工位', trigger: 'blur' }],
|
|
|
cameraType: [{ required: true, message: '请选择协议类型', trigger: 'blur' }],
|
|
|
videoStandard: [{ required: true, message: '请选择视频编码标准', trigger: 'blur' }],
|
|
|
};
|
|
|
|
|
|
- const handleUpdateSceneTemplateList = (data) => {
|
|
|
- cameraNVRData.value.sceneTemplateList = data;
|
|
|
+ const sceneCheckedDataRef = ref([]);
|
|
|
+ const handleUpdateSceneTemplateList = (sceneTemplateData, sceneCheckedData) => {
|
|
|
+ sceneCheckedDataRef.value = sceneCheckedData;
|
|
|
+ cameraNVRData.value.sceneTemplateList = sceneTemplateData;
|
|
|
};
|
|
|
|
|
|
const handleCancel = () => {
|