diff --git a/src/components/OperationalInformation/index.vue b/src/components/OperationalInformation/index.vue index 9903a9f..8750e81 100644 --- a/src/components/OperationalInformation/index.vue +++ b/src/components/OperationalInformation/index.vue @@ -59,6 +59,7 @@ watch( () => props.detailData, () => { + console.log(props.detailData, 'props.detailData') detailDataProps.value = props.detailData }, { diff --git a/src/hook/useFormHandler.js b/src/hook/useFormHandler.js index 474e2c9..8471f88 100644 --- a/src/hook/useFormHandler.js +++ b/src/hook/useFormHandler.js @@ -1,6 +1,7 @@ import { useRoute, useRouter } from 'vue-router' import { cloneDeep } from 'lodash-es' import useTabs from '@/utils/useTabs' +import extendFieldApi from '@/api/base/extendfield/extendFieldApi' /** * 使用表单处理程序封装表单的提交、初始化和回退逻辑。 @@ -13,7 +14,14 @@ export default function useFormHandler(formItems, api) { const state = reactive({ PAGE_TYPE: '' }) - let detailData = reactive({}) + let extendFormData = ref({}) + // 操作信息 + let inform = reactive({ + createUserName: '', + createTime: '', + updateUserName: '', + updateTime: '' + }) // 初始化表单数据对象 let formData = reactive({}) @@ -86,7 +94,7 @@ export default function useFormHandler(formItems, api) { */ const handleBack = () => { useTabs.close(route) - router.go(-1) // 优化为通用的返回上一页操作 + // router.push('/basicData/unit') // 优化为通用的返回上一页操作 } /** @@ -107,6 +115,17 @@ export default function useFormHandler(formItems, api) { } } + // 操作信息 + for (let key in inform) { + if (res[key] !== undefined) { + inform[key] = res[key] + } + } + + // 扩展字段 + if (res.extJson) { + extendFormData.value = JSON.parse(res.extJson) + } return res } catch (error) { console.error('API request failed:', error) @@ -114,12 +133,58 @@ export default function useFormHandler(formItems, api) { } } + /** + * 扩展字段。 + */ + const getExtendField = async (model) => { + let extendData = [] + // 字段扩展 + const resExtendField = await extendFieldApi.extendFieldTypeList({ + enabledState: 'ENABLE', + model + }) + + console.log(resExtendField, 'resExtendField') + + if (resExtendField) { + resExtendField.forEach((item) => { + const showValues = JSON.parse(item.showValues) + let options = [] + showValues.forEach((value) => { + options.push({ + value: value.name, + label: value.name + }) + }) + extendData.push({ + label: item.name, + name: item.fieldName, + type: item.showType, + span: 6, + attrs: { + placeholder: '请输入内容', + options + } + }) + }) + + extendData.forEach((item) => { + if (item.fieldName) extendFormData.value[item.fieldName] = null + }) + return extendData + } else { + return [] + } + } + // 返回包含各种处理函数和状态的对象 return { formData, submitLoading, formRefs, - detailData, + inform, + extendFormData, + getExtendField, onSubmit, handleBack, fetchData, diff --git a/src/layout/components/tags.vue b/src/layout/components/tags.vue index 16abe77..cc03329 100644 --- a/src/layout/components/tags.vue +++ b/src/layout/components/tags.vue @@ -110,7 +110,7 @@ activeKey.value = to.path if (to.name) { vStore.pushViewTags(to) - // kStore.pushKeepLive(to.name) + kStore.pushKeepLive(to.name) } if (tagList.value.length - 1 > maxTabs.value) { const firstTag = tagList.value[1] diff --git a/src/utils/useTabs.js b/src/utils/useTabs.js index a8f582e..f23bd47 100644 --- a/src/utils/useTabs.js +++ b/src/utils/useTabs.js @@ -31,12 +31,12 @@ export default { close(tag) { const route = tag || router.currentRoute.value const store = viewTagsStore() - console.log(route, 'route') store.removeViewTags(route) iframeStore().removeIframeList(route) keepAliveStore().removeKeepLive(route.name) const tagList = store.viewTags const latestView = tagList.slice(-1)[0] + console.log(latestView, 'route') if (latestView) { router.push(latestView) } else { diff --git a/src/views/basicData/brand/detail/index.vue b/src/views/basicData/brand/detail/index.vue index a36ef10..fc2a040 100644 --- a/src/views/basicData/brand/detail/index.vue +++ b/src/views/basicData/brand/detail/index.vue @@ -15,21 +15,24 @@ /> - + + + + + + + + + + + + diff --git a/src/views/basicData/client/detail/CustomerCategoryForm.vue b/src/views/basicData/client/detail/CustomerCategoryForm.vue index ddbc88f..6e1d2b1 100644 --- a/src/views/basicData/client/detail/CustomerCategoryForm.vue +++ b/src/views/basicData/client/detail/CustomerCategoryForm.vue @@ -42,6 +42,9 @@ + + +