Commit 1aca171f authored by 张伯涛's avatar 张伯涛

部分修改

parent a97f88e5
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
:clickRowToExpand="true" :clickRowToExpand="true"
:defaultExpandAll="true" :defaultExpandAll="true"
:treeData="treeData" :treeData="treeData"
:fieldNames="{ key: 'key', title: 'title' }" :fieldNames="{ key: 'businessId', title: 'label' }"
@select="handleSelect" @select="handleSelect"
/> />
</div> </div>
......
...@@ -44,9 +44,7 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data ...@@ -44,9 +44,7 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
} }
updateSchema({ updateSchema({
field: 'path', field: 'path',
componentProps: { componentProps: { treeData:treeDataList },
treeData: treeDataList
},
}); });
}); });
......
...@@ -129,7 +129,12 @@ ...@@ -129,7 +129,12 @@
} }
/** 新建文件夹*/ /** 新建文件夹*/
function handleAdd() { function handleAdd() {
openModal(true); openModal(true,{
});
}
function handleRemove() {
openRemoveModal(true,{})
} }
function handleAddMainBody() { function handleAddMainBody() {
openMainModal(true,{ openMainModal(true,{
...@@ -158,9 +163,6 @@ ...@@ -158,9 +163,6 @@
createMessage.success('删除成功!'); createMessage.success('删除成功!');
reload(); reload();
} }
function handleRemove() {
openRemoveModal(true)
}
/** 导出按钮*/ /** 导出按钮*/
async function handleExport() { async function handleExport() {
......
...@@ -65,15 +65,43 @@ export const columns: BasicColumn[] = [ ...@@ -65,15 +65,43 @@ export const columns: BasicColumn[] = [
export const formSchemaRemove: any = [ export const formSchemaRemove: any = [
{ {
field: 'path', field: 'path',
label: '文件夹路径', label: '路径',
component: 'Input', component: 'TreeSelect',
colProps: { span: 8 }, rules: [
{
required: true,
message: '请选择上级菜单',
},
],
componentProps: { componentProps: {
placeholder: '输入文件夹路径', fieldNames: {
label: 'label',
value: 'businessId',
},
getPopupContainer: () => document.body,
}, },
}, },
] ]
export const formSchemaMain: any = [ export const formSchemaMain: any = [
{
field: 'path',
label: '路径',
component: 'TreeSelect',
rules: [
{
required: true,
message: '请选择上级菜单',
},
],
componentProps: {
fieldNames: {
label: 'label',
value: 'businessId',
},
getPopupContainer: () => document.body,
},
},
{ {
field: 'name', field: 'name',
label: '主体名称', label: '主体名称',
...@@ -93,19 +121,41 @@ export const formSchemaMain: any = [ ...@@ -93,19 +121,41 @@ export const formSchemaMain: any = [
}, },
}, },
{ {
field: 'from', field: 'fileType',
label: '来源', label: '文件类型',
component: 'Input',
defaultValue: '主体管理',
colProps: { span: 8 },
componentProps: {
readOnly:true,
disabled: true,
placeholder: '输入描述',
},
},
{
field: 'menuModal',
label: '目录权属模式',
component: 'Input',
defaultValue: '资源自定义',
colProps: { span: 8 },
componentProps: {
readOnly:true,
disabled: true,
placeholder: '输入描述',
},
},
{
field: 'group',
label: '权属工作组',
component: 'Select', component: 'Select',
defaultValue: '默认工作组',
colProps: { span: 8 },
componentProps: { componentProps: {
placeholder: '选择来源', placeholder: '输入描述',
options: [ options: [
{ label: 'Inceptor', value: 'Inceptor' }, { label: '默认工作组', value: '默认工作组' },
{ label: 'oracle', value: 'oracle' },
{ label: 'oracle2', value: 'oracle2' },
{ label: '指标汇总表', value: '指标汇总表' },
], ],
}, },
colProps: { span: 8 },
}, },
] ]
export const formSchema: any = [ export const formSchema: any = [
...@@ -120,13 +170,18 @@ export const formSchema: any = [ ...@@ -120,13 +170,18 @@ export const formSchema: any = [
}, },
{ {
field: 'path', field: 'path',
label: '文件夹路径', label: '路径',
component: 'TreeSelect', component: 'TreeSelect',
colProps: { span: 8 }, rules: [
{
required: true,
message: '请选择上级菜单',
},
],
componentProps: { componentProps: {
fieldNames: { fieldNames: {
label: 'title', label: 'label',
value: 'key', value: 'businessId',
}, },
getPopupContainer: () => document.body, getPopupContainer: () => document.body,
}, },
......
<template> <template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit"> <BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" />
<div class="modalRow">
<div>可见范围</div>
<div class="right">
<div class="clearAll">
清空
</div>
<div>
<a-button type="primary">添加工作组</a-button>
</div>
</div>
</div>
<div class="addDialogBG">
<div style="float: right">
<Icon icon="ant-design:delete-outlined" :size="25" :color="'#ED6F6F'" />
</div>
<TreeTwo class="w-1/4 xl:w-1/5" @select="handleSelect" />
</div>
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -8,8 +25,10 @@ import {ref, computed, unref, reactive} from 'vue'; ...@@ -8,8 +25,10 @@ import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import { formSchemaMain } from './mainBody.data'; import { formSchemaMain } from './mainBody.data';
import TreeTwo from './treeTwo.vue';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import {getMenuList} from "@/api/system/menu/menu";
import {treeDataList} from "@/views/mainBody/mock";
defineOptions({ name: 'AccountModal' }); defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
...@@ -29,6 +48,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = ...@@ -29,6 +48,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] =
}); });
//初始化弹框 //初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields(); resetFields();
setModalProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate; isUpdate.value = !!data?.isUpdate;
...@@ -41,6 +61,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data ...@@ -41,6 +61,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
}); });
} }
updateSchema({
field: 'path',
componentProps: { treeData:treeDataList },
});
}); });
...@@ -60,3 +84,28 @@ async function handleSubmit() { ...@@ -60,3 +84,28 @@ async function handleSubmit() {
} }
} }
</script> </script>
<style lang="scss" scoped>
.modalRow{
padding: 0 20px;
display: flex;
align-items: center;
justify-content: space-between;
.clearAll{
padding-right: 10px;
font-size: 16px;
}
.right{
display: flex;
align-items: center;
justify-content: space-between;
}
}
.addDialogBG{
margin: 10px;
border-radius: 10px;
padding: 20px;
background-color: #E8ECF7;
width: 98%;
height: 400px;
}
</style>
...@@ -67,13 +67,25 @@ export const tableList: any[] = [ ...@@ -67,13 +67,25 @@ export const tableList: any[] = [
export const treeDataList = [ export const treeDataList = [
{ {
title: '主体管理', label: '主体管理',
key: 1, businessId: 1,
children: [
{ label: 'admin_个人工作区', businessId: 2 },
{ label: '共享工作区', businessId: 3 },
{ label: '商城工作区', businessId: 4 },
{ label: '指标工作区', businessId: 5 },
],
},
]
export const treeDataListTwo = [
{
label: '默认工作组',
businessId: 1,
children: [ children: [
{ title: 'admin_个人工作区', key: 2 }, { label: '默认工作组01', businessId: 2 },
{ title: '共享工作区', key: 3 }, { label: '默认工作组02', businessId: 3 },
{ title: '商城工作区', key: 4 }, { label: '默认工作组03', businessId: 4 },
{ title: '指标工作区', key: 5 }, { label: '默认工作组04', businessId: 5 },
], ],
}, },
] ]
...@@ -10,6 +10,7 @@ import { BasicForm, useForm } from '@/components/Form'; ...@@ -10,6 +10,7 @@ import { BasicForm, useForm } from '@/components/Form';
import { formSchemaRemove } from './mainBody.data'; import { formSchemaRemove } from './mainBody.data';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import {treeDataList} from "@/views/mainBody/mock";
defineOptions({ name: 'AccountModal' }); defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
...@@ -29,6 +30,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = ...@@ -29,6 +30,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] =
}); });
//初始化弹框 //初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
console.log('bbbbbbbbb')
resetFields(); resetFields();
setModalProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate; isUpdate.value = !!data?.isUpdate;
...@@ -40,7 +42,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data ...@@ -40,7 +42,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
...data.record, ...data.record,
}); });
} }
updateSchema({
field: 'path',
componentProps: { treeData:treeDataList },
});
}); });
......
<template>
<div class="m-4 mr-0 overflow-hidden bg-white">
<BasicTree
title="工作组"
ref="treeRef"
toolbar
search
treeWrapperClassName="h-[calc(100%-35px)] overflow-auto"
:clickRowToExpand="true"
:checkable="true"
:defaultExpandAll="true"
:treeData="treeData"
:fieldNames="{ key: 'businessId', title: 'label' }"
@select="handleSelect"
/>
</div>
</template>
<script lang="ts" setup>
import {nextTick, onMounted, ref, unref} from 'vue';
import {BasicTree, TreeActionType, TreeItem} from '@/components/Tree';
import { getDeptList } from '@/api/system/dept/dept';
import {Nullable} from "@vben/types";
import {treeDataListTwo} from "./mock";
defineOptions({ name: 'DeptTree' });
const emit = defineEmits(['select']);
const treeData = ref<TreeItem[]>([]);
const treeRef = ref<Nullable<TreeActionType>>(null);
async function fetch() {
treeData.value = treeDataListTwo
await nextTick(() => {
getTree().expandAll(true)
})
}
function getTree() {
const tree = unref(treeRef);
if (!tree) {
throw new Error('tree is null!');
}
return tree;
}
function handleSelect(keys) {
emit('select', keys[0]);
}
onMounted(() => {
fetch();
});
</script>
<style lang="scss" scoped>
.bg-white{
width: 97%;
}
::v-deep(.vben-tree){
background-color: #E8ECF7!important;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment