187 lines
6.0 KiB
Vue
Raw Normal View History

2021-05-13 10:56:04 +08:00
<template>
<div class="layout">
<Form ref="formValidate" :label-width="150" label-position="right" :model="formValidate" :rules="ruleValidate">
<FormItem label="站点名称" prop="siteName">
<Input style="width:200px;" v-model="formValidate.siteName" />
<span class="desc">配置买家端站点名称</span>
2021-05-13 10:56:04 +08:00
</FormItem>
<FormItem label="icp" prop="icp">
<Input v-model="formValidate.icp" />
</FormItem>
<FormItem label="后台Logo" prop="domainLogo">
<div class="label-item-upload">
<img v-if="formValidate.domainLogo" class="img" :src="formValidate.domainLogo" />
<img v-else class="img" src="../../../../assets/emptyImg.png" alt="">
<Button @click="onClickImg('domainLogo')">选择图片</Button>
<span class="desc">后台管理左上角logo展示 176</span>
2021-05-13 10:56:04 +08:00
</div>
</FormItem>
<FormItem label="后台Icon" prop="domainIcon">
<div class="label-item-upload">
<img v-if="formValidate.domainIcon" class="img" :src="formValidate.domainIcon" />
<img v-else class="img" src="../../../../assets/emptyImg.png" alt="">
<Button @click="onClickImg('domainIcon')">选择图片</Button>
<span class="desc">后台管理网站icon展示 11</span>
</div>
</FormItem>
2021-05-13 10:56:04 +08:00
<FormItem label="买家端Logo" prop="buyerSideLogo">
<div class="label-item-upload">
<img v-if="formValidate.buyerSideLogo" class="img" :src="formValidate.buyerSideLogo" />
<img v-else class="img" src="../../../../assets/emptyImg.png" alt="">
<Button @click="onClickImg('buyerSideLogo')">选择图片</Button>
<span class="desc">买家端logo展示 176</span>
2021-05-13 10:56:04 +08:00
</div>
</FormItem>
<FormItem label="买家端Icon" prop="buyerSideIcon">
<div class="label-item-upload">
<img v-if="formValidate.buyerSideIcon" class="img" :src="formValidate.buyerSideIcon" />
<img v-else class="img" src="../../../../assets/emptyImg.png" alt="">
<Button @click="onClickImg('buyerSideIcon')">选择图片</Button>
<span class="desc">买家端网站icon展示 11</span>
</div>
</FormItem>
2022-06-01 10:13:53 +08:00
<FormItem label="商家端Logo" prop="storeSideLogo">
2021-05-13 10:56:04 +08:00
<div class="label-item-upload">
2022-06-01 10:13:53 +08:00
<img v-if="formValidate.storeSideLogo" class="img" :src="formValidate.storeSideLogo" />
2021-05-13 10:56:04 +08:00
<img v-else class="img" src="../../../../assets/emptyImg.png" alt="">
2022-06-01 10:13:53 +08:00
<Button @click="onClickImg('storeSideLogo')">选择图片</Button>
<span class="desc">商家端logo展示 176</span>
2021-05-13 10:56:04 +08:00
</div>
</FormItem>
<FormItem label="商家端Icon" prop="storeSideIcon">
<div class="label-item-upload">
<img v-if="formValidate.storeSideIcon" class="img" :src="formValidate.storeSideIcon" />
<img v-else class="img" src="../../../../assets/emptyImg.png" alt="">
<Button @click="onClickImg('storeSideIcon')">选择图片</Button>
<span class="desc">商家端icon展示 11</span>
</div>
</FormItem>
2021-05-13 10:56:04 +08:00
<FormItem label="站点地址" prop="staticPageAddress">
<Input style="width:200px;" v-model="formValidate.staticPageAddress" />
2021-05-13 10:56:04 +08:00
</FormItem>
<FormItem label="wap站点地址" prop="staticPageWapAddress">
<Input v-model="formValidate.staticPageWapAddress" />
</FormItem>
<div class="label-btns">
<Button type="primary" @click="submit('formValidate')">保存</Button>
</div>
</Form>
<Modal width="1200px" v-model="picModelFlag">
<ossManage @callback="callbackSelected" ref="ossManage" />
</Modal>
</div>
</template>
<script>
import { setSetting } from "@/api/index";
import { handleSubmit } from "./validate";
import ossManage from "@/views/sys/oss-manage/ossManage";
export default {
title: "基础设置",
props: {
2023-05-09 11:05:40 +08:00
res:{
type:null,
default:""
},
type:''
},
2021-05-13 10:56:04 +08:00
components: {
ossManage,
},
data() {
return {
2021-05-14 12:01:24 +08:00
handleSubmit, // 验证规则
2021-09-17 11:01:57 +08:00
2021-05-14 12:01:24 +08:00
picModelFlag: false, // 预览图片显隐
formValidate: { // 表单数据
2021-05-13 10:56:04 +08:00
buyerSideLogo: "",
domainLogo: "",
icp: "",
2022-06-01 10:13:53 +08:00
storeSideLogo: "",
2021-05-13 10:56:04 +08:00
siteName: "",
staticPageAddress: "",
staticPageWapAddress: "",
},
2021-05-14 12:01:24 +08:00
selected: "", // 已选数据
2023-05-09 11:05:40 +08:00
ruleValidate: {}, // 验证规则
result:""
2021-05-13 10:56:04 +08:00
};
},
created() {
this.init();
},
methods: {
// 点击图片
onClickImg(item) {
this.selected = item;
this.$refs.ossManage.selectImage = true;
this.picModelFlag = true;
},
submit(name) {
let that = this;
if (handleSubmit(that, name)) {
this.setupSetting();
}
},
2021-07-27 15:59:34 +08:00
// 选择回显
2021-05-13 10:56:04 +08:00
callbackSelected(val) {
this.picModelFlag = false;
this.formValidate[this.selected] = val.url;
},
2021-07-27 15:59:34 +08:00
// 保存设置
2021-05-13 10:56:04 +08:00
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {
2021-05-13 10:56:04 +08:00
this.$Message.success("保存成功!");
localStorage.setItem("icon", this.formValidate.domainLogo);
window.document.title = this.formValidate.siteName + " - 运营后台";
2021-05-13 10:56:04 +08:00
} else {
this.$Message.error("保存失败!");
}
});
},
/**添加必填项 */
init() {
2023-05-09 11:05:40 +08:00
this.result = JSON.parse(this.res);
this.$set(this, "formValidate", { ...this.result });
Object.keys(this.result).forEach((item) => {
2021-05-13 10:56:04 +08:00
this.ruleValidate[item] = [
{
required: true,
message: "请填写必填项",
trigger: "blur",
},
];
});
},
},
};
</script>
<style scoped lang="scss">
@import "./style.scss";
.label-item {
display: flex;
> .ivu-input {
width: 200px;
margin: 0 10px;
}
}
.label-item-upload {
display: flex;
align-items: flex-end;
img {
margin-right: 10px;
width: 100px;
height: 100px;
}
}
</style>