diff --git a/website/db/enterprise_busi_model/enterprise_busi_model_node_device.py b/website/db/enterprise_busi_model/enterprise_busi_model_node_device.py
index 7e36229..56bd315 100644
--- a/website/db/enterprise_busi_model/enterprise_busi_model_node_device.py
+++ b/website/db/enterprise_busi_model/enterprise_busi_model_node_device.py
@@ -1,10 +1,10 @@
 # -*- coding: utf-8 -*-
 from typing import List
 
-from sqlalchemy import Column, Integer, String, DateTime, func
+from sqlalchemy import Column, Integer, String, DateTime, func, text
 from sqlalchemy.ext.declarative import declarative_base
 
-from website.db_mysql import get_session
+from website.db_mysql import get_session, to_json_list
 
 """
 CREATE TABLE `enterprise_busi_model_node_device` (
@@ -26,7 +26,7 @@ Base = declarative_base()
 
 
 class EnterpriseBusiModelNodeDevice(Base):
-    __tablename__ = 'enterprise_busi_model_node_device'
+    __tablename__ = "enterprise_busi_model_node_device"
 
     id = Column(Integer, primary_key=True)
     suid = Column(String(10))
@@ -37,7 +37,9 @@ class EnterpriseBusiModelNodeDevice(Base):
     busi_model_suid = Column(String(10))
     device_id = Column(Integer)
     device_suid = Column(String(10))
-    create_time = Column(DateTime, default=func.current_timestamp(), onupdate=func.current_timestamp())
+    create_time = Column(
+        DateTime, default=func.current_timestamp(), onupdate=func.current_timestamp()
+    )
 
     def __repr__(self):
         return f"EnterpriseBusiModelNodeDevice(id={self.id}, suid='{self.suid}')"
@@ -56,15 +58,24 @@ class EnterpriseBusiModelNodeDeviceRepository(object):
             session.bulk_insert_mappings(EnterpriseBusiModelNodeDevice, records)
             session.commit()
 
-
     def check_deployed(self, node_id: int, busi_model_id: int) -> int:
         with get_session() as session:
             count = (
                 session.query(EnterpriseBusiModelNodeDevice)
                 .filter(
-                    EnterpriseBusiModelNodeDevice.node_id==node_id, 
-                    EnterpriseBusiModelNodeDevice.busi_model_id==busi_model_id
+                    EnterpriseBusiModelNodeDevice.node_id == node_id,
+                    EnterpriseBusiModelNodeDevice.busi_model_id == busi_model_id,
                 )
                 .count()
             )
-            return 1 if count > 0 else 0
\ No newline at end of file
+            return 1 if count > 0 else 0
+
+    def get_device_id(self, node_id: int, busi_model_id: int) -> int | None:
+        with get_session() as session:
+            sql = text(
+                "select device_id from enterprise_busi_model_node_device where node_id=:node_id and busi_model_id=:busi_model_id"
+            )
+            res = session.execute(
+                sql, {"node_id": node_id, "busi_model_id": busi_model_id}
+            )
+            return to_json_list(res)
diff --git a/website/db/enterprise_device/enterprise_device.py b/website/db/enterprise_device/enterprise_device.py
index 81cb872..f017f69 100644
--- a/website/db/enterprise_device/enterprise_device.py
+++ b/website/db/enterprise_device/enterprise_device.py
@@ -46,7 +46,7 @@ CREATE TABLE `enterprise_device` (
 
 
 class EnterpriseDevice(Base):
-    __tablename__ = 'enterprise_device'
+    __tablename__ = "enterprise_device"
 
     id = Column(Integer, primary_key=True)
     suid = Column(String(length=10), default="")
@@ -80,21 +80,25 @@ class EnterpriseDeviceRepository(object):
         name = device["name"]
 
         with get_session() as session:
-            existing_device = session.query(EnterpriseDevice) \
-                .filter_by(node_id=node_id, name=name, delete=0) \
+            existing_device = (
+                session.query(EnterpriseDevice)
+                .filter_by(node_id=node_id, name=name, delete=0)
                 .first()
+            )
             if existing_device:
-                logging.error(f"Failed to add device: device with node_id={node_id} and name={name} already exists")
+                logging.error(
+                    f"Failed to add device: device with node_id={node_id} and name={name} already exists"
+                )
                 raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "设备已存在")
 
             new_device = EnterpriseDevice(**device)
             try:
                 # session.execute(
                 #     text(
-                #         """INSERT INTO enterprise_device 
-                #         (suid, entity_id, entity_suid, node_id, node_suid, classification, name, addr, device_model, param, comment) 
+                #         """INSERT INTO enterprise_device
+                #         (suid, entity_id, entity_suid, node_id, node_suid, classification, name, addr, device_model, param, comment)
                 #         values (:suid, :entity_id, :entity_suid, :node_id, :node_suid, :classification, :name, :addr, :device_model, :param, :comment)"""
