From df105243684d09653aae2935d02eaf4e1b67de6b Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Wed, 20 Mar 2024 15:25:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E4=B9=9F=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/DesignForm/requestapi.ts | 8 + src/components/DesignForm/formControlAttr.vue | 91 ++++++++- src/components/DesignForm/pageList/types.ts | 56 ++++++ src/types/components.d.ts | 11 ++ .../lowcodepage/lowCodeFormPage.vue | 2 +- .../sysworkflow/lowcodepage/pageList.vue | 184 +++++++++++++++++- .../lowcodepage/pageListHeadTools.vue | 64 ++++++ 7 files changed, 407 insertions(+), 9 deletions(-) create mode 100644 src/components/DesignForm/pageList/types.ts create mode 100644 src/views/sysworkflow/lowcodepage/pageListHeadTools.vue diff --git a/src/api/DesignForm/requestapi.ts b/src/api/DesignForm/requestapi.ts index 12999c4e1..97bdfcc06 100644 --- a/src/api/DesignForm/requestapi.ts +++ b/src/api/DesignForm/requestapi.ts @@ -277,3 +277,11 @@ export function silentLogin(data?:any){ data: data }); } +//自定义表单分组列表 +export function customerFormGroupList(data?:any){ + return request({ + url: '/systemapi/customer_form/customerFormGroupList', + method: 'post', + data: data + }); +} diff --git a/src/components/DesignForm/formControlAttr.vue b/src/components/DesignForm/formControlAttr.vue index 1212eed6a..91b4ff083 100644 --- a/src/components/DesignForm/formControlAttr.vue +++ b/src/components/DesignForm/formControlAttr.vue @@ -12,7 +12,7 @@ import { formatNumber } from '@/api/DesignForm/utils' import { PublicAtrr } from '@/api/DesignForm/types' - import { chineseToPinyin } from '@/api/DesignForm/requestapi' + import { chineseToPinyin,customerFormGroupList } from '@/api/DesignForm/requestapi' //数学计算公式编辑器 @@ -1561,8 +1561,8 @@ const handleAvatarSuccess: UploadProps['onSuccess'] = ( response, uploadFile ) => { -// imageUrl.value = URL.createObjectURL(uploadFile.raw!) -formConfig.value.imageUrl = response.data.url + // imageUrl.value = URL.createObjectURL(uploadFile.raw!) + formConfig.value.imageUrl = response.data.url } const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => { @@ -1577,9 +1577,79 @@ const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => { return true } +const page = ref(1) +const pageSize = ref(200000) +const loadingmore = ref(false) +const loadingnomore = ref(false) +const formGroup = ref([]) +/** +@ 作者: 秦东 +@ 时间: 2024-03-19 08:38:27 +@ 功能: 获取表单分组 +*/ +const gainFormGroupList = () =>{ + loadingmore.value = true; + let sendInfo = { + page:page.value, + pagesize:pageSize.value, + state:1 + } + customerFormGroupList(sendInfo) + .then((data)=>{ + console.log("获取表单分组",data) + formGroup.value = data.data + }) + .finally(()=>{ + loadingmore.value = false; + }) +} +onMounted(() => { + gainFormGroupList() +}) +/** +@ 作者: 秦东 +@ 时间: 2024-03-19 09:17:51 +@ 功能: 控制下拉列表触底加载 +*/ +const handleVisibleChange = (visible: any) => { + if (visible) { + // 如果下拉框显示 + let selectDropdown: any = document.querySelector('.el-select-dropdown__wrap') + // 监听下拉框滚动事件 + selectDropdown.addEventListener('scroll', loadNextPage) + } else { + // 如果下拉框隐藏 + let selectDropdown: any = document.querySelector('.el-select-dropdown__wrap') + // 移除下拉框滚动事件监听 + selectDropdown.removeEventListener('scroll', loadNextPage) + } +} +const loadNextPage = () => { + let selectDropdown: any = document.querySelector('.el-select-dropdown__wrap'); + // 判断下拉框是否触底 + if (selectDropdown.scrollTop + selectDropdown.clientHeight >= selectDropdown.scrollHeight - 2) { + loadingnomore.value = false + loadingmore.value = true + if (selectoptions.value.length <= 20) { + setTimeout(() => { + selectoptions.value.push({ + label: String(selectoptions.value.length), + value: String(selectoptions.value.length), + } + ) + loadingmore.value = false - + }, 2000) + }else{ + loadingmore.value = false + selectDropdown.removeEventListener('scroll', loadNextPage) + loadingnomore.value = true + } + } else { + loadingnomore.value = true + } +}