From 6652b5edde278e9a8d31640473ff0e3e4a261268 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 03 5月 2025 17:41:12 +0800
Subject: [PATCH] 22
---
HIAWms/web/src/libs/Hook/Hook.ts | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/HIAWms/web/src/libs/Hook/Hook.ts b/HIAWms/web/src/libs/Hook/Hook.ts
new file mode 100644
index 0000000..7d59138
--- /dev/null
+++ b/HIAWms/web/src/libs/Hook/Hook.ts
@@ -0,0 +1,58 @@
+import { get, isNil } from 'lodash'
+import { defineEmits, PropType, computed, Ref } from 'vue'
+import sdk from 'sdk'
+
+export const useHook = (props: any, emit: any) => {
+ /**
+ * 鍒涘缓璁$畻灞炴�э紝鐩戝惉cms缁勪欢鐨刾rops鍙樺寲
+ * @param key 灞炴�ey
+ * @returns
+ */
+ const createComputed = <T>(key: string, defaultValue?: any): Ref<T> => {
+ return computed({
+ get() {
+ const v = isNil(props[key]) ? defaultValue : props[key]
+ return v
+ },
+ set(v) {
+ emit('update', { [key]: v })
+ },
+ })
+ }
+ /**
+ * 鑾峰彇璁$畻灞炴�э紝鐩戝惉cms缁勪欢鐨刾rops鍙樺寲
+ * @param key 灞炴�ey
+ * @returns
+ */
+ const getComputedProp = <T>(key: string, defaultValue?: any): Ref<T> => {
+ return computed(() => {
+ return get(
+ props,
+ `node.props.${key}`,
+ !isNil(defaultValue) ? defaultValue : ''
+ )
+ })
+ }
+
+ /**
+ * 鑾峰彇缁勪欢list
+ */
+ const widgetList = computed<any[]>(() => {
+ return get(window.app, 'current.project.current.page.body.children', [])
+ })
+
+ const getVariable = () => get(sdk, 'models.Variable')
+
+ const Variable = getVariable()
+
+ const VariableStore = Variable.store
+
+ return {
+ widgetList,
+ Variable,
+ VariableStore,
+ getVariable,
+ createComputed,
+ getComputedProp,
+ }
+}
--
Gitblit v1.9.3