-                #         ), 
+                #         ),
                 #     device)
                 session.add(new_device)
             except Exception as e:
@@ -107,7 +111,9 @@ class EnterpriseDeviceRepository(object):
         device_id = device["id"]
         with get_session() as session:
             try:
-                session.query(EnterpriseDevice).filter(EnterpriseDevice.id == device_id).update(device)
+                session.query(EnterpriseDevice).filter(
+                    EnterpriseDevice.id == device_id
+                ).update(device)
             except Exception as e:
                 logging.error("Failed to edit device")
                 raise e
@@ -117,7 +123,9 @@ class EnterpriseDeviceRepository(object):
     def delete_device(self, device_id):
         with get_session() as session:
             try:
-                session.query(EnterpriseDevice).filter(EnterpriseDevice.id == device_id).update({"delete": 1})
+                session.query(EnterpriseDevice).filter(
+                    EnterpriseDevice.id == device_id
+                ).update({"delete": 1})
             except Exception as e:
                 logging.error("Failed to delete device")
                 raise e
@@ -127,17 +135,32 @@ class EnterpriseDeviceRepository(object):
     def list_devices(self, node_id: int, pageNo: int, pageSize: int) -> dict:
         with get_session() as session:
             try:
-                total_count = session.query(EnterpriseDevice) \
-                    .filter(EnterpriseDevice.node_id == node_id, EnterpriseDevice.delete != 1) \
+                total_count = (
+                    session.query(EnterpriseDevice)
+                    .filter(
+                        EnterpriseDevice.node_id == node_id,
+                        EnterpriseDevice.delete != 1,
+                    )
                     .count()
-                devices = session.query(EnterpriseDevice,
-                                        DeviceClassification.name.label("classification_name")) \
-                    .join(DeviceClassification, EnterpriseDevice.classification == DeviceClassification.suid) \
-                    .filter(EnterpriseDevice.node_id == node_id, EnterpriseDevice.delete != 1) \
-                    .order_by(EnterpriseDevice.id.desc()) \
-                    .limit(pageSize) \
-                    .offset((pageNo - 1) * pageSize) \
+                )
+                devices = (
+                    session.query(
+                        EnterpriseDevice,
+                        DeviceClassification.name.label("classification_name"),
+                    )
+                    .join(
+                        DeviceClassification,
+                        EnterpriseDevice.classification == DeviceClassification.suid,
+                    )
+                    .filter(
+                        EnterpriseDevice.node_id == node_id,
+                        EnterpriseDevice.delete != 1,
+                    )
+                    .order_by(EnterpriseDevice.id.desc())
+                    .limit(pageSize)
+                    .offset((pageNo - 1) * pageSize)
                     .all()
+                )
             except Exception as e:
                 logging.error("Failed to list devices")
                 raise e
