diff --git a/src/views/media/Device/Save/index.vue b/src/views/media/Device/Save/index.vue
index 4bc9b7e3..66a1aa77 100644
--- a/src/views/media/Device/Save/index.vue
+++ b/src/views/media/Device/Save/index.vue
@@ -91,11 +91,14 @@
v-model:value="formData.productId"
placeholder="请选择所属产品"
:disabled="!!route.query.id"
+ showSearch
+ @change="handleProductChange"
>
{{ item.name }}
@@ -344,6 +347,12 @@ const getProductList = async () => {
};
getProductList();
+const handleProductChange = () => {
+ formData.value.others.access_pwd =
+ productList.value.find((f: any) => f.id === formData.value.productId)
+ ?.configuration.access_pwd || '';
+};
+
/**
* 新增产品
*/
@@ -407,7 +416,7 @@ const handleSubmit = () => {
: await DeviceApi.update(params);
if (res?.success) {
message.success('保存成功');
- router.back();
+ history.back();
}
})
.catch((err: any) => {
diff --git a/src/views/media/Device/index.vue b/src/views/media/Device/index.vue
index 490736b0..566edde7 100644
--- a/src/views/media/Device/index.vue
+++ b/src/views/media/Device/index.vue
@@ -104,6 +104,9 @@
{{ providerType[slotProps.provider] }}
+
+ {{ getProductName(slotProps.productId) }}
+
@@ -405,4 +408,25 @@ const getActions = (
}
return acts;
};
+
+const productList = ref([]);
+const getProductList = () => {
+ DeviceApi.getProductList(
+ encodeQuery({
+ terms: {
+ messageProtocol$in: ['gb28181-2016', 'fixed-media'],
+ },
+ }),
+ ).then((resp: any) => {
+ productList.value = resp.result.map((pItem: any) => ({
+ label: pItem.name,
+ value: pItem.id,
+ }));
+ });
+};
+getProductList();
+
+const getProductName = (pid: string) => {
+ return productList.value.find((f: any) => f.value === pid)?.label;
+};
diff --git a/src/views/media/Device/typings.d.ts b/src/views/media/Device/typings.d.ts
index 436c9236..f0383199 100644
--- a/src/views/media/Device/typings.d.ts
+++ b/src/views/media/Device/typings.d.ts
@@ -23,6 +23,11 @@ export type DeviceItem = {
transport: string;
} & BaseItem;
+type configuration = {
+ access_pwd: string;
+ stream_mode: string;
+}
+
export type ProductType = {
accessId: string;
accessName: string;
@@ -42,6 +47,7 @@ export type ProductType = {
protocolName: string;
state: number;
transportProtocol: string;
+ configuration: configuration;
}