|
@@ -21,8 +21,8 @@
|
|
|
</BasicForm>
|
|
|
</BasicDrawer>
|
|
|
</template>
|
|
|
-<script lang="ts">
|
|
|
- import { defineComponent, ref, computed, unref } from 'vue';
|
|
|
+<script lang="ts" setup>
|
|
|
+ import { ref, computed, unref } from 'vue';
|
|
|
import { BasicForm, useForm } from '/@/components/Form/index';
|
|
|
import { formSchema } from './role.data';
|
|
|
import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
|
|
@@ -30,59 +30,45 @@
|
|
|
|
|
|
import { getMenuList } from '/@/api/demo/system';
|
|
|
|
|
|
- export default defineComponent({
|
|
|
- name: 'RoleDrawer',
|
|
|
- components: { BasicDrawer, BasicForm, BasicTree },
|
|
|
- emits: ['success', 'register'],
|
|
|
- setup(_, { emit }) {
|
|
|
- const isUpdate = ref(true);
|
|
|
- const treeData = ref<TreeItem[]>([]);
|
|
|
+ const emit = defineEmits(['success', 'register']);
|
|
|
+ const isUpdate = ref(true);
|
|
|
+ const treeData = ref<TreeItem[]>([]);
|
|
|
|
|
|
- const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
|
|
|
- labelWidth: 90,
|
|
|
- baseColProps: { span: 24 },
|
|
|
- schemas: formSchema,
|
|
|
- showActionButtonGroup: false,
|
|
|
- });
|
|
|
+ const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
|
|
|
+ labelWidth: 90,
|
|
|
+ baseColProps: { span: 24 },
|
|
|
+ schemas: formSchema,
|
|
|
+ showActionButtonGroup: false,
|
|
|
+ });
|
|
|
|
|
|
- const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
|
|
|
- resetFields();
|
|
|
- setDrawerProps({ confirmLoading: false });
|
|
|
- // 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报key not exist警告
|
|
|
- if (unref(treeData).length === 0) {
|
|
|
- treeData.value = (await getMenuList()) as any as TreeItem[];
|
|
|
- }
|
|
|
- isUpdate.value = !!data?.isUpdate;
|
|
|
+ const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
|
|
|
+ resetFields();
|
|
|
+ setDrawerProps({ confirmLoading: false });
|
|
|
+ // 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报key not exist警告
|
|
|
+ if (unref(treeData).length === 0) {
|
|
|
+ treeData.value = (await getMenuList()) as any as TreeItem[];
|
|
|
+ }
|
|
|
+ isUpdate.value = !!data?.isUpdate;
|
|
|
|
|
|
- if (unref(isUpdate)) {
|
|
|
- setFieldsValue({
|
|
|
- ...data.record,
|
|
|
- });
|
|
|
- }
|
|
|
+ if (unref(isUpdate)) {
|
|
|
+ setFieldsValue({
|
|
|
+ ...data.record,
|
|
|
});
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- const getTitle = computed(() => (!unref(isUpdate) ? '新增角色' : '编辑角色'));
|
|
|
-
|
|
|
- async function handleSubmit() {
|
|
|
- try {
|
|
|
- const values = await validate();
|
|
|
- setDrawerProps({ confirmLoading: true });
|
|
|
- // TODO custom api
|
|
|
- console.log(values);
|
|
|
- closeDrawer();
|
|
|
- emit('success');
|
|
|
- } finally {
|
|
|
- setDrawerProps({ confirmLoading: false });
|
|
|
- }
|
|
|
- }
|
|
|
+ const getTitle = computed(() => (!unref(isUpdate) ? '新增角色' : '编辑角色'));
|
|
|
|
|
|
- return {
|
|
|
- registerDrawer,
|
|
|
- registerForm,
|
|
|
- getTitle,
|
|
|
- handleSubmit,
|
|
|
- treeData,
|
|
|
- };
|
|
|
- },
|
|
|
- });
|
|
|
+ async function handleSubmit() {
|
|
|
+ try {
|
|
|
+ const values = await validate();
|
|
|
+ setDrawerProps({ confirmLoading: true });
|
|
|
+ // TODO custom api
|
|
|
+ console.log(values);
|
|
|
+ closeDrawer();
|
|
|
+ emit('success');
|
|
|
+ } finally {
|
|
|
+ setDrawerProps({ confirmLoading: false });
|
|
|
+ }
|
|
|
+ }
|
|
|
</script>
|