更新前端相关

This commit is contained in:
扫地僧 2026-02-06 00:06:07 +08:00
parent 5ffeccad1d
commit 32e7f2b21d

View File

@ -24,6 +24,21 @@
<el-icon v-else class="logo-uploader-icon"><Plus /></el-icon>
</el-upload>
</el-form-item>
<el-form-item label="站点Logo-浅色" prop="logow">
<el-upload
class="logo-uploader"
:show-file-list="false"
:auto-upload="false"
:on-change="handleLogowChange"
>
<img
v-if="logow"
:src="API_BASE_URL + logow.replace(/^\//, '/')"
class="logo-image darkbg"
/>
<el-icon v-else class="logo-uploader-icon"><Plus /></el-icon>
</el-upload>
</el-form-item>
<el-form-item label="企业名称" prop="companyname">
<el-input v-model="companyname" placeholder="请输入企业名称" />
</el-form-item>
@ -60,6 +75,7 @@ const normalFormRef = ref<FormInstance>();
const sitename = ref("");
const companyname = ref("");
const logo = ref("");
const logow = ref("");
const description = ref("");
const copyright = ref("");
const icp = ref("");
@ -68,6 +84,7 @@ const formData = {
sitename,
companyname,
logo,
logow,
description,
copyright,
icp,
@ -88,6 +105,7 @@ const initNormalInfos = async () => {
});
sitename.value = dataMap["sitename"] || "";
logo.value = dataMap["logo"] || "";
logow.value = dataMap["logow"] || "";
description.value = dataMap["description"] || "";
copyright.value = dataMap["copyright"] || "";
icp.value = dataMap["icp"] || "";
@ -113,6 +131,24 @@ const handleLogoChange = (file: UploadFile) => {
});
};
const handleLogowChange = (file: UploadFile) => {
const uploadFormData = new FormData();
uploadFormData.append("file", file.raw);
uploadFormData.append("cate", "site");
uploadFile(uploadFormData).then((uploadRes) => {
if (
(uploadRes.code === 200 || uploadRes.code === 201) &&
uploadRes.data &&
uploadRes.data.url
) {
logow.value = uploadRes.data.url.replace(/\\/g, "/");
} else {
ElMessage.error(uploadRes.msg || "上传失败");
}
});
};
const handleSaveNormalInfos = async () => {
if (!normalFormRef.value) return;
await normalFormRef.value.validate(async (valid) => {
@ -120,6 +156,7 @@ const handleSaveNormalInfos = async () => {
const data = [
{ label: "sitename", value: sitename.value },
{ label: "logo", value: logo.value },
{ label: "logow", value: logow.value },
{ label: "description", value: description.value },
{ label: "companyname", value: companyname.value },
{ label: "copyright", value: copyright.value },
@ -139,6 +176,7 @@ const resetnormalForm = () => {
sitename.value = "";
companyname.value = "";
logo.value = "";
logow.value = "";
description.value = "";
copyright.value = "";
icp.value = "";
@ -148,6 +186,7 @@ defineExpose({
sitename,
companyname,
logo,
logow,
description,
copyright,
icp,
@ -160,6 +199,10 @@ onMounted(() => {
</script>
<style lang="scss" scoped>
.darkbg{
background-color: #efefef;
}
.logo-uploader {
:deep(.el-upload) {
border: 1px dashed #d9d9d9;