From 7bcfc0507043dc878c801a259aa7d058f4982551 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 09 一月 2025 00:42:21 +0800 Subject: [PATCH] 工单管理优化 --- src/views/demo/table/FormTable.vue | 89 ++++++++++---------------------------------- 1 files changed, 20 insertions(+), 69 deletions(-) diff --git a/src/views/demo/table/FormTable.vue b/src/views/demo/table/FormTable.vue index beaf151..57d1e5d 100644 --- a/src/views/demo/table/FormTable.vue +++ b/src/views/demo/table/FormTable.vue @@ -1,83 +1,34 @@ <template> <BasicTable @register="registerTable"> <template #form-custom> custom-slot </template> - <template #headerTop> - <a-alert type="info" show-icon> - <template #message> - <template v-if="checkedKeys.length > 0"> - <span>宸查�変腑{{ checkedKeys.length }}鏉¤褰�(鍙法椤�)</span> - <a-button type="link" @click="checkedKeys = []" size="small">娓呯┖</a-button> - </template> - <template v-else> - <span>鏈�変腑浠讳綍椤圭洰</span> - </template> - </template> - </a-alert> - </template> <template #toolbar> <a-button type="primary" @click="getFormValues">鑾峰彇琛ㄥ崟鏁版嵁</a-button> </template> </BasicTable> </template> -<script lang="ts"> - import { defineComponent, ref } from 'vue'; - import { BasicTable, useTable } from '/@/components/Table'; +<script lang="ts" setup> + import { BasicTable, useTable } from '@/components/Table'; import { getBasicColumns, getFormConfig } from './tableData'; - import { Alert } from 'ant-design-vue'; - import { demoListApi } from '/@/api/demo/table'; + import { demoListApi } from '@/api/demo/table'; - export default defineComponent({ - components: { BasicTable, AAlert: Alert }, - setup() { - const checkedKeys = ref<Array<string | number>>([]); - const [registerTable, { getForm }] = useTable({ - title: '寮�鍚悳绱㈠尯鍩�', - api: demoListApi, - columns: getBasicColumns(), - useSearchForm: true, - formConfig: getFormConfig(), - showTableSetting: true, - tableSetting: { fullScreen: true }, - showIndexColumn: false, - rowKey: 'id', - rowSelection: { - type: 'checkbox', - selectedRowKeys: checkedKeys, - onSelect: onSelect, - onSelectAll: onSelectAll, - }, - }); - - function getFormValues() { - console.log(getForm().getFieldsValue()); - } - - function onSelect(record, selected) { - if (selected) { - checkedKeys.value = [...checkedKeys.value, record.id]; - } else { - checkedKeys.value = checkedKeys.value.filter((id) => id !== record.id); - } - } - function onSelectAll(selected, selectedRows, changeRows) { - const changeIds = changeRows.map((item) => item.id); - if (selected) { - checkedKeys.value = [...checkedKeys.value, ...changeIds]; - } else { - checkedKeys.value = checkedKeys.value.filter((id) => { - return !changeIds.includes(id); - }); - } - } - - return { - registerTable, - getFormValues, - checkedKeys, - onSelect, - onSelectAll, - }; + const [registerTable, { getForm }] = useTable({ + title: '寮�鍚悳绱㈠尯鍩�', + api: demoListApi, + columns: getBasicColumns(), + useSearchForm: true, + formConfig: getFormConfig(), + showTableSetting: true, + tableSetting: { fullScreen: true }, + showIndexColumn: false, + rowKey: 'id', + rowSelection: { + type: 'checkbox', }, + showSelectionBar: true, // 鏄剧ず澶氶�夌姸鎬佹爮 }); + + function getFormValues() { + console.log(getForm().getFieldsValue()); + } </script> -- Gitblit v1.9.3