@@ -158,25 +181,26 @@ class EnterpriseDeviceRepository(object):
                     "param": device.param,
                     "comment": device.comment,
                     "delete": device.delete,
-                    "create_time": device.create_time.strftime('%Y-%m-%d %H:%M:%S'),
-                    "update_time": str(device.update_time)
+                    "create_time": device.create_time.strftime("%Y-%m-%d %H:%M:%S"),
+                    "update_time": str(device.update_time),
                 }
                 device_dicts.append(device_dict)
             # for row in devices:
             #     logging.info(row.name)
             logging.info(device_dicts)
 
-            return {
-                "devices": device_dicts,
-                "total_count": total_count
-            }
+            return {"devices": device_dicts, "total_count": total_count}
 
-        with get_session() as session:
     def get_device(self, device_id: int) -> dict:
+        with get_session() as session:
             try:
-                device = session.query(EnterpriseDevice) \
-                    .filter(EnterpriseDevice.id == device_id, EnterpriseDevice.delete != 1) \
+                device = (
+                    session.query(EnterpriseDevice)
+                    .filter(
+                        EnterpriseDevice.id == device_id, EnterpriseDevice.delete != 1
+                    )
                     .first()
+                )
             except Exception as e:
                 logging.error("Failed to get device")
                 raise e
@@ -189,7 +213,34 @@ class EnterpriseDeviceRepository(object):
                     "device_model": device.device_model,
                     "param": device.param,
                     "comment": device.comment,
-                    "classification": device.classification
+                    "classification": device.classification,
                 }
 
             return device_dict
+
+    def get_devices(self, device_ids: list) -> list:
+        with get_session() as session:
+            try:
+                devices = (
+                    session.query(EnterpriseDevice)
+                    .filter(
+                        EnterpriseDevice.id.in_(device_ids),
+                        EnterpriseDevice.delete != 1,
+                    )
+                    .all()
+                )
+            except Exception as e:
+                logging.error("Failed to get devices")
+                raise e
+            device_dicts = []
+            for device in devices:
+                device_dict = {
+                    "id": device.id,
+                    "name": device.name,
+                    "addr": device.addr,
+                    "device_model": device.device_model,
+                    "param": device.param,
+                    "comment": device.comment,
+                }
+                device_dicts.append(device_dict)
+            return device_dicts
diff --git a/website/handlers/enterprise_node/handler.py b/website/handlers/enterprise_node/handler.py
index 194fe8a..bd0be16 100644
--- a/website/handlers/enterprise_node/handler.py
+++ b/website/handlers/enterprise_node/handler.py
@@ -1,11 +1,13 @@
 # -*- coding: utf-8 -*-
-
+import json
 from website import errors
 from website.handler import APIHandler, authenticated
 from website.db.enterprise_entity import enterprise_entity as DB_Entity
 from website.db.enterprise_node import enterprise_node as DB_Node
 from website.db.enterprise_busi_model import enterprise_busi_model as DB_BusiModel
-from website.db.enterprise_busi_model import enterprise_busi_model_node_device as DB_BusiModelNodeDevice
+from website.db.enterprise_busi_model import (
+    enterprise_busi_model_node_device as DB_BusiModelNodeDevice,
+)
 from website.db.enterprise_device import enterprise_device as DB_Device
 from website.util import shortuuid
 
@@ -45,18 +47,20 @@ class AddHandler(APIHandler):
         entity_suid = db_entity.get_entity_suid(entity_id)
 
         db_node = DB_Node.EnterpriseNodeRepository()
-        db_node.insert_node({
-            "suid": shortuuid.ShortUUID().random(length=10),
-            "entity_id": entity_id,
-            "entity_suid": entity_suid,
-            "name": name,
-            "parent": parent,
-            "addr": addr,
-            "lola": lola,
-            "contact": contact,
-            "phone": phone,
-            "comment": comment
-        })
+        db_node.insert_node(
+            {
+                "suid": shortuuid.ShortUUID().random(length=10),
+                "entity_id": entity_id,
+                "entity_suid": entity_suid,
+                "name": name,
+                "parent": parent,
+                "addr": addr,
+                "lola": lola,
+                "contact": contact,
+                "phone": phone,
+                "comment": comment,
+            }
+        )
 
         self.finish()
 
