隐私协议菜单,店铺详情店铺详情非空判断,自定义logo
parent
727d240715
commit
3cd57a6915
|
@ -6,9 +6,31 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
import storage from '@/plugins/storage';
|
||||||
|
import { getLogoImg} from '@/api/common.js';
|
||||||
export default {
|
export default {
|
||||||
name: 'App',
|
name: 'App',
|
||||||
|
|
||||||
|
mounted(){
|
||||||
|
//获取LOGO图片
|
||||||
|
getLogoImg().then(res => {
|
||||||
|
if(res.success&&res.result.settingValue){
|
||||||
|
let data = JSON.parse(res.result.settingValue);
|
||||||
|
this.$store.commit("SET_LOGOIMG", data.buyerSideLogo);
|
||||||
|
this.$store.commit("SET_SITENAME", data.siteName);
|
||||||
|
storage.setItem("siteName", data.siteName);
|
||||||
|
window.document.title = data.siteName;
|
||||||
|
//动态获取icon
|
||||||
|
let link =
|
||||||
|
document.querySelector("link[rel*='icon']") ||
|
||||||
|
document.createElement("link");
|
||||||
|
link.type = "image/x-icon";
|
||||||
|
link.href = data.buyerSideLogo;
|
||||||
|
link.rel = "shortcut icon";
|
||||||
|
document.getElementsByTagName("head")[0].appendChild(link);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
|
@ -92,3 +92,13 @@ export function getIMDetail () {
|
||||||
method: Method.GET
|
method: Method.GET
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//获取图片logo
|
||||||
|
export function getLogoImg(){
|
||||||
|
return request ({
|
||||||
|
url:`${commonUrl}/common/common/logo`,
|
||||||
|
method: Method.GET,
|
||||||
|
needToken: false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
|
var storage = require('@/plugins/storage');
|
||||||
module.exports = {
|
module.exports = {
|
||||||
title: "lili-shop", //配置显示在浏览器标签的title、底部信息、部分信息展示的值
|
//title: "lili-shop", //配置显示在浏览器标签的title、底部信息、部分信息展示的值
|
||||||
|
title:storage.default.getItem('siteName'),
|
||||||
icpCard: "", // icp证
|
icpCard: "", // icp证
|
||||||
company: {
|
company: {
|
||||||
href: "https://pickmall.cn",
|
href: "https://pickmall.cn",
|
||||||
|
|
|
@ -12,3 +12,9 @@ export const SET_CARTNUM = (state, data) => {
|
||||||
export const SET_HOTWORDS = (state, data) => {
|
export const SET_HOTWORDS = (state, data) => {
|
||||||
state.hotWordsList = data
|
state.hotWordsList = data
|
||||||
}
|
}
|
||||||
|
export const SET_LOGOIMG = (state, data) => {
|
||||||
|
state.logoImg = data
|
||||||
|
}
|
||||||
|
export const SET_SITENAME = (state, data) => {
|
||||||
|
state.siteName = data
|
||||||
|
}
|
|
@ -11,7 +11,8 @@ export default new Vuex.Store({
|
||||||
state: {
|
state: {
|
||||||
navList: [], // 首页快捷导航
|
navList: [], // 首页快捷导航
|
||||||
cartNum: storage.getItem('cartNum') || 0,
|
cartNum: storage.getItem('cartNum') || 0,
|
||||||
logoImg: require('@/assets/images/logo2.png'),
|
logoImg: storage.getItem('logoImg') || require('@/assets/images/logo2.png'),
|
||||||
|
siteName:storage.getItem('siteName')|| null,
|
||||||
hotWordsList: storage.getItem('hotWordsList'),
|
hotWordsList: storage.getItem('hotWordsList'),
|
||||||
category: JSON.parse(localStorage.getItem('category'))
|
category: JSON.parse(localStorage.getItem('category'))
|
||||||
},
|
},
|
||||||
|
|
|
@ -6,7 +6,11 @@ var BASE = {
|
||||||
common: "https://common-api.pickmall.cn",
|
common: "https://common-api.pickmall.cn",
|
||||||
buyer: "https://buyer-api.pickmall.cn",
|
buyer: "https://buyer-api.pickmall.cn",
|
||||||
seller: "https://store-api.pickmall.cn",
|
seller: "https://store-api.pickmall.cn",
|
||||||
manager: "https://admin-api.pickmall.cn"
|
manager: "https://admin-api.pickmall.cn",
|
||||||
|
// manager: "http://192.168.0.120:8887",
|
||||||
|
// common: "http://192.168.0.120:8890",
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
API_PROD: {
|
API_PROD: {
|
||||||
common: "https://common-api.pickmall.cn",
|
common: "https://common-api.pickmall.cn",
|
||||||
|
|
|
@ -19,3 +19,7 @@ export const getVerifyImg = (verificationEnums) => {
|
||||||
export const postVerifyImg = (params) => {
|
export const postVerifyImg = (params) => {
|
||||||
return postRequestWithNoToken(`${commonUrl}/common/common/slider/${params.verificationEnums}`, params);
|
return postRequestWithNoToken(`${commonUrl}/common/common/slider/${params.verificationEnums}`, params);
|
||||||
};
|
};
|
||||||
|
//获取LOGO
|
||||||
|
export const getLogo = ()=>{
|
||||||
|
return getRequest (`${commonUrl}/common/common/logo`);
|
||||||
|
};
|
||||||
|
|
|
@ -105,3 +105,14 @@ export const getArticle = (params) => {
|
||||||
export const delArticle = (ids) => {
|
export const delArticle = (ids) => {
|
||||||
return deleteRequest(`/other/article/delByIds/${ids}`)
|
return deleteRequest(`/other/article/delByIds/${ids}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//获取隐私协议数据
|
||||||
|
export const getPrivacy = (type) => {
|
||||||
|
return getRequest(`/other/article/type/${type}`)
|
||||||
|
}
|
||||||
|
//修改隐私协议数据
|
||||||
|
export const updatePrivacy = (id,type,params) => {
|
||||||
|
return putRequest(`/other/article/updateArticle/${type}?id=${id}`, params, {"Content-Type": "application/json"})
|
||||||
|
}
|
|
@ -6,7 +6,8 @@
|
||||||
<!-- 左侧菜单 -->
|
<!-- 左侧菜单 -->
|
||||||
<div class="sidebar-menu-con menu-bar">
|
<div class="sidebar-menu-con menu-bar">
|
||||||
<div class="logo-con">
|
<div class="logo-con">
|
||||||
<img src="../assets/logo.png" key="max-logo" />
|
<!-- <img src="../assets/logo.png" key="max-logo" /> -->
|
||||||
|
<img :src="domainLogo" key="max-logo" />
|
||||||
</div>
|
</div>
|
||||||
<shrinkable-menu></shrinkable-menu>
|
<shrinkable-menu></shrinkable-menu>
|
||||||
</div>
|
</div>
|
||||||
|
@ -23,8 +24,17 @@
|
||||||
<message-tip v-if="tipsMessage" :res="tipsMessage"></message-tip>
|
<message-tip v-if="tipsMessage" :res="tipsMessage"></message-tip>
|
||||||
<!-- 用户头像 -->
|
<!-- 用户头像 -->
|
||||||
<div class="user-dropdown-menu-con">
|
<div class="user-dropdown-menu-con">
|
||||||
<Row type="flex" justify="end" align="middle" class="user-dropdown-innercon">
|
<Row
|
||||||
<Dropdown transfer trigger="hover" @on-click="handleClickUserDropdown">
|
type="flex"
|
||||||
|
justify="end"
|
||||||
|
align="middle"
|
||||||
|
class="user-dropdown-innercon"
|
||||||
|
>
|
||||||
|
<Dropdown
|
||||||
|
transfer
|
||||||
|
trigger="hover"
|
||||||
|
@on-click="handleClickUserDropdown"
|
||||||
|
>
|
||||||
<div class="dropList">
|
<div class="dropList">
|
||||||
<span class="main-user-name">{{ userInfo.nickName }}</span>
|
<span class="main-user-name">{{ userInfo.nickName }}</span>
|
||||||
<Icon type="md-arrow-dropdown" />
|
<Icon type="md-arrow-dropdown" />
|
||||||
|
@ -37,8 +47,12 @@
|
||||||
<DropdownItem name="personalCenter">{{
|
<DropdownItem name="personalCenter">{{
|
||||||
$t("userCenter")
|
$t("userCenter")
|
||||||
}}</DropdownItem>
|
}}</DropdownItem>
|
||||||
<DropdownItem name="changePass">{{ $t("changePass") }}</DropdownItem>
|
<DropdownItem name="changePass">{{
|
||||||
<DropdownItem name="loginOut" divided>{{ $t("logout") }}</DropdownItem>
|
$t("changePass")
|
||||||
|
}}</DropdownItem>
|
||||||
|
<DropdownItem name="loginOut" divided>{{
|
||||||
|
$t("logout")
|
||||||
|
}}</DropdownItem>
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
</Row>
|
</Row>
|
||||||
|
@ -69,7 +83,8 @@ import messageTip from "./main-components/message-tip.vue";
|
||||||
import circleLoading from "@/views/my-components/lili/circle-loading.vue";
|
import circleLoading from "@/views/my-components/lili/circle-loading.vue";
|
||||||
import Cookies from "js-cookie";
|
import Cookies from "js-cookie";
|
||||||
import util from "@/libs/util.js";
|
import util from "@/libs/util.js";
|
||||||
import { getNoticePage, logout } from "@/api/index";
|
import { getNoticePage, logout, getSetting } from "@/api/index";
|
||||||
|
import {getLogo} from "@/api/common"
|
||||||
|
|
||||||
var client;
|
var client;
|
||||||
export default {
|
export default {
|
||||||
|
@ -85,6 +100,7 @@ export default {
|
||||||
userInfo: "", // 用户信息
|
userInfo: "", // 用户信息
|
||||||
navType: 1, // nav类型
|
navType: 1, // nav类型
|
||||||
tipsMessage: "", // 通知消息
|
tipsMessage: "", // 通知消息
|
||||||
|
domainLogo: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -113,6 +129,31 @@ export default {
|
||||||
if (currWidth <= 1200) {
|
if (currWidth <= 1200) {
|
||||||
this.sliceNum = 2;
|
this.sliceNum = 2;
|
||||||
}
|
}
|
||||||
|
//获取domainLogo
|
||||||
|
getSetting("BASE_SETTING").then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
//动态获取icon
|
||||||
|
this.setStore("icon", res.result.domainLogo);
|
||||||
|
this.domainLogo = res.result.domainLogo;
|
||||||
|
let link =
|
||||||
|
document.querySelector("link[rel*='icon']") ||
|
||||||
|
document.createElement("link");
|
||||||
|
link.type = "image/x-icon";
|
||||||
|
link.href = res.result.domainLogo;
|
||||||
|
link.rel = "shortcut icon";
|
||||||
|
document.getElementsByTagName("head")[0].appendChild(link);
|
||||||
|
//动态获取siteName
|
||||||
|
this.setStore("title", res.result.siteName);
|
||||||
|
window.document.title = res.result.siteName + " - 运营后台";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
getLogo().then((res)=>{
|
||||||
|
if(res.success&&res.result.settingValue){
|
||||||
|
let data = JSON.parse(res.result.settingValue);
|
||||||
|
|
||||||
|
console.log(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
// 读取未读消息数
|
// 读取未读消息数
|
||||||
getNoticePage({}).then((res) => {
|
getNoticePage({}).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|
|
@ -0,0 +1,261 @@
|
||||||
|
<template>
|
||||||
|
<div class="wrapper">
|
||||||
|
<Row>
|
||||||
|
<Col span="24">
|
||||||
|
<Card class="article-detail">
|
||||||
|
<Table :loading="loading" border :columns="columns" :data="data" ref="table">
|
||||||
|
</Table>
|
||||||
|
</Card>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
<template v-if="!selected">
|
||||||
|
<Modal :title="modalTitle" v-model="modalVisible" :mask-closable="false" :width="1100">
|
||||||
|
<Form ref="form" :model="form.article" :label-width="100">
|
||||||
|
<FormItem label="文章标题" prop="title">
|
||||||
|
<Input v-model="form.article.title" clearable style="width: 40%" />
|
||||||
|
</FormItem>
|
||||||
|
<FormItem label="文章分类" prop="categoryId">
|
||||||
|
<Select v-model="treeValue" placeholder="请选择" clearable style="width: 180px">
|
||||||
|
<Option :value="treeValue" style="display: none">{{
|
||||||
|
treeValue
|
||||||
|
}}
|
||||||
|
</Option>
|
||||||
|
<Tree :data="treeDataDefault" @on-select-change="handleCheckChange"></Tree>
|
||||||
|
</Select>
|
||||||
|
</FormItem>
|
||||||
|
<FormItem label="文章排序" prop="sort">
|
||||||
|
<Input type="number" v-model="form.article.sort" clearable style="width: 10%" />
|
||||||
|
</FormItem>
|
||||||
|
<FormItem class="form-item-view-el" label="文章内容" prop="content">
|
||||||
|
<editor openXss v-model="form.article.content"></editor>
|
||||||
|
</FormItem>
|
||||||
|
<FormItem label="是否展示" prop="openStatus">
|
||||||
|
<i-switch size="large" v-model="form.article.openStatus" >
|
||||||
|
<span slot="open">展示</span>
|
||||||
|
<span slot="close">隐藏</span>
|
||||||
|
</i-switch>
|
||||||
|
</FormItem>
|
||||||
|
</Form>
|
||||||
|
<div slot="footer">
|
||||||
|
<Button type="text" @click="modalVisible = false">取消</Button>
|
||||||
|
<Button type="primary" :loading="submitLoading" @click="handleSubmit">提交</Button>
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
getArticleCategory,
|
||||||
|
updatePrivacy,
|
||||||
|
getPrivacy,
|
||||||
|
} from "@/api/pages";
|
||||||
|
import editor from "@/views/my-components/lili/editor";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "privacy",
|
||||||
|
components: {
|
||||||
|
editor,
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
selected: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false, // 表单加载状态
|
||||||
|
modalVisible: false, // 添加或编辑显示
|
||||||
|
treeDataDefault: [],
|
||||||
|
list: [], // 列表
|
||||||
|
treeValue: "", // 选择的分类
|
||||||
|
//树结构
|
||||||
|
treeData: [],
|
||||||
|
submitLoading: false, // 添加或编辑提交状态
|
||||||
|
modalTitle:'',
|
||||||
|
currindex:'',
|
||||||
|
form: {
|
||||||
|
type:'',
|
||||||
|
article:{
|
||||||
|
openStatus: false,
|
||||||
|
title: '',
|
||||||
|
categoryId: '',
|
||||||
|
sort: 1,
|
||||||
|
content: '',
|
||||||
|
type:''
|
||||||
|
},
|
||||||
|
id:''
|
||||||
|
},
|
||||||
|
columns: [
|
||||||
|
// 表头
|
||||||
|
{
|
||||||
|
title:"协议名称",
|
||||||
|
key: "name",
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
// 表头
|
||||||
|
{
|
||||||
|
title:"协议类型",
|
||||||
|
key: "type",
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
key: "action",
|
||||||
|
align: "center",
|
||||||
|
width: 230,
|
||||||
|
render: (h, params) => {
|
||||||
|
return h("div", [
|
||||||
|
h(
|
||||||
|
"Button",
|
||||||
|
{
|
||||||
|
props: {
|
||||||
|
size: "small",
|
||||||
|
type: "info",
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
marginRight: "5px",
|
||||||
|
},
|
||||||
|
on: {
|
||||||
|
click: () => {
|
||||||
|
this.edit(params.row);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"编辑"
|
||||||
|
)
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
name:'店铺入驻协议',
|
||||||
|
type:'STORE_REGISTER'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'用户协议',
|
||||||
|
type:'USER_AGREEMENT'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'证照信息',
|
||||||
|
type:'LICENSE_INFORMATION'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'关于我们',
|
||||||
|
type:'ABOUT'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'隐私策略',
|
||||||
|
type:'PRIVACY_POLICY'
|
||||||
|
},
|
||||||
|
], // 表单数据
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化数据
|
||||||
|
init() {
|
||||||
|
this.getAllList(0);
|
||||||
|
},
|
||||||
|
// 文章分类的选择事件
|
||||||
|
handleCheckChange(data) {
|
||||||
|
let value = "";
|
||||||
|
let title = "";
|
||||||
|
this.list = [];
|
||||||
|
data.forEach((item, index) => {
|
||||||
|
value += `${item.value},`;
|
||||||
|
title += `${item.title},`;
|
||||||
|
});
|
||||||
|
value = value.substring(0, value.length - 1);
|
||||||
|
title = title.substring(0, title.length - 1);
|
||||||
|
this.list.push({
|
||||||
|
value,
|
||||||
|
title,
|
||||||
|
});
|
||||||
|
this.form.article.categoryId = value;
|
||||||
|
},
|
||||||
|
// 获取全部文章分类
|
||||||
|
getAllList(parent_id) {
|
||||||
|
this.loading = true;
|
||||||
|
getArticleCategory(parent_id).then((res) => {
|
||||||
|
this.loading = false;
|
||||||
|
if (res.success) {
|
||||||
|
this.treeData = this.getTree(res.result);
|
||||||
|
this.treeDataDefault = this.getTree(res.result);
|
||||||
|
this.treeData.unshift({
|
||||||
|
title: "全部",
|
||||||
|
level: 0,
|
||||||
|
children: [],
|
||||||
|
id: "0",
|
||||||
|
categoryId: 0,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 文章分类格式化方法
|
||||||
|
getTree(tree = []) {
|
||||||
|
let arr = [];
|
||||||
|
if (!!tree && tree.length !== 0) {
|
||||||
|
tree.forEach((item) => {
|
||||||
|
let obj = {};
|
||||||
|
obj.title = item.articleCategoryName;
|
||||||
|
obj.value = item.id;
|
||||||
|
obj.attr = item.articleCategoryName; // 其他你想要添加的属性
|
||||||
|
obj.expand = false;
|
||||||
|
obj.selected = false;
|
||||||
|
obj.children = this.getTree(item.children); // 递归调用
|
||||||
|
arr.push(obj);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
},
|
||||||
|
// 编辑文章modal
|
||||||
|
edit(data) {
|
||||||
|
this.modalType = 1;
|
||||||
|
this.modalTitle = "编辑协议";
|
||||||
|
this.form.article = {
|
||||||
|
content:''
|
||||||
|
};
|
||||||
|
this.$refs.form.resetFields();
|
||||||
|
this.loading = true;
|
||||||
|
getPrivacy(data.type).then((res) => {
|
||||||
|
this.loading = false;
|
||||||
|
if(res.result){
|
||||||
|
this.modalVisible = true;
|
||||||
|
this.form.article.categoryId = res.result.categoryId;
|
||||||
|
console.log(this.treeDataDefault);
|
||||||
|
this.form.id = res.result.id;
|
||||||
|
this.form.article.content =res.result.content;
|
||||||
|
this.form.article.title = res.result.title;
|
||||||
|
this.form.article.sort = res.result.sort;
|
||||||
|
this.form.article.openStatus = res.result.openStatus;
|
||||||
|
this.form.article.type = res.result.type;
|
||||||
|
this.form.type = res.result.type;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.loading = false;
|
||||||
|
},
|
||||||
|
// 添加文章
|
||||||
|
handleSubmit() {
|
||||||
|
this.$refs.form.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.submitLoading = true;
|
||||||
|
// 编辑
|
||||||
|
updatePrivacy(this.form.id,this.form.type,this.form.article).then((res) => {
|
||||||
|
this.submitLoading = false;
|
||||||
|
if (res.success) {
|
||||||
|
this.$Message.success("操作成功");
|
||||||
|
this.modalVisible = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.init();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
|
@ -14,66 +14,86 @@
|
||||||
<p slot="title">账单详细</p>
|
<p slot="title">账单详细</p>
|
||||||
|
|
||||||
<div class="tips-status">
|
<div class="tips-status">
|
||||||
<span>账单状态</span>
|
<span>账单状态 :</span>
|
||||||
<span class="theme_color">{{bill.billStatus | unixSellerBillStatus}}</span>
|
<span class="theme_color">{{
|
||||||
|
bill.billStatus | unixSellerBillStatus
|
||||||
|
}}</span>
|
||||||
<Button
|
<Button
|
||||||
v-if="bill.billStatus == 'CHECK'"
|
v-if="bill.billStatus == 'CHECK'"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="pass()"
|
@click="pass()"
|
||||||
>付款</Button>
|
>付款</Button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr v-for="(item, index) in data" :key="index">
|
<tr v-for="(item, index) in data" :key="index">
|
||||||
<td>{{item.name}}</td><td>{{item.value}}</td>
|
<td>{{ item.name }}:</td>
|
||||||
|
<td>{{ item.value }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div>
|
<div>
|
||||||
<h3 class="ml_10">结算详细</h3>
|
<h3 class="ml_10" style="padding:10px;">结算详细</h3>
|
||||||
<div class="bill-detail-price">
|
<div class="bill-detail-price">
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<p>积分结算金额</p>
|
||||||
|
<p class="increase-color">
|
||||||
|
+{{ bill.pointSettlementPrice || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>平台优惠券补贴</p>
|
||||||
|
<p class="increase-color">
|
||||||
|
+{{ bill.siteCouponCommission || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<p>砍价商品结算金额</p>
|
||||||
|
<p class="increase-color">
|
||||||
|
+{{ bill.kanjiaSettlementPrice || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>退单分销返现返还</p>
|
||||||
|
<p class="increase-color">
|
||||||
|
+{{ bill.distributionRefundCommission || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>退单产生退还佣金金额</p>
|
||||||
|
<p class="increase-color">
|
||||||
|
+{{ bill.refundCommissionPrice || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<p>退单金额</p>
|
<p>退单金额</p>
|
||||||
<p class="theme_color">-{{bill.refundPrice || 0 | unitPrice('¥')}}</p>
|
<p class="theme_color">
|
||||||
|
-{{ bill.refundPrice || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
<p>平台收取佣金</p>
|
<p>平台收取佣金</p>
|
||||||
<p class="theme_color">-{{bill.commissionPrice || 0 | unitPrice('¥')}}</p>
|
<p class="theme_color">
|
||||||
|
-{{ bill.commissionPrice || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
</span>
|
</span>
|
||||||
<span>
|
|
||||||
<p>退单产生退还佣金金额</p>
|
|
||||||
<p class="increase-color">+{{bill.refundCommissionPrice || 0 | unitPrice('¥')}}</p>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
<p>分销返现支出</p>
|
<p>分销返现支出</p>
|
||||||
<p class="theme_color">-{{bill.distributionCommission || 0 | unitPrice('¥')}}</p>
|
<p class="theme_color">
|
||||||
|
-{{ bill.distributionCommission || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
</span>
|
</span>
|
||||||
<span>
|
|
||||||
<p>退单分销返现返还</p>
|
|
||||||
<p class="increase-color">+{{bill.distributionRefundCommission || 0 | unitPrice('¥')}}</p>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
<p>退单平台优惠券补贴返还</p>
|
<p>退单平台优惠券补贴返还</p>
|
||||||
<p class="theme_color">-{{bill.siteCouponRefundCommission || 0 | unitPrice('¥')}}</p>
|
<p class="theme_color">
|
||||||
</span>
|
-{{ bill.siteCouponRefundCommission || 0 | unitPrice("¥") }}
|
||||||
|
</p>
|
||||||
<span>
|
|
||||||
<p>平台优惠券补贴</p>
|
|
||||||
<p class="increase-color">+{{bill.siteCouponCommission || 0 | unitPrice('¥')}}</p>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span>
|
|
||||||
<p>积分结算金额</p>
|
|
||||||
<p class="increase-color">+{{bill.pointSettlementPrice || 0 | unitPrice('¥')}}</p>
|
|
||||||
</span>
|
|
||||||
<span>
|
|
||||||
<p>砍价商品结算金额</p>
|
|
||||||
<p class="increase-color">+{{bill.kanjiaSettlementPrice || 0 | unitPrice('¥')}}</p>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -136,7 +156,8 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
columns: [ // 表头
|
columns: [
|
||||||
|
// 表头
|
||||||
{
|
{
|
||||||
title: "项目",
|
title: "项目",
|
||||||
key: "name",
|
key: "name",
|
||||||
|
@ -147,7 +168,8 @@ export default {
|
||||||
key: "value",
|
key: "value",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
data: [ // 数据
|
data: [
|
||||||
|
// 数据
|
||||||
{
|
{
|
||||||
name: "计算中",
|
name: "计算中",
|
||||||
value: 0,
|
value: 0,
|
||||||
|
@ -179,12 +201,13 @@ export default {
|
||||||
{
|
{
|
||||||
name: "计算中",
|
name: "计算中",
|
||||||
value: 0,
|
value: 0,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
id: "", // 账单id
|
id: "", // 账单id
|
||||||
bill: {}, // 账单详情
|
bill: {}, // 账单详情
|
||||||
order: [], // 订单列表
|
order: [], // 订单列表
|
||||||
orderParam: { // 请求参数
|
orderParam: {
|
||||||
|
// 请求参数
|
||||||
pageNumber: 1, // 当前页数
|
pageNumber: 1, // 当前页数
|
||||||
pageSize: 10, // 页面大小
|
pageSize: 10, // 页面大小
|
||||||
sort: "id", // 默认排序字段
|
sort: "id", // 默认排序字段
|
||||||
|
@ -193,18 +216,19 @@ export default {
|
||||||
startDate: null,
|
startDate: null,
|
||||||
endDate: null,
|
endDate: null,
|
||||||
},
|
},
|
||||||
orderColumns: [ // 订单表头
|
orderColumns: [
|
||||||
|
// 订单表头
|
||||||
{
|
{
|
||||||
title: "入账时间",
|
title: "入账时间",
|
||||||
key: "createTime",
|
key: "createTime",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "订单编号",
|
title: "订单编号",
|
||||||
key: "orderSn",
|
key: "orderSn",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "订单金额",
|
title: "订单金额",
|
||||||
|
@ -233,17 +257,16 @@ export default {
|
||||||
key: "siteCouponPrice",
|
key: "siteCouponPrice",
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
if (params.row.siteCouponPrice == null) {
|
if (params.row.siteCouponPrice == null) {
|
||||||
return h(
|
return h("div", "-");
|
||||||
"div",
|
|
||||||
"-"
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
return h(
|
return h(
|
||||||
"div",
|
"div",
|
||||||
this.$options.filters.unitPrice(params.row.siteCouponPrice, "¥")
|
this.$options.filters.unitPrice(
|
||||||
|
params.row.siteCouponPrice,
|
||||||
|
"¥"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -251,17 +274,16 @@ export default {
|
||||||
key: "siteCouponCommission",
|
key: "siteCouponCommission",
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
if (params.row.siteCouponCommission == null) {
|
if (params.row.siteCouponCommission == null) {
|
||||||
return h(
|
return h("div", "-");
|
||||||
"div",
|
|
||||||
"-"
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
return h(
|
return h(
|
||||||
"div",
|
"div",
|
||||||
this.$options.filters.unitPrice(params.row.siteCouponCommission, "¥")
|
this.$options.filters.unitPrice(
|
||||||
|
params.row.siteCouponCommission,
|
||||||
|
"¥"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -270,17 +292,16 @@ export default {
|
||||||
width: 120,
|
width: 120,
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
if (params.row.distributionRebate == null) {
|
if (params.row.distributionRebate == null) {
|
||||||
return h(
|
return h("div", "-");
|
||||||
"div",
|
|
||||||
"-"
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
return h(
|
return h(
|
||||||
"div",
|
"div",
|
||||||
this.$options.filters.unitPrice(params.row.distributionRebate, "¥")
|
this.$options.filters.unitPrice(
|
||||||
|
params.row.distributionRebate,
|
||||||
|
"¥"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -294,10 +315,10 @@ export default {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
],
|
],
|
||||||
refund: [], // 退款单
|
refund: [], // 退款单
|
||||||
refundParam: { // 请求参数
|
refundParam: {
|
||||||
|
// 请求参数
|
||||||
flowTypeEnum: "PAY",
|
flowTypeEnum: "PAY",
|
||||||
pageNumber: 1, // 当前页数
|
pageNumber: 1, // 当前页数
|
||||||
pageSize: 10, // 页面大小
|
pageSize: 10, // 页面大小
|
||||||
|
@ -307,30 +328,31 @@ export default {
|
||||||
startDate: null,
|
startDate: null,
|
||||||
endDate: null,
|
endDate: null,
|
||||||
},
|
},
|
||||||
refundColumns: [ // 退款单表头
|
refundColumns: [
|
||||||
|
// 退款单表头
|
||||||
{
|
{
|
||||||
title: "退款时间",
|
title: "退款时间",
|
||||||
key: "createTime",
|
key: "createTime",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "退款流水编号",
|
title: "退款流水编号",
|
||||||
key: "sn",
|
key: "sn",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "订单编号",
|
title: "订单编号",
|
||||||
key: "orderSn",
|
key: "orderSn",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "售后编号",
|
title: "售后编号",
|
||||||
key: "refundSn",
|
key: "refundSn",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "退款金额",
|
title: "退款金额",
|
||||||
|
@ -358,7 +380,7 @@ export default {
|
||||||
{
|
{
|
||||||
title: "退还平台优惠券",
|
title: "退还平台优惠券",
|
||||||
key: "siteCouponCommission",
|
key: "siteCouponCommission",
|
||||||
minWidth: 110
|
minWidth: 110,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "退还分销",
|
title: "退还分销",
|
||||||
|
@ -366,17 +388,16 @@ export default {
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
if (params.row.distributionRebate == null) {
|
if (params.row.distributionRebate == null) {
|
||||||
return h(
|
return h("div", "-");
|
||||||
"div",
|
|
||||||
"-"
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
return h(
|
return h(
|
||||||
"div",
|
"div",
|
||||||
this.$options.filters.unitPrice(params.row.distributionRebate, "¥")
|
this.$options.filters.unitPrice(
|
||||||
|
params.row.distributionRebate,
|
||||||
|
"¥"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -386,21 +407,15 @@ export default {
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
if (params.row.billPrice == null) {
|
if (params.row.billPrice == null) {
|
||||||
return h(
|
return h("div", "-");
|
||||||
"div",
|
|
||||||
"-"
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
return h(
|
return h(
|
||||||
"div",
|
"div",
|
||||||
this.$options.filters.unitPrice(params.row.billPrice, "¥")
|
this.$options.filters.unitPrice(params.row.billPrice, "¥")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
orderTotal: 0, // 订单总数
|
orderTotal: 0, // 订单总数
|
||||||
refundTotal: 0, // 退款单总数
|
refundTotal: 0, // 退款单总数
|
||||||
|
@ -421,12 +436,12 @@ export default {
|
||||||
//退款单页数发生变化
|
//退款单页数发生变化
|
||||||
refundOrderChangePage(v) {
|
refundOrderChangePage(v) {
|
||||||
this.refundParam.pageNumber = v;
|
this.refundParam.pageNumber = v;
|
||||||
this.getRefund()
|
this.getRefund();
|
||||||
},
|
},
|
||||||
//退款单每页条数变化
|
//退款单每页条数变化
|
||||||
refundOrderChangePageSize(v) {
|
refundOrderChangePageSize(v) {
|
||||||
this.refundParam.pageSize = v;
|
this.refundParam.pageSize = v;
|
||||||
tthis.getRefund()
|
tthis.getRefund();
|
||||||
},
|
},
|
||||||
clickTabs(index) {
|
clickTabs(index) {
|
||||||
if (index == 1) {
|
if (index == 1) {
|
||||||
|
@ -438,7 +453,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
pass() {
|
pass() {
|
||||||
API_Shop.pay(this.id).then((res) => {
|
API_Shop.pay(this.id).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
@ -487,10 +501,15 @@ export default {
|
||||||
this.data[5].name = "平台打款时间";
|
this.data[5].name = "平台打款时间";
|
||||||
this.data[5].value = bill.payTime === null ? "未付款" : bill.payTime;
|
this.data[5].value = bill.payTime === null ? "未付款" : bill.payTime;
|
||||||
this.data[6].name = "订单付款总金额";
|
this.data[6].name = "订单付款总金额";
|
||||||
this.data[6].value = filters.unitPrice(bill.orderPrice?bill.orderPrice:0, "¥");
|
this.data[6].value = filters.unitPrice(
|
||||||
|
bill.orderPrice ? bill.orderPrice : 0,
|
||||||
|
"¥"
|
||||||
|
);
|
||||||
this.data[7].name = "结算金额";
|
this.data[7].name = "结算金额";
|
||||||
this.data[7].value = filters.unitPrice(bill.billPrice?bill.billPrice:0, "¥");
|
this.data[7].value = filters.unitPrice(
|
||||||
|
bill.billPrice ? bill.billPrice : 0,
|
||||||
|
"¥"
|
||||||
|
);
|
||||||
},
|
},
|
||||||
getOrder() {
|
getOrder() {
|
||||||
API_Shop.getStoreFlow(this.id, this.orderParam).then((res) => {
|
API_Shop.getStoreFlow(this.id, this.orderParam).then((res) => {
|
||||||
|
@ -543,8 +562,9 @@ export default {
|
||||||
}
|
}
|
||||||
table {
|
table {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-left: 20px;
|
margin-left: 40px;
|
||||||
tr {
|
tr {
|
||||||
|
font-size: 12px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
td:nth-child(1) {
|
td:nth-child(1) {
|
||||||
|
@ -561,10 +581,15 @@ table{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
.increase-color {
|
.increase-color {
|
||||||
color: green;
|
color: green;
|
||||||
|
margin-top:5px
|
||||||
}
|
}
|
||||||
|
.theme_color {
|
||||||
|
margin-top:5px
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -93,9 +93,9 @@
|
||||||
<p class="item">
|
<p class="item">
|
||||||
<span class="label">退货地址:</span>
|
<span class="label">退货地址:</span>
|
||||||
<span class="info">
|
<span class="info">
|
||||||
{{storeInfo.salesConsigneeName || storeInfo.salesConsigneeMobile || storeInfo.salesConsigneeAddressPath || storeInfo.salesConsigneeDetail?storeInfo.salesConsigneeName + storeInfo.salesConsigneeMobile +' '+ storeInfo.salesConsigneeAddressPath + storeInfo.salesConsigneeDetail:'暂未完善'}}
|
{{storeInfo.salesConsigneeName !== 'null' ? storeInfo.salesConsigneeName : '' || storeInfo.salesConsigneeMobile !=='null' ?storeInfo.salesConsigneeMobile:''|| storeInfo.salesConsigneeAddressPath !=='null'?storeInfo.salesConsigneeAddressPath:'' || storeInfo.salesConsigneeDetail !=='null'?storeInfo.salesConsigneeDetail:'' ?storeInfo.salesConsigneeName + storeInfo.salesConsigneeMobile +' '+ storeInfo.salesConsigneeAddressPath + storeInfo.salesConsigneeDetail:'暂未完善'}}
|
||||||
</span>
|
|
||||||
|
|
||||||
|
</span>
|
||||||
</p>
|
</p>
|
||||||
<p class="item">
|
<p class="item">
|
||||||
<span class="label">店铺定位:</span>
|
<span class="label">店铺定位:</span>
|
||||||
|
|
|
@ -56,7 +56,10 @@ import { handleSubmit } from "./validate";
|
||||||
import ossManage from "@/views/sys/oss-manage/ossManage";
|
import ossManage from "@/views/sys/oss-manage/ossManage";
|
||||||
export default {
|
export default {
|
||||||
title: "基础设置",
|
title: "基础设置",
|
||||||
props: ["res", "type"],
|
props: {
|
||||||
|
res:Object,
|
||||||
|
type:''
|
||||||
|
},
|
||||||
components: {
|
components: {
|
||||||
ossManage,
|
ossManage,
|
||||||
},
|
},
|
||||||
|
@ -104,6 +107,8 @@ export default {
|
||||||
setSetting(this.type, this.formValidate).then((res) => {
|
setSetting(this.type, this.formValidate).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$Message.success("保存成功!");
|
this.$Message.success("保存成功!");
|
||||||
|
localStorage.setItem("icon", this.formValidate.domainLogo);
|
||||||
|
window.document.title = this.formValidate.siteName + " - 运营后台";
|
||||||
} else {
|
} else {
|
||||||
this.$Message.error("保存失败!");
|
this.$Message.error("保存失败!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
</Input>
|
</Input>
|
||||||
|
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="积分抵扣付款" prop="money">
|
<!-- <FormItem label="积分抵扣付款" prop="money">
|
||||||
<Input type="number" v-model="formValidate.money">
|
<Input type="number" v-model="formValidate.money">
|
||||||
<span slot="prepend">积分</span>
|
<span slot="prepend">积分</span>
|
||||||
<span slot="append"> = 1 人民币</span>
|
<span slot="append"> = 1 人民币</span>
|
||||||
</Input>
|
</Input>
|
||||||
|
|
||||||
</FormItem>
|
</FormItem> -->
|
||||||
|
|
||||||
<FormItem label="注册账号" prop="register">
|
<FormItem label="注册账号" prop="register">
|
||||||
<Input type="number" v-model="formValidate.register">
|
<Input type="number" v-model="formValidate.register">
|
||||||
|
|
|
@ -432,15 +432,15 @@ export const result = [{
|
||||||
component: "shop/shopSetting",
|
component: "shop/shopSetting",
|
||||||
children: null,
|
children: null,
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
name: "shopAddress",
|
// name: "shopAddress",
|
||||||
level: 2,
|
// level: 2,
|
||||||
type: 0,
|
// type: 0,
|
||||||
title: "自提管理",
|
// title: "自提管理",
|
||||||
path: "shopAddress",
|
// path: "shopAddress",
|
||||||
component: "shop/shopAddress",
|
// component: "shop/shopAddress",
|
||||||
children: null,
|
// children: null,
|
||||||
}
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue