|
@@ -1,15 +1,14 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div>
|
|
<div>
|
|
|
<BasicForm @register="registerForm" layout="vertical">
|
|
<BasicForm @register="registerForm" layout="vertical">
|
|
|
- <template #logo="{ model, field }">
|
|
|
|
|
|
|
+ <template #logo>
|
|
|
<Upload
|
|
<Upload
|
|
|
name="file"
|
|
name="file"
|
|
|
- @change="handleChange"
|
|
|
|
|
- :action="uploadUrl"
|
|
|
|
|
:showUploadList="false"
|
|
:showUploadList="false"
|
|
|
|
|
+ :beforeUpload="handleBeforeUpload"
|
|
|
accept=".jpg,.jpeg,.gif,.png,.webp"
|
|
accept=".jpg,.jpeg,.gif,.png,.webp"
|
|
|
>
|
|
>
|
|
|
- <img :src="model[field]" class="img-avatar" />
|
|
|
|
|
|
|
+ <img :src="logo" class="img-avatar" />
|
|
|
</Upload>
|
|
</Upload>
|
|
|
</template>
|
|
</template>
|
|
|
</BasicForm>
|
|
</BasicForm>
|
|
@@ -21,17 +20,17 @@
|
|
|
import { BasicForm, useForm } from '/@/components/Form';
|
|
import { BasicForm, useForm } from '/@/components/Form';
|
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
import { dataFormSchema } from './data';
|
|
import { dataFormSchema } from './data';
|
|
|
- import { useGlobSetting } from '/@/hooks/setting';
|
|
|
|
|
import { Upload } from 'ant-design-vue';
|
|
import { Upload } from 'ant-design-vue';
|
|
|
import { sysSettingEdit, sysSettingDetail } from '/@/api/sys/sysSettingApi';
|
|
import { sysSettingEdit, sysSettingDetail } from '/@/api/sys/sysSettingApi';
|
|
|
- import { onMounted } from 'vue';
|
|
|
|
|
|
|
+ import { onMounted, ref } from 'vue';
|
|
|
|
|
+ import { fileToBase64 } from '/@/utils/file/base64Conver';
|
|
|
|
|
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
|
const res = await sysSettingDetail();
|
|
const res = await sysSettingDetail();
|
|
|
|
|
+ logo.value = res.logo;
|
|
|
await setFieldsValue({ ...res });
|
|
await setFieldsValue({ ...res });
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- const { uploadUrl } = useGlobSetting();
|
|
|
|
|
const { createMessage } = useMessage();
|
|
const { createMessage } = useMessage();
|
|
|
const [registerForm, { setFieldsValue, validate }] = useForm({
|
|
const [registerForm, { setFieldsValue, validate }] = useForm({
|
|
|
labelWidth: 120,
|
|
labelWidth: 120,
|
|
@@ -48,17 +47,20 @@
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ const logo = ref(null);
|
|
|
|
|
+
|
|
|
// 提交按钮事件
|
|
// 提交按钮事件
|
|
|
async function handleSubmit() {
|
|
async function handleSubmit() {
|
|
|
const values = await validate();
|
|
const values = await validate();
|
|
|
- console.log('🚀 ~ file: sysConfig.vue:60 ~ handleSubmit ~ values:', values);
|
|
|
|
|
|
|
+ if (logo.value) {
|
|
|
|
|
+ values.logo = logo.value;
|
|
|
|
|
+ }
|
|
|
await sysSettingEdit(values);
|
|
await sysSettingEdit(values);
|
|
|
createMessage.success('修改成功');
|
|
createMessage.success('修改成功');
|
|
|
- // await sysPosEdit({ ...values, id: rowId.value });
|
|
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- function handleChange(val) {
|
|
|
|
|
- console.log('🚀 ~ file: sysConfig.vue:64 ~ handleChange ~ val:', val);
|
|
|
|
|
|
|
+ async function handleBeforeUpload(file) {
|
|
|
|
|
+ logo.value = await fileToBase64(file);
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|