@@ -92,16 +96,18 @@ class EditHandler(APIHandler):
             raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误")
 
         db_node = DB_Node.EnterpriseNodeRepository()
-        db_node.update_node({
-            "node_id": node_id,
-            "name": name,
-            "parent": parent,
-            "addr": addr,
-            "lola": lola,
-            "contact": contact,
-            "phone": phone,
-            "comment": comment
-        })
+        db_node.update_node(
+            {
+                "node_id": node_id,
+                "name": name,
+                "parent": parent,
+                "addr": addr,
+                "lola": lola,
+                "contact": contact,
+                "phone": phone,
+                "comment": comment,
+            }
+        )
 
         self.finish()
 
@@ -115,7 +121,7 @@ class TreeHandler(APIHandler):
     >- name, string, 搜索内容
     - 返回值:
     ```
-    {	
+    {
         "data":[
             {
                 "id": 123,
@@ -129,7 +135,7 @@ class TreeHandler(APIHandler):
                                 "id": 123,
                                 "name": "xxx"
                             },
-                            
+
                         ]
                     },
                     ...
@@ -137,7 +143,7 @@ class TreeHandler(APIHandler):
             },
             ...
         ]
-        
+
     }
     ```
     """
@@ -151,9 +157,7 @@ class TreeHandler(APIHandler):
 
         db_node = DB_Node.EnterpriseNodeRepository()
         nodes = db_node.select_tree(entity_id, name)
-        self.finish({
-            "data": nodes
-        })
+        self.finish({"data": nodes})
 
 
 class InfoHandler(APIHandler):
@@ -225,13 +229,14 @@ class BusimodelHandler(APIHandler):
         }
     ```
     """
+
     @authenticated
     def post(self):
-        node_id = self.get_int_argument('node_id')
-        pageNo = self.get_int_argument('pageNo', 1)
-        pageSize = self.get_int_argument('pageSize', 20)
+        node_id = self.get_int_argument("node_id")
+        pageNo = self.get_int_argument("pageNo", 1)
+        pageSize = self.get_int_argument("pageSize", 20)
         if not node_id:
-            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, '企业节点不能为空')
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "企业节点不能为空")
 
         db_model_node = DB_BusiModel.EnterpriseBusiModelNodeRepository()
 
@@ -240,15 +245,18 @@ class BusimodelHandler(APIHandler):
         count = busi_models["count"]
         models = busi_models["data"]
 
-        db_mode_node_device = DB_BusiModelNodeDevice.EnterpriseBusiModelNodeDeviceRepository()
+        db_mode_node_device = (
+            DB_BusiModelNodeDevice.EnterpriseBusiModelNodeDeviceRepository()
+        )
         for busi_model in models:
-            deployed = db_mode_node_device.check_deployed(node_id, busi_model["busi_model_id"])
+            deployed = db_mode_node_device.check_deployed(
+                node_id, busi_model["busi_model_id"]
+            )
             busi_model["deployed"] = deployed
 
         self.finish({"count": count, "data": models})
 
 
-
 class BusimodelInfoHandler(APIHandler):
     """
     - 描述:企业节点,业务模型部署 -> 业务模型信息
@@ -272,9 +280,42 @@ class BusimodelInfoHandler(APIHandler):
         }
     ```
     """
+
     @authenticated
     def post(self):
