187 lines
6.0 KiB
Vue
187 lines
6.0 KiB
Vue
<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>
|
||
</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展示 17∶6</span>
|
||
</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展示 1∶1</span>
|
||
</div>
|
||
</FormItem>
|
||
<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展示 17∶6</span>
|
||
</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展示 1∶1</span>
|
||
</div>
|
||
</FormItem>
|
||
<FormItem label="商家端Logo" prop="storeSideLogo">
|
||
<div class="label-item-upload">
|
||
<img v-if="formValidate.storeSideLogo" class="img" :src="formValidate.storeSideLogo" />
|
||
<img v-else class="img" src="../../../../assets/emptyImg.png" alt="">
|
||
<Button @click="onClickImg('storeSideLogo')">选择图片</Button>
|
||
<span class="desc">商家端logo展示 17∶6</span>
|
||
</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展示 1∶1</span>
|
||
</div>
|
||
</FormItem>
|
||
|
||
<FormItem label="站点地址" prop="staticPageAddress">
|
||
<Input style="width:200px;" v-model="formValidate.staticPageAddress" />
|
||
|
||
</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: {
|
||
res:{
|
||
type:null,
|
||
default:""
|
||
},
|
||
type:''
|
||
},
|
||
components: {
|
||
ossManage,
|
||
},
|
||
data() {
|
||
return {
|
||
handleSubmit, // 验证规则
|
||
|
||
picModelFlag: false, // 预览图片显隐
|
||
formValidate: { // 表单数据
|
||
buyerSideLogo: "",
|
||
domainLogo: "",
|
||
icp: "",
|
||
storeSideLogo: "",
|
||
siteName: "",
|
||
staticPageAddress: "",
|
||
staticPageWapAddress: "",
|
||
},
|
||
selected: "", // 已选数据
|
||
ruleValidate: {}, // 验证规则
|
||
result:""
|
||
};
|
||
},
|
||
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();
|
||
}
|
||
},
|
||
// 选择回显
|
||
callbackSelected(val) {
|
||
this.picModelFlag = false;
|
||
this.formValidate[this.selected] = val.url;
|
||
},
|
||
// 保存设置
|
||
setupSetting() {
|
||
setSetting(this.type, this.formValidate).then((res) => {
|
||
if (res.success) {
|
||
this.$Message.success("保存成功!");
|
||
localStorage.setItem("icon", this.formValidate.domainLogo);
|
||
window.document.title = this.formValidate.siteName + " - 运营后台";
|
||
} else {
|
||
this.$Message.error("保存失败!");
|
||
}
|
||
});
|
||
},
|
||
/**添加必填项 */
|
||
init() {
|
||
this.result = JSON.parse(this.res);
|
||
this.$set(this, "formValidate", { ...this.result });
|
||
Object.keys(this.result).forEach((item) => {
|
||
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>
|