diff --git a/src/components/AdvancedSearchForm/index.vue b/src/components/AdvancedSearchForm/index.vue
new file mode 100644
index 0000000..dc93d45
--- /dev/null
+++ b/src/components/AdvancedSearchForm/index.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+ {{ advanced ? '收起' : '展开' }}
+
+
+
+
+
+
+
+
+
diff --git a/src/components/DynamicSearchForm/index.vue b/src/components/DynamicSearchForm/index.vue
deleted file mode 100644
index a9d0503..0000000
--- a/src/components/DynamicSearchForm/index.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
-
-
-
- 查询
- 重置
-
-
-
-
-
-
-
-
diff --git a/src/components/DynamicTable/index.vue b/src/components/DynamicTable/index.vue
deleted file mode 100644
index d9b6479..0000000
--- a/src/components/DynamicTable/index.vue
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ record[column.dataIndex] }}
-
-
-
- 编辑
- deleteRow(record[props.rowKey])">
- 删除
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Selector/lineSelectorPlus.vue b/src/components/Selector/lineSelectorPlus.vue
index 1b37a47..00a0a81 100644
--- a/src/components/Selector/lineSelectorPlus.vue
+++ b/src/components/Selector/lineSelectorPlus.vue
@@ -204,6 +204,7 @@
visible.value = true
nextTick(() => {
+ searchFormState.value.enabledState = 'ENABLE'
// 加载生产线分类
dynamicTreeRef.value.loadTreeData()
diff --git a/src/components/Table/index.vue b/src/components/Table/index.vue
index 001fd15..58a9602 100644
--- a/src/components/Table/index.vue
+++ b/src/components/Table/index.vue
@@ -337,6 +337,7 @@
// 刷新
const refresh = (bool = false) => {
+ console.log(123131)
bool &&
(data.localPagination = Object.assign(
{},
diff --git a/src/hook/useFormHandler.js b/src/hook/useFormHandler.js
index c1eda01..4880040 100644
--- a/src/hook/useFormHandler.js
+++ b/src/hook/useFormHandler.js
@@ -3,190 +3,154 @@ import { cloneDeep } from 'lodash-es'
import useTabs from '@/utils/useTabs'
import extendFieldApi from '@/api/base/extendfield/extendFieldApi'
-/**
- * 使用表单处理程序封装表单的提交、初始化和回退逻辑。
- * @param {Array} formItems 表单项配置,包含表单字段名、默认值等信息。
- * @param {Object} api 包含表单提交和获取详情方法的对象。
- * @param backRouter
- * @returns {Object} 返回包含表单数据、提交加载状态、表单引用、提交函数等的对象。
- */
export default function useFormHandler(formItems, api, backRouter) {
- // 初始化页面类型状态
const state = reactive({
PAGE_TYPE: ''
})
- let extendFormData = ref({})
- // 操作信息
- let inform = reactive({
+
+ const extendFormData = ref({})
+ const inform = reactive({
createUserName: '',
createTime: '',
updateUserName: '',
updateTime: ''
})
- // 初始化表单数据对象
- let formData = reactive({})
- // 初始化提交加载状态
+ const formData = reactive({})
const submitLoading = ref(false)
- // 初始化表单引用数组
const formRefs = ref([])
- // 使用vue-router的useRoute钩子获取当前路由信息
const route = useRoute()
- // 使用vue-router的useRouter钩子获取路由管理对象
const router = useRouter()
- /**
- * 根据表单项配置初始化表单数据。
- * @param {Array} formItems 表单项配置数组。
- * @param {Object} formData 初始化后的表单数据对象。
- */
- const initializeFormData = (formItems, formData) => {
+ // 初始化表单数据
+ const initializeFormData = () => {
formItems.forEach((item) => {
formData[item.name] = item.defaultValue || null
})
}
- /**
- * 处理表单提交逻辑。
- * @param {Object} params 提交时额外的参数配置,包含是否深度克隆formData的标志。
- */
- const onSubmit = async (params) => {
+ // 提交表单
+ const onSubmit = async (params = {}) => {
+ submitLoading.value = true
try {
- // 验证所有表单字段
- await Promise.all(formRefs.value.map((form) => form.validate()))
- submitLoading.value = true
+ await validateForms()
- // 根据参数配置决定是否深度克隆formData
- let formDataParam = params.isDeep ? cloneDeep(params) : formData
-
- // 安全地处理路由查询参数
- const safeId = validateAndCleanId(route.query.id)
+ const formDataParam = params.isDeep ? cloneDeep(params) : formData
+ const safeId = validateAndCleanId(route.query.id || params.id)
if (safeId) {
formDataParam.id = safeId
}
- // 调用api提交表单数据
- await api.submitForm(formDataParam, safeId)
- // 提交成功后返回上一页,并关闭当前标签页
- handleBack(backRouter)
+ const res = await api.submitForm(formDataParam, safeId)
+
+ if (params.isEnable) return res
+
+ handleBack()
} catch (error) {
- console.error('Validation error:', error)
+ console.error('Validation or submission error:', error)
+ throw error
} finally {
submitLoading.value = false
}
}
- /**
- * 校验并清洁ID,确保其安全使用。
- * @param {string} id 待校验的ID。
- * @returns {string|undefined} 校验通过后返回清洁的ID,否则返回undefined。
- */
+ // 验证表单
+ const validateForms = () => {
+ return Promise.all(formRefs.value.map((form) => form.validate()))
+ }
+
+ // 校验并清洁ID
const validateAndCleanId = (id) => {
- if (id && /^[a-zA-Z0-9\-_]+$/.test(id)) {
- return id
- }
- console.warn('Invalid ID:', id)
- return undefined
+ return id && /^[a-zA-Z0-9\-_]+$/.test(id) ? id : undefined
}
- /**
- * 处理返回操作,返回上一级页面并关闭当前标签页。
- */
- const handleBack = (routerPath) => {
- // useTabs.close(route)
- useTabs.close('', routerPath)
+ // 返回并关闭当前标签页
+ const handleBack = () => {
+ useTabs.close('', backRouter)
}
- /**
- * 根据页面类型加载表单数据。
- * @param {String} pageType 页面类型,用于区分新增和编辑等不同场景。
- * @returns {Promise