From ec0d91353b767f089fa72f3cd1eb62568852710b Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 22 八月 2024 10:39:30 +0800
Subject: [PATCH] 工单管理增加取消下发功能

---
 src/views/form-design/components/VFormDesign/components/FormItemProps.vue |   97 +++++++++++++++---------------------------------
 1 files changed, 30 insertions(+), 67 deletions(-)

diff --git a/src/views/form-design/components/VFormDesign/components/FormItemProps.vue b/src/views/form-design/components/VFormDesign/components/FormItemProps.vue
index 2224625..6252e69 100644
--- a/src/views/form-design/components/VFormDesign/components/FormItemProps.vue
+++ b/src/views/form-design/components/VFormDesign/components/FormItemProps.vue
@@ -9,6 +9,7 @@
         <div v-for="item of baseFormItemProps" :key="item.name">
           <FormItem :label="item.label" v-if="showProps(item.exclude)">
             <component
+              v-if="item.component"
               class="component-props"
               v-bind="item.componentProps"
               :is="item.component"
@@ -19,6 +20,7 @@
         <div v-for="item of advanceFormItemProps" :key="item.name">
           <FormItem :label="item.label" v-if="showProps(item.exclude)">
             <component
+              v-if="item.component"
               class="component-props"
               v-bind="item.componentProps"
               :is="item.component"
@@ -28,6 +30,7 @@
         ><div v-for="item of advanceFormItemColProps" :key="item.name">
           <FormItem :label="item.label" v-if="showProps(item.exclude)">
             <component
+              v-if="item.component"
               class="component-props"
               v-bind="item.componentProps"
               :is="item.component"
@@ -61,8 +64,8 @@
     </div>
   </div>
 </template>
-<script lang="ts">
-  import { computed, defineComponent, watch } from 'vue';
+<script lang="ts" setup name="FormItemProps">
+  import { computed, watch } from 'vue';
   import {
     baseFormItemControlAttrs,
     baseFormItemProps,
@@ -70,76 +73,36 @@
     advanceFormItemColProps,
   } from '../../VFormDesign/config/formItemPropsConfig';
 
-  import {
-    Empty,
-    Input,
-    Form,
-    FormItem,
-    Switch,
-    Checkbox,
-    Select,
-    Slider,
-    Col,
-    RadioGroup,
-  } from 'ant-design-vue';
+  import { Empty, Input, Form, FormItem, Switch, Checkbox, Col } from 'ant-design-vue';
   import RuleProps from './RuleProps.vue';
   import { useFormDesignState } from '../../../hooks/useFormDesignState';
   import { isArray } from 'lodash-es';
 
-  export default defineComponent({
-    name: 'FormItemProps',
-    components: {
-      RuleProps,
-      Empty,
-      Input,
-      Form,
-      FormItem,
-      Switch,
-      Checkbox,
-      Select,
-      Slider,
-      Col,
-      RadioGroup,
+  const { formConfig } = useFormDesignState();
+
+  watch(
+    () => formConfig.value,
+    () => {
+      if (formConfig.value.currentItem) {
+        formConfig.value.currentItem.itemProps = formConfig.value.currentItem.itemProps || {};
+        formConfig.value.currentItem.itemProps.labelCol =
+          formConfig.value.currentItem.itemProps.labelCol || {};
+        formConfig.value.currentItem.itemProps.wrapperCol =
+          formConfig.value.currentItem.itemProps.wrapperCol || {};
+      }
     },
-    // props: {} as PropsOptions,
+    { deep: true, immediate: true },
+  );
+  const showProps = (exclude: string[] | undefined) => {
+    if (!exclude) {
+      return true;
+    }
+    return isArray(exclude) ? !exclude.includes(formConfig.value.currentItem!.component) : true;
+  };
 
-    setup() {
-      const { formConfig } = useFormDesignState();
-
-      watch(
-        () => formConfig.value,
-        () => {
-          if (formConfig.value.currentItem) {
-            formConfig.value.currentItem.itemProps = formConfig.value.currentItem.itemProps || {};
-            formConfig.value.currentItem.itemProps.labelCol =
-              formConfig.value.currentItem.itemProps.labelCol || {};
-            formConfig.value.currentItem.itemProps.wrapperCol =
-              formConfig.value.currentItem.itemProps.wrapperCol || {};
-          }
-        },
-        { deep: true, immediate: true },
-      );
-      const showProps = (exclude: string[] | undefined) => {
-        if (!exclude) {
-          return true;
-        }
-        return isArray(exclude) ? !exclude.includes(formConfig.value.currentItem!.component) : true;
-      };
-
-      const controlPropsList = computed(() => {
-        return baseFormItemControlAttrs.filter((item) => {
-          return showProps(item.exclude);
-        });
-      });
-
-      return {
-        baseFormItemProps,
-        advanceFormItemProps,
-        advanceFormItemColProps,
-        formConfig,
-        controlPropsList,
-        showProps,
-      };
-    },
+  const controlPropsList = computed(() => {
+    return baseFormItemControlAttrs.filter((item) => {
+      return showProps(item.exclude);
+    });
   });
 </script>

--
Gitblit v1.9.3