Browse Source

feat(国际化): 添加国际化

tangning 3 years ago
parent
commit
f628bf6eec
2 changed files with 70 additions and 1 deletions
  1. 1 1
      src/settings/localeSetting.ts
  2. 69 0
      src/views/system/account/AccountModal.vue

+ 1 - 1
src/settings/localeSetting.ts

@@ -7,7 +7,7 @@ export const LOCALE: { [key: string]: LocaleType } = {
 };
 
 export const localeSetting: LocaleSetting = {
-  showPicker: false,
+  showPicker: true,
   // Locale
   locale: LOCALE.ZH_CN,
   // Default locale

+ 69 - 0
src/views/system/account/AccountModal.vue

@@ -0,0 +1,69 @@
+<template>
+  <BasicModal v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
+    <BasicForm @register="registerForm" />
+  </BasicModal>
+</template>
+<script lang="ts">
+  import { defineComponent, ref, computed, unref } from 'vue';
+  import { BasicModal, useModalInner } from '/@/components/Modal';
+  import { BasicForm, useForm } from '/@/components/Form/index';
+  import { accountFormSchema } from './account.data';
+  import { saveAccountUserApi, updateAccountUserApi } from '/@/api/system/system';
+  // import { makeMenuTree, TreeMenuNode } from '/@/utils/treeUtils';
+
+  export default defineComponent({
+    name: 'AccountModal',
+    components: { BasicModal, BasicForm },
+    emits: ['success', 'register'],
+    setup(_, { emit }) {
+      const isUpdate = ref(true);
+      const rowId = ref('');
+      // updateSchema
+      const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
+        labelWidth: 100,
+        schemas: accountFormSchema,
+        showActionButtonGroup: false,
+        actionColOptions: {
+          span: 23,
+        },
+      });
+
+      const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
+        resetFields();
+        setModalProps({ confirmLoading: false });
+        isUpdate.value = !!data?.isUpdate;
+
+        if (unref(isUpdate)) {
+          rowId.value = data.record.id;
+          setFieldsValue({
+            ...data.record,
+          });
+        }
+      });
+
+      const getTitle = computed(() => (!unref(isUpdate) ? '新增账号' : '编辑账号'));
+
+      async function handleSubmit() {
+        try {
+          const values = await validate();
+          console.log('handleSubmit', values);
+          setModalProps({ confirmLoading: true });
+          // TODO custom api
+          console.log(values);
+          if (!unref(isUpdate)) {
+            await saveAccountUserApi(values);
+          } else {
+            await updateAccountUserApi({ ...values, id: rowId.value });
+          }
+
+          closeModal();
+          emit('success');
+        } finally {
+          setModalProps({ confirmLoading: false });
+        }
+      }
+
+      return { registerModal, registerForm, getTitle, handleSubmit };
+    },
+  });
+</script>