|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
<script setup lang="ts">
|
|
|
import router from '@/router'
|
|
|
import { ElMessage, ElMessageBox, type DialogProps } from 'element-plus'
|
|
|
-import type { AdvancedForm, BasicForm, ICRUD, FormSlot } from '@/types/form'
|
|
|
+import type { AdvancedForm, BasicForm, BasicFormItem, ICRUD, FormSlot } from '@/types/form'
|
|
|
import type { VXEComponent, VxeToolbarProps, VxeToolbarEventProps } from 'vxe-table'
|
|
|
import { buildFormSlots } from '@/utils/utils'
|
|
|
|
|
|
@@ -43,6 +43,13 @@ const slots = useSlots()
|
|
|
// ============== 查询部分开始 ===============
|
|
|
const query = ref<any>({})
|
|
|
const searchList = ref<any>([])
|
|
|
+// 构造搜索列表
|
|
|
+const buildSearchList = (item: BasicFormItem) => {
|
|
|
+ if (item.search) {
|
|
|
+ searchList.value.push(Object.assign({}, item, { props: { ...item.props, disabled: false } }))
|
|
|
+ }
|
|
|
+ item.children && item.children.forEach(buildSearchList)
|
|
|
+}
|
|
|
watch(
|
|
|
() => props.formConfig.formItems,
|
|
|
val => {
|
|
|
@@ -51,7 +58,7 @@ watch(
|
|
|
if (item.group) {
|
|
|
searchList.value = searchList.value.concat(item.group.filter((item: any) => item.search))
|
|
|
} else {
|
|
|
- item.search && searchList.value.push(item)
|
|
|
+ buildSearchList(item)
|
|
|
}
|
|
|
})
|
|
|
},
|