-        self.finish()
+        node_id = self.get_int_argument("node_id")
+        busi_model_id = self.get_int_argument("busi_model_id")
+
+        if not node_id or not busi_model_id:
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误")
+
+        db_busi_model = DB_BusiModel.EnterpriseBusiModelRepository()
+        busi_model = db_busi_model.get_busi_model_by_id(busi_model_id)
+        busi_model_name = busi_model.name
+        busi_model_comment = busi_model.comment
+        base_models = json.loads(busi_model.base_models)
+        base_model_names = ",".join([base_model["name"] for base_model in base_models])
+
+        db_mode_node_device = (
+            DB_BusiModelNodeDevice.EnterpriseBusiModelNodeDeviceRepository()
+        )
+        device_ids = db_mode_node_device.get_device_id(node_id, busi_model_id)
+        device_ids = list(set([item["device_id"] for item in device_ids]))
+        db_device = DB_Device.EnterpriseDeviceRepository()
+        devices = db_device.get_devices(device_ids)
+
+        devices_return = [
+            {"device_id": item["id"], "device_name": item["name"]} for item in devices
+        ]
+
+        self.finish(
+            {
+                "busi_model_name": busi_model_name,
+                "busi_model_comment": busi_model_comment,
+                "base_models": base_model_names,
+                "devices": devices_return,
+            }
+        )
 
 
 class BusimodelDeployHandler(APIHandler):
@@ -287,17 +328,18 @@ class BusimodelDeployHandler(APIHandler):
     > - device_ids, string, 设备id, 多个id逗号分割
     - 返回值:无
     """
+
     @authenticated
     def post(self):
-        node_id = self.get_int_argument('node_id')
-        busi_model_id = self.get_int_argument('busi_model_id')
-        device_ids = self.get_escaped_argument('device_ids', '')
+        node_id = self.get_int_argument("node_id")
+        busi_model_id = self.get_int_argument("busi_model_id")
+        device_ids = self.get_escaped_argument("device_ids", "")
         if not node_id or not busi_model_id:
-            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, '参数错误')
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误")
         db_node = DB_Node.EnterpriseNodeRepository()
         node = db_node.get_node_by_id(node_id)
         if not node:
-            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, '节点不存在')
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "节点不存在")
         node_suid = node["suid"]
 
         db_busi_model = DB_BusiModel.EnterpriseBusiModelRepository()
@@ -306,24 +348,28 @@ class BusimodelDeployHandler(APIHandler):
 
         entity_suid_row = db_node.get_entity_suid_by_node_id(node_id)
         if not entity_suid_row:
-            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, '企业节点不存在')
-        
+            raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "企业节点不存在")
+
         records = []
-        for device_id in device_ids.split(','):
+        for device_id in device_ids.split(","):
             device = DB_Device.EnterpriseDeviceRepository().get_device(int(device_id))
             if not device:
-                raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, '设备不存在')
-                
-            records.append({
-                "suid": shortuuid.ShortUUID.random(length=10),
-                "entity_suid": entity_suid_row["entity_suid"],
-                "node_id": node_id,
-                "node_suid": node_suid,
-                "busi_model_id": busi_model_id,
-                "busi_model_suid": busi_model_suid,
-                "device_id": int(device_id),
-                "device_suid": device["suid"]
-            })
-        DB_BusiModelNodeDevice.EnterpriseBusiModelNodeDeviceRepository().batch_insert_record(records)
-        
-        self.finish()
\ No newline at end of file
+                raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "设备不存在")
+
+            records.append(
+                {
+                    "suid": shortuuid.ShortUUID.random(length=10),
+                    "entity_suid": entity_suid_row["entity_suid"],
+                    "node_id": node_id,
+                    "node_suid": node_suid,
+                    "busi_model_id": busi_model_id,
+                    "busi_model_suid": busi_model_suid,
+                    "device_id": int(device_id),
+                    "device_suid": device["suid"],
+                }
+            )
+        DB_BusiModelNodeDevice.EnterpriseBusiModelNodeDeviceRepository().batch_insert_record(
+            records
+        )
+
+        self.finish()