| | |
| | | <template> |
| | | <div> |
| | | <Suspense> |
| | | <mainTable /> |
| | | <mainTable v-if="isMounted" /> |
| | | </Suspense> |
| | | </div> |
| | | </template> |
| | |
| | | import { EntityCustFunctionType } from '/@/api/tigerapi/model/basModel'; |
| | | import { isFunction } from 'xe-utils'; |
| | | import { useMessage } from '/@/hooks/web/useMessage'; |
| | | import { useLowCodeStore } from '/@/store/modules/lowcode'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { useMultipleTabStore } from '/@/store/modules/multipleTab'; |
| | | |
| | | const { notification, createMessage } = useMessage(); |
| | | const { getLocale } = useLocale(); |
| | | const { t } = useI18n(); |
| | | const tabStore = useMultipleTabStore(); |
| | | const route = useRoute(); |
| | | const { currentRoute } = useRouter(); |
| | | const go = useGo(); |
| | | function getCurrentTab() { |
| | | const route = unref(currentRoute); |
| | | return tabStore.getTabList.find((item) => item.fullPath === route.fullPath)!; |
| | | } |
| | | const currentTab = getCurrentTab(); |
| | | const useLowcode = useLowCodeStore(); |
| | | const objParams = ref(JSON.parse(decodeURI(route.params?.id as string))); |
| | | // 从sessionStorage中读取参数并转换回对象 |
| | | const _savedParams = sessionStorage.getItem(`${objParams.value.sName}_params`); |
| | | const savedParams = _savedParams ? ref(JSON.parse(decodeURI(_savedParams))) : ref({}); |
| | | const entityName = ref(objParams.value.ID); |
| | | const entityName = ref(objParams.value.EntityName); |
| | | const _columns = ref<any[]>([]); |
| | | const _searchFormSchema = ref<any[]>([]); |
| | | const _crudFormSchema = ref<any[]>([]); |
| | |
| | | BY_PROD: '', |
| | | BY_WH: '', |
| | | }); |
| | | |
| | | const keyFieldValues = ref<any>(null); |
| | | provide<Ref<any>>('objParams', objParams); |
| | | provide<Ref<any>>('savedParams', savedParams as any); |
| | |
| | | const [{ InitCrudFormSchema }] = isNullOrUnDef(custImport.value['default']) |
| | | ? EntityCustFunction.value |
| | | : custImport.value['default'](); |
| | | isMounted.value = true; |
| | | |
| | | //获取表单中插槽渲染的按钮点击弹出模态窗口的实例 |
| | | useModalData.value = GetUseModalData(objParams.value.ID); |
| | | const data = await getEntity({ |
| | | sqlcmd: "ASSEMBLY_NAME ='" + objParams.value.ID + "'", |
| | | sqlcmd: "CODE_NAME ='" + objParams.value.ID + "'", |
| | | entityName: 'SYS_LOW_CODE', |
| | | order: '', |
| | | }); |
| | | AuthOption.value.BY_ORG = data.Data.Items[0].BY_ORG; |
| | | AuthOption.value.BY_PROD = data.Data.Items[0].BY_PROD; |
| | | AuthOption.value.BY_WH = data.Data.Items[0].BY_WH; |
| | | var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); |
| | | const searchData = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); |
| | | var searchForms = isNullOrEmpty(searchData.search) ? searchData : searchData.fields; |
| | | let _isSearch = {} as {[key: string]: any}; |
| | | _isSearch[`${String(currentTab.name)}`] = isNullOrEmpty(searchData.search) ? true : searchData.search; |
| | | /* 保存是否查询表单,true-是查询条件表单,false-是展示输入表单 */ |
| | | useLowcode.setIsSearch(_isSearch); |
| | | |
| | | isMounted.value = true; |
| | | for (const i in searchForms) { |
| | | if ( |
| | | !isNullOrEmpty(searchForms[i].componentProps) && |
| | |
| | | ) { |
| | | searchForms[i].componentProps.api = GetEnum; |
| | | searchForms[i].componentProps.params.name = |
| | | `${objParams.value.ID}+${searchForms[i].field}s`; |
| | | `${objParams.value.EntityName}+${searchForms[i].field}s`; |
| | | searchForms[i].componentProps.labelField = unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name'; |
| | | searchForms[i].defaultValue = null; |
| | | } |
| | |
| | | var _cruds: any[] = []; |
| | | /* 如果有初始化增删改页面结构的方法,则进入 */ |
| | | if (InitCrudFormSchema && isFunction(InitCrudFormSchema)) { |
| | | _cruds = InitCrudFormSchema(objParams.value.ID); |
| | | _cruds = InitCrudFormSchema(objParams.value.EntityName); |
| | | } else { |
| | | /* 没有初始化增删改页面结构的方法时进入 */ |
| | | _cruds = JSON.parse(data.Data.Items[0].FORM_JSON); |
| | |
| | | _cruds[i].componentProps.api == 'GetEnum' |
| | | ) { |
| | | _cruds[i].componentProps.api = GetEnum; |
| | | _cruds[i].componentProps.params.name = `${objParams.value.ID}+${_cruds[i].field}s`; |
| | | _cruds[i].componentProps.params.name = `${objParams.value.EntityName}+${_cruds[i].field}s`; |
| | | _cruds[i].componentProps.labelField = unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name'; |
| | | _cruds[i].defaultValue = null; |
| | | } |
| | |
| | | _cruds[i].componentProps.api = uploadApi; |
| | | _cruds[i].componentProps.multiple = false; |
| | | _cruds[i].componentProps.maxNumber = 1; |
| | | _cruds[i].componentProps.uploadParams = { entityName: objParams.value.ID }; |
| | | _cruds[i].componentProps.uploadParams = { entityName: objParams.value.EntityName }; |
| | | _cruds[i].rules = [{ required: true, message: '请选择上传文件' }]; |
| | | } |
| | | if (_cruds[i].isexist == 'Y') { |
| | |
| | | obj.componentProps = ({ schema, tableAction, formActionType, formModel }) => { |
| | | return { |
| | | options: options, |
| | | onChange: (e) => custOnChange(e, onChange, objParams.value.ID), |
| | | onChange: (e) => custOnChange(e, onChange, objParams.value.EntityName), |
| | | }; |
| | | }; |
| | | } |