Browse Source

测试组件

hanchaobo 1 year ago
parent
commit
0326018db6
5 changed files with 1261 additions and 1186 deletions
  1. 2
    2
      package.json
  2. 47
    0
      src/flowableComponents/dbOutput/index.vue
  3. 20
    0
      src/flowableComponents/index.ts
  4. 2
    1
      src/main.js
  5. 1190
    1183
      src/views/test/index.vue

+ 2
- 2
package.json View File

@@ -16,12 +16,12 @@
16 16
   },
17 17
   "dependencies": {
18 18
     "@element-plus/icons-vue": "2.3.1",
19
-    "@qomo-platform/core": "^1.0.94",
19
+    "@qomo-platform/core": "^1.0.100",
20 20
     "@vueup/vue-quill": "1.2.0",
21 21
     "@vueuse/core": "10.6.1",
22 22
     "axios": "1.6.7",
23 23
     "echarts": "^5.5.0",
24
-    "element-plus": "2.4.3",
24
+    "element-plus": "2.7.3",
25 25
     "file-saver": "2.0.5",
26 26
     "js-cookie": "3.0.5",
27 27
     "jsencrypt": "3.3.2",

+ 47
- 0
src/flowableComponents/dbOutput/index.vue View File

@@ -0,0 +1,47 @@
1
+<script lang="tsx">
2
+import {
3
+  computed,
4
+  defineComponent,
5
+  ref,
6
+  onMounted,
7
+  watchEffect,
8
+  watch
9
+} from "vue";
10
+
11
+export default defineComponent({
12
+  name: "dbOutput",
13
+  props:{
14
+    nodeDetail:{
15
+      type:Object
16
+    }
17
+  },
18
+  setup(props, { attrs, expose, slots = {} }) {
19
+    const formInline = reactive({});
20
+
21
+    const submit = ()=>{
22
+      let param = formInline;
23
+     
24
+
25
+      return param
26
+    }
27
+
28
+    expose({
29
+      submit
30
+    })
31
+    return () => (
32
+      <el-form label-width="auto" v-model={formInline}>
33
+        <el-form-item label="Name">
34
+          <el-input v-model={formInline.name} />
35
+        </el-form-item>
36
+        <el-form-item label="Activity zone">
37
+          <el-input v-model={formInline.region} />
38
+        </el-form-item>
39
+        <el-form-item label="Activity form">
40
+          <el-input v-model={formInline.type} />
41
+        </el-form-item>
42
+      </el-form>
43
+    );
44
+  }
45
+});
46
+</script>
47
+<style scoped lang="scss"></style>

+ 20
- 0
src/flowableComponents/index.ts View File

@@ -0,0 +1,20 @@
1
+import { App, defineAsyncComponent } from "vue";
2
+import { getComponentNameByPath } from "@qomo-platform/core";
3
+
4
+//组件
5
+const components = Object.assign(
6
+  {},
7
+  import.meta.glob("/src/flowableComponents/**/*.(vue|tsx|jsx)")
8
+);
9
+
10
+const FlowableComponents = {
11
+  install(app: App) {
12
+    Object.entries(components).map(([componentPath, component]) =>
13
+      app.component(
14
+        getComponentNameByPath(componentPath),
15
+        defineAsyncComponent(component)
16
+      )
17
+    );
18
+  }
19
+};
20
+export default FlowableComponents;

+ 2
- 1
src/main.js View File

@@ -27,7 +27,7 @@ import {
27 27
 import "virtual:svg-icons-register";
28 28
 import usePermissionStore from "@/store/modules/permission";
29 29
 import "@/assets/styles/global.css";
30
-
30
+import FlowableComponents from "@/flowableComponents/index.ts"
31 31
 let app;
32 32
 
33 33
 function render(props = {}) {
@@ -47,6 +47,7 @@ function render(props = {}) {
47 47
       app.use(plugins);
48 48
 
49 49
       app.use(QomoPlatform, qomoPlatformOptions);
50
+      app.use(FlowableComponents);
50 51
       directive(app);
51 52
 
52 53
       // 使用element-plus 并且设置全局的大小

+ 1190
- 1183
src/views/test/index.vue
File diff suppressed because it is too large
View File