From 458dd6178b917a304d7539aa30e8103e4362588e Mon Sep 17 00:00:00 2001
From: quxin <592870522@qq.com>
Date: 星期五, 04 九月 2026 10:38:09 +0800
Subject: [PATCH] 修改BUG: 1.仓储物流--生产仓库--生产领料:新增领料出库单时报错,提示"请求参数不正确:生产任务ID不能为空",导致无法新增。 2.仓储物流--生产仓库--生产领料:对新增到领料出库单进行拣货时,提示"提示:库存记录与提交的物料、批次或库位信息不一致"导致无法进行拣货

---
 src/views/im/home/composables/useMediaStreamElement.ts |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/src/views/im/home/composables/useMediaStreamElement.ts b/src/views/im/home/composables/useMediaStreamElement.ts
new file mode 100644
index 0000000..aa6ae09
--- /dev/null
+++ b/src/views/im/home/composables/useMediaStreamElement.ts
@@ -0,0 +1,40 @@
+import { type VNodeRef, watch } from 'vue'
+
+/**
+ * 鎶婂搷搴斿紡 MediaStream 鎸傚埌 `<video>` / `<audio>` 鍏冪礌鐨� srcObject 涓婏紱
+ * stream 涓虹┖鏃舵竻鎺� srcObject锛岄伩鍏嶈澶囧叧闂悗鐢婚潰鍗″湪鏈�鍚庝竴甯�
+ */
+export function useMediaStreamElement<T extends HTMLMediaElement>(
+  streamSource: () => MediaStream | null | undefined
+): VNodeRef {
+  let el: T | null = null
+  let currentStream: MediaStream | null | undefined
+
+  const syncStream = () => {
+    if (el) {
+      el.srcObject = currentStream || null
+    }
+  }
+
+  watch(
+    streamSource,
+    (stream) => {
+      currentStream = stream
+      syncStream()
+    },
+    { flush: 'post', immediate: true }
+  )
+
+  return (value) => {
+    if (value instanceof HTMLMediaElement) {
+      el = value as T
+      syncStream()
+      return
+    }
+
+    if (el) {
+      el.srcObject = null
+    }
+    el = null
+  }
+}

--
Gitblit v1.9.3