diff --git a/README.md b/README.md index 144d075dc0d0704221201b4199812df3215834bb..0a21a1f622895ff7fb3a7f9b9da55491927d4098 100644 --- a/README.md +++ b/README.md @@ -85,10 +85,29 @@ pnpm build:prod - + + + + + + + + + + + + + + + + + + + + ## 目录结构 diff --git a/index.html b/index.html index 0daeaff492556f43ce5127d68f67954fc9dc7abd..ff172e14bfe291a184199763d658c2f3c746ad49 100644 --- a/index.html +++ b/index.html @@ -1,21 +1,28 @@ - + + + + + + - - - - - - - 若依管理系统 - + + + - - - -
-
- - + 若依管理系统 + + + +
+ + diff --git a/package.json b/package.json index b3afef3ec456dde9c5493aa1fbf464c5582680e2..ea5308f26952458acde78a533265bd1be9310517 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "axios": "0.27.2", "dayjs": "^1.11.10", "echarts": "5.4.0", - "element-plus": "^2.9.0", + "element-plus": "^2.9.1", "file-saver": "2.0.5", "highlight.js": "^11.9.0", "js-cookie": "3.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f15be36729c62f14d8b42a3521b2ac4270eb4819..da59ee8ce0fbe0d88287c75027bffd101d91a243 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ dependencies: specifier: 5.4.0 version: 5.4.0 element-plus: - specifier: ^2.8.7 - version: 2.8.7(vue@3.5.12) + specifier: ^2.9.1 + version: 2.9.1(vue@3.5.12) file-saver: specifier: 2.0.5 version: 2.0.5 @@ -744,6 +744,7 @@ packages: resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} cpu: [arm] os: [linux] + libc: [glibc] requiresBuild: true optional: true @@ -751,6 +752,7 @@ packages: resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} cpu: [arm] os: [linux] + libc: [musl] requiresBuild: true optional: true @@ -758,6 +760,7 @@ packages: resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} cpu: [arm64] os: [linux] + libc: [glibc] requiresBuild: true optional: true @@ -765,6 +768,7 @@ packages: resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} cpu: [arm64] os: [linux] + libc: [musl] requiresBuild: true optional: true @@ -772,6 +776,7 @@ packages: resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} cpu: [ppc64] os: [linux] + libc: [glibc] requiresBuild: true optional: true @@ -779,6 +784,7 @@ packages: resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} cpu: [riscv64] os: [linux] + libc: [glibc] requiresBuild: true optional: true @@ -786,6 +792,7 @@ packages: resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} cpu: [s390x] os: [linux] + libc: [glibc] requiresBuild: true optional: true @@ -793,6 +800,7 @@ packages: resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} cpu: [x64] os: [linux] + libc: [glibc] requiresBuild: true optional: true @@ -800,6 +808,7 @@ packages: resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} cpu: [x64] os: [linux] + libc: [musl] requiresBuild: true optional: true @@ -1637,8 +1646,8 @@ packages: resolution: {integrity: sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==} dev: false - /element-plus@2.8.7(vue@3.5.12): - resolution: {integrity: sha512-oGQyFRufFOgjd872tZc+T4xQAYLlX4hj6d3ixeY13L4fFNUuc1N49JHAqJGPda0tdx3qCnjceZoh1kqqj2+tXQ==} + /element-plus@2.9.1(vue@3.5.12): + resolution: {integrity: sha512-9Agqf/jt4Ugk7EZ6C5LME71sgkvauPCsnvJN12Xid2XVobjufxMGpRE4L7pS4luJMOmFAH3J0NgYEGZT5r+NDg==} peerDependencies: vue: ^3.2.0 dependencies: diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..1483b4c9718c025f09b7dfebf2fb6f32a47b13d2 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,31 @@ +{ + "name": "若依管理系统", + "short_name": "若依", + "description": "若依管理系统", + "background_color": "#fff", + "display": "standalone", + "orientation": "portrait", + "start_url": "/", + "icons": [ + { + "src": "/vite.png", + "sizes": "96x96", + "type": "image/png" + }, + { + "src": "/vite.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "/vite.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/vite.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/public/vite.png b/public/vite.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c72de27dd5e7e21937e7e372a88303baa7aed7 Binary files /dev/null and b/public/vite.png differ diff --git a/readMeImg/pic21.png b/readMeImg/pic21.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe74f2bb494632972f1d1f89c5091de2e370870 Binary files /dev/null and b/readMeImg/pic21.png differ diff --git a/readMeImg/pic22.png b/readMeImg/pic22.png new file mode 100644 index 0000000000000000000000000000000000000000..9ad76ecd1f7142615a5186a716c322662586ba11 Binary files /dev/null and b/readMeImg/pic22.png differ diff --git a/readMeImg/pic23.png b/readMeImg/pic23.png new file mode 100644 index 0000000000000000000000000000000000000000..0848cb71a36623402c8ccd38a811d61c44816ca7 Binary files /dev/null and b/readMeImg/pic23.png differ diff --git a/readMeImg/pic24.png b/readMeImg/pic24.png new file mode 100644 index 0000000000000000000000000000000000000000..fbcc4b63ec376f3f332d498a1587214b2fb16697 Binary files /dev/null and b/readMeImg/pic24.png differ diff --git a/readMeImg/pic25.png b/readMeImg/pic25.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb75acae63967d63a2b97e2acfd004bd04c173d Binary files /dev/null and b/readMeImg/pic25.png differ diff --git a/readMeImg/pic26.png b/readMeImg/pic26.png new file mode 100644 index 0000000000000000000000000000000000000000..70a70b4990f81157ec3eaf1c721f3ad0bd780eaf Binary files /dev/null and b/readMeImg/pic26.png differ diff --git a/readMeImg/pic27.png b/readMeImg/pic27.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec77de1d41b42f359ea259537fe33acd4388c62 Binary files /dev/null and b/readMeImg/pic27.png differ diff --git a/readMeImg/pic28.png b/readMeImg/pic28.png new file mode 100644 index 0000000000000000000000000000000000000000..4b25f07d76e83964e0839fe2ff71defae09307df Binary files /dev/null and b/readMeImg/pic28.png differ diff --git a/readMeImg/pic29.png b/readMeImg/pic29.png new file mode 100644 index 0000000000000000000000000000000000000000..2c93a83a45cba194b98236210c5d22c0e7708693 Binary files /dev/null and b/readMeImg/pic29.png differ diff --git a/readMeImg/pic30.png b/readMeImg/pic30.png new file mode 100644 index 0000000000000000000000000000000000000000..c965572881bdf97df20c3fadb42eecba1e69d0d2 Binary files /dev/null and b/readMeImg/pic30.png differ diff --git a/src/BaseComponent/BaseForm/src/cpn/src/Datepicker/Datepicker.vue b/src/BaseComponent/BaseForm/src/cpn/src/Datepicker/Datepicker.vue index 34fef60a7350cc30bfbc1131ae8eec7a63da0c27..29abc2e0c206ee958a780fea4a11756e1ab8a1c3 100644 --- a/src/BaseComponent/BaseForm/src/cpn/src/Datepicker/Datepicker.vue +++ b/src/BaseComponent/BaseForm/src/cpn/src/Datepicker/Datepicker.vue @@ -26,6 +26,7 @@ defineExpose({ :placeholder="'请选择' + item.label" v-model="value" valueFormat="YYYY-MM-DD" + :editable="false" v-bind="item.config" v-on="item.eventFunction || {}" > diff --git a/src/BaseComponent/BaseTable/index.js b/src/BaseComponent/BaseTable/index.js index 707f12e2526dd7aa6743ee83c05ce6ff6fa3d521..80b20b9b965e67d0d44924e8c93264ab5a166c82 100644 --- a/src/BaseComponent/BaseTable/index.js +++ b/src/BaseComponent/BaseTable/index.js @@ -1,2 +1,4 @@ import Table from './src/Table.vue' +import MoblieTable from './src/MoblieTable.vue' export default Table +export { MoblieTable } diff --git a/src/BaseComponent/BaseTable/src/MoblieTable.vue b/src/BaseComponent/BaseTable/src/MoblieTable.vue new file mode 100644 index 0000000000000000000000000000000000000000..c500c16ccf4902e6ffa96def516c1448a8e60e1b --- /dev/null +++ b/src/BaseComponent/BaseTable/src/MoblieTable.vue @@ -0,0 +1,402 @@ + + + + diff --git a/src/BaseComponent/BaseTable/src/Table.vue b/src/BaseComponent/BaseTable/src/Table.vue index 956146c365be74438eca2cd9156219cc112840ea..9881af1a4a7b181e078ffa909cfa369a7b202d48 100644 --- a/src/BaseComponent/BaseTable/src/Table.vue +++ b/src/BaseComponent/BaseTable/src/Table.vue @@ -250,7 +250,7 @@ defineExpose({ :page-sizes="[20, 50, 100, 200, 300]" :layout="paginationLayoutComputed" :total="listCount" - :pager-count="isSmall ? 3 : 7" + :pager-count="isSmall ? 5 : 7" background > diff --git a/src/assets/css/app.scss b/src/assets/css/app.scss index e13f0742e3a807c7d764b8424248f80dfbe27116..c6555bb69208c0c4db1ee97b27fdd8469822d1b5 100644 --- a/src/assets/css/app.scss +++ b/src/assets/css/app.scss @@ -212,3 +212,11 @@ a { .lmw_popper { max-width: 600px; } +.mobileFooter { + border-top: 1px solid var(--el-border-color); + background-color: var(--ba-bg-color-overlay); +} + +.overlayColor { + background: var(--ba-bg-color-overlay); +} diff --git a/src/assets/css/element.scss b/src/assets/css/element.scss index 286e459740e37aca3717cc0ce19e1c9e2b3ae6a8..aef6ea4be533f7aa509357192c723d40ed50f788 100644 --- a/src/assets/css/element.scss +++ b/src/assets/css/element.scss @@ -105,3 +105,28 @@ white-space: nowrap; } } +/** 移动端展示 **/ +@media screen and (max-width: 500px) { + .el-picker-panel { + width: 300px !important; + } + .el-picker-panel__content { + width: 100%; + } + .el-picker-panel__body { + height: 330px; + margin-left: 0 !important; + display: flex; + flex-direction: column; + min-width: auto !important; + overflow-y: scroll; + } + .el-picker-panel__sidebar { + position: relative; + } + .el-picker-panel__body-wrapper { + display: flex; + flex-direction: column; + align-items: center; + } +} diff --git a/src/assets/icons/svg/chevron-down.svg b/src/assets/icons/svg/chevron-down.svg new file mode 100644 index 0000000000000000000000000000000000000000..2984e74bdcfa930d79e776ffdb7c985d8c4fb673 --- /dev/null +++ b/src/assets/icons/svg/chevron-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/chevron-up.svg b/src/assets/icons/svg/chevron-up.svg new file mode 100644 index 0000000000000000000000000000000000000000..1209cd3786fb17102d87e64f95ace017b67eb859 --- /dev/null +++ b/src/assets/icons/svg/chevron-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/desktop.svg b/src/assets/icons/svg/desktop.svg new file mode 100644 index 0000000000000000000000000000000000000000..106cda5c8333464251ef870469624e0df1eb9de5 --- /dev/null +++ b/src/assets/icons/svg/desktop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/mobile-screen.svg b/src/assets/icons/svg/mobile-screen.svg new file mode 100644 index 0000000000000000000000000000000000000000..9aa48803defd871a63b284db414c453defc6e350 --- /dev/null +++ b/src/assets/icons/svg/mobile-screen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/sync-alt.svg b/src/assets/icons/svg/sync-alt.svg new file mode 100644 index 0000000000000000000000000000000000000000..fffda490dce12e16352611f97bcb34c09a479df1 --- /dev/null +++ b/src/assets/icons/svg/sync-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/HsjComponent/pageContent/index.js b/src/components/HsjComponent/pageContent/index.js index 25a42c014f372b9be9f2ee0bf70f07009e4a218d..169f841f6c62dd750c8c9a3b2c03a1991c0b40e8 100644 --- a/src/components/HsjComponent/pageContent/index.js +++ b/src/components/HsjComponent/pageContent/index.js @@ -1,3 +1,5 @@ +import Content from './src/index.vue' import PageContent from './src/PageContent.vue' -export default PageContent +export default Content +export { PageContent } diff --git a/src/components/HsjComponent/pageContent/src/InfoDialog.vue b/src/components/HsjComponent/pageContent/src/InfoDialog.vue new file mode 100644 index 0000000000000000000000000000000000000000..7db1d629e0a4c54a8a5dc55c8e065e33debdfe33 --- /dev/null +++ b/src/components/HsjComponent/pageContent/src/InfoDialog.vue @@ -0,0 +1,68 @@ + + + + diff --git a/src/components/HsjComponent/pageContent/src/MobileContent.vue b/src/components/HsjComponent/pageContent/src/MobileContent.vue new file mode 100644 index 0000000000000000000000000000000000000000..4e1d9c20e392d9db6a13b1c85ec41d05ca26445c --- /dev/null +++ b/src/components/HsjComponent/pageContent/src/MobileContent.vue @@ -0,0 +1,559 @@ + + + + + diff --git a/src/components/HsjComponent/pageContent/src/PageContent.vue b/src/components/HsjComponent/pageContent/src/PageContent.vue index dbe49e3f5a2bda1b12441479ff63a8aeaa71f456..4b9bfa09c021a9eb67662e6ad5b6e3f7b317ecb5 100644 --- a/src/components/HsjComponent/pageContent/src/PageContent.vue +++ b/src/components/HsjComponent/pageContent/src/PageContent.vue @@ -9,6 +9,7 @@ import { interceptor } from '@/store/business/businessStore' import useStorage from '@/utils/hsj/useStorage' import { antiShake } from '@/utils/hsj/utils' import { VueDraggable } from 'vue-draggable-plus' +import { collectObjectsWithSlotName, hasSlot } from './utils' const props = defineProps({ // table的配置 contentConfig: { @@ -288,26 +289,11 @@ const addClick = () => { // 其他的插槽 const exceptSlot = ['todo'] -// 用于收集contentConfig的所有插槽名称 -const collectObjectsWithSlotName = (data, collectedObjects = []) => { - if (Array.isArray(data)) { - // 如果当前层级是数组 - data.forEach((item) => { - collectObjectsWithSlotName(item, collectedObjects) - }) - } else if (typeof data === 'object' && data !== null) { - // 如果当前层级是对象 - if ('slotName' in data && !exceptSlot.includes(data.slotName)) { - collectedObjects.push(data) // 当前对象有 slotName 属性,将其加入结果数组 - } - Object.values(data).forEach((value) => { - collectObjectsWithSlotName(value, collectedObjects) - }) - } - return collectedObjects -} // 所有插槽名称 -let otherSlot = collectObjectsWithSlotName(props.contentConfig?.tableItem) +let otherSlot = collectObjectsWithSlotName( + props.contentConfig?.tableItem, + exceptSlot +) // 排序发生变化触发的函数 const sortChange = (shortData) => { const { order, prop } = shortData @@ -471,10 +457,6 @@ const triggerShowSearch = () => { const editMoreClick = () => { emit('editMoreClick') } -// 用于判断父组件使用是否有某插槽 -const hasSlot = (slots, arr) => { - return arr.some((key) => slots.hasOwnProperty(key)) -} const columnsFilter = () => { // 列的权限判断 @@ -766,19 +748,17 @@ defineExpose({ confirmButtonType="danger" :hide-after="0" @confirm="deleteRow(backData)" - v-if="hasPermi(permission.del)" + v-if=" + hasPermi(permission.del) && + showDelete && + handleDeleteShow(backData) + " > diff --git a/src/components/HsjComponent/pageContent/src/index.vue b/src/components/HsjComponent/pageContent/src/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..7052c793703d9bd4cec3cd51068926a243e411e4 --- /dev/null +++ b/src/components/HsjComponent/pageContent/src/index.vue @@ -0,0 +1,70 @@ + + + + diff --git a/src/components/HsjComponent/pageContent/src/utils.js b/src/components/HsjComponent/pageContent/src/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..cdbb0b58b0602b26e07786a3af08e3306d64bacf --- /dev/null +++ b/src/components/HsjComponent/pageContent/src/utils.js @@ -0,0 +1,27 @@ +// 用于收集contentConfig的所有插槽名称 +export const collectObjectsWithSlotName = (data, exceptSlot = []) => { + const collectedObjects = [] + function collect(data, exceptSlot = []) { + if (Array.isArray(data)) { + // 如果当前层级是数组 + data.forEach((item) => { + collect(item, exceptSlot) + }) + } else if (typeof data === 'object' && data !== null) { + // 如果当前层级是对象 + if ('slotName' in data && !exceptSlot.includes(data.slotName)) { + collectedObjects.push(data) // 当前对象有 slotName 属性,将其加入结果数组 + } + Object.values(data).forEach((value) => { + collect(value, exceptSlot) + }) + } + } + collect(data, exceptSlot) + return collectedObjects +} + +// 用于判断父组件使用是否有某插槽 +export const hasSlot = (slots, arr) => { + return arr.some((key) => slots.hasOwnProperty(key)) +} diff --git a/src/components/HsjComponent/pageDialog/src/PageDialog.vue b/src/components/HsjComponent/pageDialog/src/PageDialog.vue index 632ebacb70f847c43b8eefc3474b4a586b2033bc..9c0198a7b6fa4242f67fce20260a8b8ca070301c 100644 --- a/src/components/HsjComponent/pageDialog/src/PageDialog.vue +++ b/src/components/HsjComponent/pageDialog/src/PageDialog.vue @@ -223,6 +223,7 @@ defineExpose({ > +import BaseForm from '@/BaseComponent/BaseForm' +import emitter from '@/utils/hsj/bus' +import businessStore from '@/store/business/businessStore' + +const props = defineProps({ + searchConfig: { + type: Object, + default: () => {}, + }, + // 初始化form的搜索的值 + initSearch: { + type: Object, + default: () => {}, + }, + // 页面名称与PageContent和PageDialog的一致,每个页面必须唯一 + pageName: { + type: String, + required: true, + }, + // 除form表单外的其他搜索条件 + otherRequestOption: { + type: Object, + default: () => {}, + }, + // 是否显示检索和重置按钮 + showSearch: { + type: Boolean, + default: true, + }, + // 自定义重置函数 + reset: { + type: Function, + }, + // 当页面会存在打开多个的时候会出现缓存问题,可以用这个区分缓存 + cacheKey: { + type: [String, Number], + default: '', + }, +}) +const pageSearchRef = ref(null) +const baseFormRef = ref(null) +const searchLoading = ref(false) +const formItem = props.searchConfig?.formItems ?? [] +const store = businessStore() +const hideItems = ref([]) +let formData = ref({}) +const search = (isReset = false) => { + searchLoading.value = true + emitter.emit(`search${props.pageName}Info`, { + ...formData.value, + ...props.otherRequestOption, + searchLoading, + resetPaginationInfo: typeof isReset === 'boolean' ? isReset : false, + }) +} +const reset = (isReset) => { + // 判断是否传入自定义的重置函数 + if (props.reset) { + props.reset() + } else { + baseFormRef.value?.elFormRef?.resetFields() + search(isReset) + } +} + +const keyUpEnter = () => { + search() +} + +const setFormData = (key, value) => { + formData.value[key] = value +} +// 监听dom尺寸变化 +const resizeObserver = new ResizeObserver((entries) => { + for (let entry of entries) { + // 获取目标元素的新尺寸 + const newHeight = entry.target.getBoundingClientRect().height + emitter.emit(`change${props.pageName}Size`, newHeight) + } +}) + +const isOpen = computed(() => { + return store.pageSearchControl[`${props.pageName}${props.cacheKey}SearchShow`] +}) +const triggerSearch = () => { + store.handlePageSearch(props.pageName, props.cacheKey) + if (!isOpen.value) { + const formItems = props.searchConfig.formItems + hideItems.value = formItems + .filter((item, index) => index !== 0) + .map((item) => item.field) + } else { + hideItems.value = [] + } +} +onMounted(() => { + for (const item of formItem) { + formData.value[item.field] = item.default ?? void 0 + } + for (const key in props.initSearch) { + formData.value[key] = props.initSearch[key] + } + resizeObserver.observe(pageSearchRef.value) +}) +const getFormData = () => { + return formData.value +} +defineExpose({ + getFormData, + search, + setFormData, +}) + + + + + diff --git a/src/components/HsjComponent/pageSearch/src/PageSearch.vue b/src/components/HsjComponent/pageSearch/src/PageSearch.vue index 359f20af385233354a7666307c3901881c083f4b..bbe6cc8f3015337da0c0a49e38d6cbbc0bfc16c6 100644 --- a/src/components/HsjComponent/pageSearch/src/PageSearch.vue +++ b/src/components/HsjComponent/pageSearch/src/PageSearch.vue @@ -44,7 +44,7 @@ const baseFormRef = ref(null) const searchLoading = ref(false) const formItem = props.searchConfig?.formItems ?? [] -let formData = ref({}) +const formData = ref({}) const search = (isReset = false) => { searchLoading.value = true emitter.emit(`search${props.pageName}Info`, { @@ -98,8 +98,11 @@ onMounted(() => { } resizeObserver.observe(pageSearchRef.value) }) +const getFormData = () => { + return formData.value +} defineExpose({ - formData, + getFormData, search, setFormData, }) diff --git a/src/components/HsjComponent/pageSearch/src/index.vue b/src/components/HsjComponent/pageSearch/src/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..9f825975dcbbad7dc76d27c46b2f26b598f26dda --- /dev/null +++ b/src/components/HsjComponent/pageSearch/src/index.vue @@ -0,0 +1,49 @@ + + + + diff --git a/src/layout/components/Config/index.vue b/src/layout/components/Config/index.vue index 810770124510b3fd9a0f00c899f8b86819a2d87a..09fb4fba84a60bc400b07d880767d0d1ecfa51d3 100644 --- a/src/layout/components/Config/index.vue +++ b/src/layout/components/Config/index.vue @@ -1,6 +1,5 @@ - - + +