Browse Source

perf: style 美化

master
wangxiang 2 years ago
parent
commit
7bbd929446
  1. 2
      src/components/Tree/src/BasicTree.vue
  2. 1
      src/components/Tree/src/components/TreeHeader.vue
  3. 77
      src/views/common/workflow/extension/form/index.vue

2
src/components/Tree/src/BasicTree.vue

@ -418,7 +418,7 @@
return () => { return () => {
const { title, helpMessage, toolbar, search, checkable } = props; const { title, helpMessage, toolbar, search, checkable } = props;
const showTitle = title || toolbar || search || slots.headerTitle; const showTitle = title || toolbar || search || slots.headerTitle;
const scrollStyle: CSSProperties = { height: 'calc(100% - 38px)' }; const scrollStyle: CSSProperties = { height: 'calc(100% - 38px)', paddingTop: '6px' };
return ( return (
<div class={[bem(), 'h-full', attrs.class]}> <div class={[bem(), 'h-full', attrs.class]}>
{showTitle && ( {showTitle && (

1
src/components/Tree/src/components/TreeHeader.vue

@ -29,6 +29,7 @@
</Menu> </Menu>
</template> </template>
</Dropdown> </Dropdown>
<slot v-if="slots.toolbarRight" name="toolbarRight"/>
</div> </div>
</div> </div>
</template> </template>

77
src/views/common/workflow/extension/form/index.vue

@ -7,14 +7,48 @@
> >
<div class="m-4 mr-0 overflow-hidden bg-white w-1/4 xl:w-1/5"> <div class="m-4 mr-0 overflow-hidden bg-white w-1/4 xl:w-1/5">
<BasicTree <BasicTree
title="表单分类"
toolbar
search search
:clickRowToExpand="false" :clickRowToExpand="false"
:treeData="state.treeData" :treeData="state.treeData"
:fieldNames="{ key: 'id', title: 'name' }" :fieldNames="{ key: 'id', title: 'name' }"
@select="handleSelect" @select="handleSelect"
/> >
<template #toolbarRight>
<a-button
type="primary"
shape="circle"
size="small"
@click="handleAdd()"
>
<PlusOutlined/>
</a-button>
</template>
<template #title="data">
<span class="custom-tree-node">
<span>{{ data.name }}</span>
<span>
<a-button type="link"
size="small"
@click="handleAdd(data)"
>
<PlusOutlined/>
</a-button>
<a-button type="link"
size="small"
@click="handleAdd(data)"
>
<FormOutlined/>
</a-button>
<a-button type="link"
size="small"
@click="handleAdd(data)"
>
<DeleteOutlined/>
</a-button>
</span>
</span>
</template>
</BasicTree>
</div> </div>
<BasicTable <BasicTable
class="w-3/4 xl:w-4/5" class="w-3/4 xl:w-4/5"
@ -75,7 +109,11 @@
<script lang="ts"> <script lang="ts">
import { defineComponent, reactive, toRaw, onMounted } from 'vue'; import { defineComponent, reactive, toRaw, onMounted } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { listFormDefinition, delFormDefinition } from '/@/api/platform/common/workflow/extension/controller/formDefinition'; import {
listFormDefinition,
delFormDefinition,
getFormDefinition,
} from '/@/api/platform/common/workflow/extension/controller/formDefinition';
import { PageWrapper } from '/@/components/Page'; import { PageWrapper } from '/@/components/Page';
import { BasicTree, TreeItem } from '/@/components/Tree'; import { BasicTree, TreeItem } from '/@/components/Tree';
import { useModal } from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
@ -84,6 +122,7 @@
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import { listToTree } from '/@/utils/helper/treeHelper'; import { listToTree } from '/@/utils/helper/treeHelper';
import { listFormCategory } from '/@/api/platform/common/workflow/extension/controller/formCategory'; import { listFormCategory } from '/@/api/platform/common/workflow/extension/controller/formCategory';
import { PlusOutlined, FormOutlined, DeleteOutlined } from '@ant-design/icons-vue';
/** 类型规范统一声明定义区域 */ /** 类型规范统一声明定义区域 */
interface TableState { interface TableState {
@ -102,6 +141,9 @@
BasicTree, BasicTree,
TableAction, TableAction,
FormModal, FormModal,
PlusOutlined,
FormOutlined,
DeleteOutlined,
}, },
setup() { setup() {
@ -121,7 +163,7 @@
const { createConfirm, createMessage } = useMessage(); const { createConfirm, createMessage } = useMessage();
const [registerModal, { openModal }] = useModal(); const [registerModal, { openModal }] = useModal();
const [registerResetPwdModal, { openModal: openResetPwdModal }] = useModal(); const [registerResetPwdModal, { openModal: openResetPwdModal }] = useModal();
const [registerTable, { reload, clearSelectedRowKeys }] = useTable({ const [registerTable, { reload, clearSelectedRowKeys, getForm }] = useTable({
title: '流程表单列表', title: '流程表单列表',
api: listFormDefinition, api: listFormDefinition,
rowKey: 'id', rowKey: 'id',
@ -195,8 +237,9 @@
} }
function handleSelect(selectedKeys: string[]) { function handleSelect(selectedKeys: string[]) {
state.searchInfo.categoryId = selectedKeys[0]; getForm().setFieldsValue({
handleRefreshTable(); categoryId: selectedKeys[0]
});
} }
return { return {
@ -214,3 +257,23 @@
} }
}); });
</script> </script>
<style lang="less" scoped>
.custom-tree-node {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
:deep(.ant-tree .ant-tree-node-content-wrapper .ant-tree-title .ant-btn) {
display: none;
}
:deep(.ant-tree .ant-tree-node-content-wrapper .ant-tree-title:hover .ant-btn) {
padding: 0px 5px;
display: unset;
}
</style>

Loading…
Cancel
Save