diff --git a/src/directive/resize/index.js b/src/directive/resize/index.js
new file mode 100644
index 00000000..e9fba176
--- /dev/null
+++ b/src/directive/resize/index.js
@@ -0,0 +1,16 @@
+import resize from './resize'
+
+const install = function (Vue) {
+ // 绑定v-adaptive指令
+ Vue.directive('resize', resize)
+}
+
+// if (window.Vue) {
+// window['adaptive'] = adaptive
+// // eslint-disable-next-line no-undef
+// Vue.use(install)
+// }
+
+resize.install = install
+
+export default resize
diff --git a/src/directive/resize/resize.js b/src/directive/resize/resize.js
new file mode 100644
index 00000000..bfd081f5
--- /dev/null
+++ b/src/directive/resize/resize.js
@@ -0,0 +1,19 @@
+const map = new WeakMap()
+const ob = new ResizeObserver(entries => {
+ for (const entry of entries) {
+ const handler = map.get(entry.target)
+ if (handler) {
+ const { inlineSize, blockSize } = entry.contentBoxSize[0]
+ handler({ width: inlineSize, height: blockSize })
+ }
+ }
+})
+export default {
+ bind(el, binding) {
+ map.set(el, binding.value)
+ ob.observe(el)
+ },
+ unbind(el) {
+ ob.unobserve(el)
+ }
+}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 4ca2d123..b19e486b 100644
--- a/src/main.js
+++ b/src/main.js
@@ -70,6 +70,9 @@ import FB from '@/components/feedBack/index'
Vue.use(FB)
import FBT from '@/components/feedBackTable/index'
Vue.use(FBT)
+import resize from '@/directive/resize/index'
+// 表格自适应指令
+Vue.use(resize)
import adaptive from '@/directive/adaptive/index'
// 表格自适应指令
Vue.use(adaptive)
diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue
index e2b385f0..f6ee5e5a 100644
--- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue
+++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue
@@ -309,7 +309,8 @@