管理端注释添加完成

master
mabo 2021-07-27 15:59:34 +08:00
parent 59e1aedbf3
commit eb4a5e4fdc
44 changed files with 485 additions and 996 deletions

View File

@ -34,7 +34,6 @@ body {
height: 100%;
background: #f0f0f0;
font-size: 12px;
/* overflow: hidden; */
}
.app-main {

View File

@ -1,7 +1,6 @@
<style lang="scss">
@import "./main.scss";
</style>
<template>
<div class="main">
<!-- 左侧菜单 -->
@ -94,10 +93,7 @@ export default {
},
lang() {
return this.$store.state.app.lang;
},
mesCount() {
return 0;
},
}
},
methods: {

View File

@ -59,7 +59,6 @@ import {
} from "@/api/index";
export default {
name: "customWords",
components: {},
data() {
return {
loading: true, //
@ -83,7 +82,7 @@ export default {
name: [
{
required: true,
message: "请输入敏感词",
message: "请输入自定义分词",
trigger: "blur",
},
],
@ -180,37 +179,23 @@ export default {
this.clearSelectAll();
},
changePageSize(v) {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = v;
this.getDataList();
},
handleSearch() {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10;
this.getDataList();
},
handleReset() {
this.$refs.searchForm.resetFields();
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10;
//
this.getDataList();
},
changeSort(e) {
this.searchForm.sort = e.key;
this.searchForm.order = e.order;
if (e.order === "normal") {
this.searchForm.order = "";
}
this.getDataList();
},
clearSelectAll() {
this.$refs.table.selectAll(false);
},
//
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
},
//
getDataList() {
this.loading = true;
@ -224,13 +209,13 @@ export default {
this.total = this.data.length;
this.loading = false;
},
//
handleSubmit() {
this.$refs.form.validate((valid) => {
if (valid) {
this.submitLoading = true;
if (this.modalType == 0) {
// id
delete this.form.id;
insertCustomWords(this.form).then((res) => {
this.submitLoading = false;
@ -255,6 +240,7 @@ export default {
}
});
},
//
add() {
this.modalType = 0;
this.modalTitle = "添加";
@ -263,6 +249,7 @@ export default {
this.modalVisible = true;
},
//
detail(v) {
this.modalType = 1;
this.id = v.id;
@ -270,6 +257,7 @@ export default {
this.modalVisible = true;
this.form.name = v.name;
},
//
remove(v) {
this.$Modal.confirm({
title: "确认删除",
@ -288,6 +276,7 @@ export default {
},
});
},
//
delAll() {
if (this.selectCount <= 0) {
this.$Message.warning("您还未选择要删除的数据");

View File

@ -45,7 +45,7 @@ export default {
LangSwitch,
Header,
Footer,
verify,
verify
},
data() {
return {
@ -77,7 +77,6 @@ export default {
};
},
methods: {
mounted() {},
afterLogin(res) {
//
let accessToken = res.result.accessToken;

View File

@ -41,9 +41,7 @@
</Form>
<div slot="footer">
<Button type="text" @click="modalVisible = false">取消</Button>
<Button type="primary" :loading="submitLoading" @click="handleSubmit"
>提交</Button
>
<Button type="primary" :loading="submitLoading" @click="handleSubmit"></Button>
</div>
</Modal>
</div>

View File

@ -6,7 +6,6 @@
</Card>
</Affix>
<Card class="card">
<Tabs @on-click="handleClickType">
<TabPane label="热门商品订单数量" name="NUM">
<Table :columns="columns" :data="data"></Table>
@ -26,9 +25,8 @@ import affixTime from "@/views/lili-components/affix-time";
export default {
components: {
affixTime,
memberLayout,
memberLayout
},
data() {
return {
@ -63,11 +61,12 @@ export default {
};
},
methods: {
// tab
handleClickType(name) {
this.params.type = name;
this.getData();
},
//
clickBreadcrumb(item, index) {
let callback = item;
let type = this.params.type;
@ -75,6 +74,7 @@ export default {
this.params.type = type;
this.getData();
},
//
getData() {
Promise.all([API_Goods.goodsStatistics(this.params)]).then((res) => {
if (res[0].result) {

View File

@ -16,7 +16,7 @@
<Card class="card">
<div>
<h4>客户增长报表</h4>
<Table style="margin-top:10px;" stripe :columns="columns" :data="data"></Table>
<Table class="mt_10" stripe :columns="columns" :data="data"></Table>
</div>
</Card>
@ -30,7 +30,6 @@ import affixTime from "@/views/lili-components/affix-time";
export default {
components: { affixTime },
data() {
return {
columns: [ //
@ -169,14 +168,14 @@ export default {
this.orderChart.render();
},
//
clickBreadcrumb(item, index) {
let callback = item;
console.warn(callback);
this.params = {...callback};
},
//
init() {
API_Member.getMemberStatistics(this.params).then((res) => {
if (res.result) {

View File

@ -3,9 +3,7 @@
<div class="wrapper">
<Affix :offset-top="100">
<Card class="card fixed-bottom">
<affixTime @selected="clickBreadcrumb" />
</Card>
</Affix>
@ -68,7 +66,7 @@
</div>
<div class="card-item">
<div class="card-item-label">退单金额</div>
<div class="card-item-value">{{overViewList.refundOrderPrice || 0}}</div>
<div class="card-item-value">{{overViewList.refundOrderPrice || 0 | unitPrice('¥')}}</div>
</div>
</div>
@ -155,7 +153,7 @@
<Table stripe :columns="columns" :data="data"></Table>
</div>
<Page @on-change="(index)=>{refundParams.pageNumber = index}" @on-page-size-change="(size)=>{refundParams.pageSize= size}" class="mt_10" show-total show-elevator :total="total" />
<Page size="small" @on-change="(index)=>{refundParams.pageNumber = index}" @on-page-size-change="(size)=>{refundParams.pageSize= size,refundParams.pageNumber = 1}" class="mt_10" show-total show-sizer show-elevator :total="total" />
</div>

View File

@ -91,8 +91,7 @@ export default {
};
</script>
<style lang="scss" scoped>
.wrapper {
}
.shop {
padding: 10px 0;
background: #fff;
@ -139,13 +138,14 @@ h3 {
}
.label-item {
margin: 10px 0;
width: 20%;
width: 33%;
padding: 8px;
align-items: center;
font-weight: bold;
display: flex;
> span {
padding: 8px;
> span:nth-child(1) {
width: 70px;
color: #999;
}
}
</style>

View File

@ -1,6 +1,5 @@
<template>
<div class="wrapper">
<div class="shop">
<h3>售后详情</h3>
<div class="shop-item">
@ -15,11 +14,11 @@
<div class="label-item">
<span>退款时间</span>
<span>{{res.refundTime || '暂无'}}</span>
<span>{{res.refundTime ? (new Date(res.refundTime).getTime()/1000 | unixToDate) : '暂无'}}</span>
</div>
<div class="label-item">
<span>申请退款金额</span>
<span>{{res.applyRefundPrice || '0'}}</span>
<span>{{res.applyRefundPrice || 0 | unitPrice('¥')}}</span>
</div>
<div class="label-item">
<span>商家备注</span>
@ -44,7 +43,6 @@
<span>创建时间</span>
<span>{{res.createTime}}</span>
</div>
</div>
<h3>商品详情</h3>
<div class="shop-item">
@ -111,15 +109,12 @@ export default {
};
</script>
<style lang="scss" scoped>
.wrapper {
}
.shop {
padding: 10px 0;
padding: 5px 0;
background: #fff;
}
.shop-item {
display: flex;
flex-wrap: wrap;
}
h3 {
@ -158,13 +153,18 @@ h3 {
}
.label-item {
margin: 10px 0;
width: 20%;
width: 33%;
padding: 8px;
align-items: center;
font-weight: bold;
display: flex;
> span {
padding: 8px;
> span:nth-child(1) {
width: 90px;
color: #999;
}
> span:nth-child(2){
text-align: left;
white-space: wrap;
}
}
</style>

View File

@ -61,11 +61,8 @@ export default {
data() {
return {
//
uvs: 0, // 访
pvs: 0, //
dateList: [
//
{
@ -89,14 +86,12 @@ export default {
value: "LAST_THIRTY",
},
],
orderChart: "", //
params: {
//
searchType: "LAST_SEVEN",
year: "",
month: "",
// storeId: "",
},
columns: [
{
@ -113,7 +108,7 @@ export default {
},
],
data: [], //
data: [], //
};
},
watch: {
@ -129,11 +124,6 @@ export default {
methods: {
//
initChart() {
// legend-filter
/**
* 将数据分成三组来进行展示
*/
let uv = [];
let pv = [];
@ -186,13 +176,13 @@ export default {
this.orderChart.render();
},
//
clickBreadcrumb(item, index) {
let callback = JSON.parse(JSON.stringify(item));
this.params = callback;
},
//
init() {
API_Member.getStatisticsList(this.params).then((res) => {
if (res.result) {
@ -224,16 +214,11 @@ export default {
.table {
margin-top: 10px;
}
.wrapper {
padding-bottom: 200px;
}
.box-item {
display: flex;
flex-direction: column;
width: 25%;
font-weight: bold;
// align-items: center;
justify-content: center;
> div {
margin: 4px;

View File

@ -1,32 +1,22 @@
<template>
<div class="search">
<Row>
<Col>
<Card>
<Row @keydown.enter.native="handleSearch">
<Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form">
<Form-item label="系统类型" prop="orderSn">
<Select v-model="searchForm.type" placeholder="请选择系统类型" clearable style="width: 200px">
<Option value="IOS">苹果</Option>
<Option value="ANDROID">安卓</Option>
</Select>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button>
</Form>
</Row>
<Row class="operation" style="margin-top: 20px">
<Button @click="addAppVersion" type="primary">添加</Button>
</Row>
<Row class="padding-row">
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table>
</Row>
<Row type="flex" justify="end" class="mt_10">
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]"
size="small" show-total show-elevator show-sizer></Page>
</Row>
</Card>
</Col>
</Row>
<Card>
<Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form" @keydown.enter.native="handleSearch">
<Form-item label="系统类型" prop="orderSn">
<Select v-model="searchForm.type" placeholder="请选择系统类型" clearable style="width: 200px">
<Option value="IOS">苹果</Option>
<Option value="ANDROID">安卓</Option>
</Select>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button>
</Form>
<Button class="mt_10 mb_10" @click="addAppVersion" type="primary">添加</Button>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table>
<Row type="flex" justify="end" class="mt_10">
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]"
size="small" show-total show-elevator show-sizer></Page>
</Row>
</Card>
<Modal :title="modalTitle" v-model="modalVisible" :mask-closable="false" :width="1000">
<Form ref="form" :model="form" :label-width="100" :rules="formValidate">
<FormItem label="版本名称" prop="versionName">
@ -111,10 +101,7 @@
import * as API_Setting from "@/api/setting";
export default {
name: "orderList",
components: {
},
name: "appVersion",
data() {
return {
queryModalVisible: false, // modal
@ -156,8 +143,6 @@ export default {
versionUpdateDate: [{ required: true, message: "更新时间不能为空" }],
},
submitLoading: false, //
selectList: [], //
selectCount: 0, //
columns: [
{
title: "版本名称",
@ -277,34 +262,27 @@ export default {
};
},
methods: {
//
init() {
this.getData();
},
//
changePage(v) {
this.searchForm.pageNumber = v;
this.getData();
},
//
changePageSize(v) {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = v;
this.getData();
},
//
handleSearch() {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10;
this.getData();
},
changeSort(e) {
this.searchForm.sort = e.key;
this.searchForm.order = e.order;
if (e.order === "normal") {
this.searchForm.order = "";
}
this.getData();
},
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
},
//
getData() {
this.loading = true;
API_Setting.appVersionPage(this.searchForm).then((res) => {
@ -331,7 +309,7 @@ export default {
content: " ",
};
},
//app
//app
editAppVersion(v) {
this.modalVisible = true;
this.modalTitle = "修改APP版本信息";
@ -373,6 +351,7 @@ export default {
}
});
},
// app
remove(v) {
this.$Modal.confirm({
title: "确认删除",
@ -390,6 +369,7 @@ export default {
},
});
},
//
detail(v) {
this.queryModalVisible = true;
this.form = JSON.parse(JSON.stringify(v));

View File

@ -17,17 +17,10 @@
<Alert show-icon>
当前选择编辑
<span class="select-title">{{ editTitle }}</span>
<a class="select-clear" v-if="form.id" @click="cancelEdit"
<a class="select-clear" v-if="form.id" @click="cancelSelect"
>取消选择</a
>
</Alert>
<!-- <Input
v-model="searchKey"
suffix="ios-search"
@on-change="search"
placeholder="输入部门名搜索"
clearable
/> -->
<div class="tree-bar" :style="{ maxHeight: maxHeight }">
<Tree
ref="tree"
@ -48,7 +41,7 @@
:label-width="100"
:rules="formValidate"
>
<FormItem label="上级部门" prop="parentTitle">
<!-- <FormItem label="上级部门" prop="parentTitle">
<div style="display: flex">
<Input
v-model="form.parentTitle"
@ -76,7 +69,7 @@
</div>
</Poptip>
</div>
</FormItem>
</FormItem> -->
<FormItem label="部门名称" prop="title">
<Input v-model="form.title" />
</FormItem>
@ -195,7 +188,7 @@ export default {
maxHeight: "500px", //
strict: true, //
userLoading: false, //
loadingEdit: true, //
loadingEdit: false, //
modalVisible: false, // modal
selectList: [], //
selectCount: 0, //
@ -235,6 +228,7 @@ export default {
init() {
this.getParentList();
},
//
getParentList() {
this.loading = true;
initDepartment().then((res) => {
@ -244,33 +238,16 @@ export default {
}
});
},
//
loadData(item, callback) {
loadDepartment(item.id).then((res) => {
this.loadingEdit = false;
if (res.success) {
/* res.result.forEach(function(e) {
if (e.isParent) {
e.loading = false;
e.children = [];
}
}); */
console.log(res.result);
callback(res.result);
}
});
},
search() {
if (this.searchKey) {
this.loading = true;
searchDepartment({ title: this.searchKey }).then((res) => {
this.loading = false;
if (res.success) {
this.data = res.result;
}
});
} else {
this.getParentList();
}
},
//
selectTree(v) {
@ -311,10 +288,11 @@ export default {
}
});
} else {
this.cancelEdit();
this.cancelSelect();
}
},
cancelEdit() {
//
cancelSelect() {
let data = this.$refs.tree.getSelectedNodes()[0];
if (data) {
data.selected = false;
@ -323,6 +301,7 @@ export default {
delete this.form.id;
this.editTitle = "";
},
//
selectTreeEdit(v) {
if (v.length > 0) {
@ -338,13 +317,16 @@ export default {
this.form.parentTitle = data.title;
}
},
//
cancelAdd() {
this.modalVisible = false;
},
//
handleReset() {
this.$refs.form.resetFields();
this.form.status = 0;
},
//
submitEdit() {
this.$refs.form.validate((valid) => {
if (valid) {
@ -352,8 +334,6 @@ export default {
this.$Message.warning("请先点击选择要修改的部门");
return;
}
console.log(this.selectedRole);
let roleWay = [];
this.selectedRole.forEach((item) => {
let role = {
@ -365,11 +345,7 @@ export default {
Promise.all([
editDepartment(this.form.id, this.form),
updateDepartmentRole(
this.form.id,
roleWay
),
updateDepartmentRole(this.form.id, roleWay)
]).then((res) => {
this.submitLoading = false;
if (res[0].success) {
@ -377,14 +353,11 @@ export default {
this.init();
this.modalVisible = false;
}
console.log(res[1]);
});
}
});
},
//
submitAdd() {
this.$refs.formAdd.validate((valid) => {
if (valid) {
@ -400,6 +373,7 @@ export default {
}
});
},
//
add() {
if (this.form.id == "" || this.form.id == null) {
this.$Message.warning("请先点击选择一个部门");
@ -415,6 +389,7 @@ export default {
};
this.modalVisible = true;
},
//
addRoot() {
this.modalTitle = "添加一级部门";
this.showParent = false;
@ -425,11 +400,13 @@ export default {
};
this.modalVisible = true;
},
//
changeSelect(v) {
console.log(v);
this.selectCount = v.length;
this.selectList = v;
},
//
delAll() {
if (this.selectCount <= 0) {
this.$Message.warning("您还未勾选要删除的数据");
@ -452,7 +429,7 @@ export default {
this.$Message.success("删除成功");
this.selectList = [];
this.selectCount = 0;
this.cancelEdit();
this.cancelSelect();
this.init();
}
});

View File

@ -1,229 +0,0 @@
<template>
<Card class="card">
<div v-for="(item,index) in instantDelivery" :key="index">
<div class="cardBox">
<div class="methodItem">
<span v-if="item.image = ''"></span>
<img v-else :src=item.images height="172" width="440"/>
<h4>{{item.deliveryName}}</h4></div>
<div class="bar">
<div v-if="item.deliveryOpen==1" class="status" style="color: rgb(53, 189, 129);"></div>
<div v-else class="status" style="color: rgb(53, 189, 129);">
<a class="links" style="color: rgb(53, 189, 129);" @click="openDelivery(item)"></a>&nbsp;<span
style="color: red;">(未启用)</span>
</div>
<div class="div-edit">
<Upload
multiple
:action=action
:show-upload-list="false"
:format="['jpg', 'jpeg', 'png', 'gif']"
:on-success="uploadSuccess"
>
<a class="links" @click="deliveryBean = item.deliveryBean">更换封面</a>
</Upload>
</div>
<div>
<a class="links" @click="edit"></a>
</div>
</div>
</div>
<Modal
:title="modalTitle"
v-model="modalVisible"
:width="500"
>
<Form ref="form" :model="form" :label-width="90">
<Form-item :label="config.name" v-for="(config,q) in item.configItems" :key="config">
<div>
<Input
type="text"
v-model="config.value"
clearable
placeholder="请输入您的请求参数,均不能为空"
style="width: 300px"
v-if="config.type == 'text'"
/>
</div>
</Form-item>
</Form>
<div slot="footer">
<Button type="text" @click="modalVisible = false">取消</Button>
<Button type="primary" :loading="submitLoading" @click="saveDeliverySubmit(item)"></Button>
</div>
</Modal>
</div>
</Card>
</template>
<script>
import * as API_Setting from "@/api/setting";
import editor from "@/views/my-components/lili/editor";
import {commonUrl} from '@/libs/axios'
export default {
name: "instantDelivery",
components: {
editor
},
data() {
return {
deliveryBean: "", //
action: commonUrl + '/common/upload/file', //
loading: true, //
modalVisible: false, //
modalTitle: "", //
instantDelivery: [{ //
configItems: []
}
], //
searchForm: {
//
pageNumber: 1, //
pageSize: 10, //
},
selectDate: null,
form: {},
//
formValidate: {},
submitLoading: false, //
};
},
methods: {
init() {
this.getData();
},
//
edit() {
this.modalVisible = true
this.modalTitle = "编辑同城配送"
},
saveDeliverySubmit(item) {
const headers = {
"Content-Type": "application/json;charset=utf-8"
}
this.loading = true
API_Setting.editInstantDelivery(item.deliveryBean, item.configItems, headers).then((res) => {
this.loading = false;
if (res.success) {
this.instantDelivery = (res.result.records);
this.modalVisible = false
this.$Message.success("保存成功");
this.getData()
}
});
},
//
openDelivery(item) {
this.$Modal.confirm({
title: "确定开启?",
content: "确认开启当前同城配送方案",
onOk: () => {
API_Setting.openInstantDelivery(item.deliveryBean).then((res) => {
if (res.success) {
this.$Message.success("开启成功");
this.getData();
}
});
},
});
},
//
uploadSuccess(res) {
const params = {
images: res.result
}
this.loading = true
API_Setting.editInstantDeliveryImage(this.deliveryBean, params).then((res) => {
this.loading = false;
if (res.success) {
this.$Message.success("更换成功");
this.getData()
}
});
},
getData() {
this.loading = true;
API_Setting.getInstantDelivery(this.searchForm).then((res) => {
this.loading = false;
if (res.success) {
this.instantDelivery = res.result.records;
}
});
this.loading = false;
},
},
mounted() {
this.init();
},
};
</script>
<style lang="scss" scoped>
.cardBox {
display: inline-block;
border-radius: 2px;
line-height: 1.5;
margin-right: 20px;
width: 300px;
border: 1px solid #eee;
padding: 10px;
}
.methodItem {
width: 100%;
border: 1px solid #f5f5f5;
text-align: center;
padding: 20px 0;
}
methodItem img {
width: 220px;
height: 86px;
}
methodItem h4 {
font-size: 14px;
color: #333;
margin-top: 5px;
}
.methodItem img {
width: 220px;
height: 86px;
}
.div-edit {
margin-left: 50px
}
.bar {
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 10px 8px 0;
}
.ivu-upload {
height: 21px;
margin-left: 15px;
}
</style>

View File

@ -2,7 +2,7 @@
<template>
<div class="search">
<Card>
<Row v-show="openSearch" @keydown.enter.native="handleSearch">
<Row @keydown.enter.native="handleSearch">
<Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form">
<Form-item label="搜索日志" prop="searchKey">
<Input
@ -101,17 +101,14 @@
name: "log-manage",
data() {
return {
openSearch: true, //
openTip: false, //
loading: true, //
selectList: [], //
selectCount: 0, //
selectDate: null, //
searchKey: "", //
operatorName: "", //
showDev: false,//
searchForm: { //
type: 1,
key: '',
operatorName: '',
pageNumber: 1,
pageSize: 10,
startDate: "",
@ -277,38 +274,36 @@
};
},
methods: {
//
init() {
this.getLogList();
},
changeTab(v) {
this.searchForm.type = v;
this.getLogList();
},
//
changePage(v) {
this.searchForm.pageNumber = v;
this.getLogList();
this.clearSelectAll();
},
//
changePageSize(v) {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = v;
this.getLogList();
},
//
selectDateRange(v) {
if (v) {
this.searchForm.startDate = v[0];
this.searchForm.endDate = v[1];
}
},
//
handleSearch() {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10;
this.getLogList();
},
//
getLogList() {
this.loading = true;
this.searchForm.key = this.searchKey;
this.searchForm.operatorName = this.operatorName;
getLogListData(this.searchForm).then(res => {
this.loading = false;
if (res.success) {

View File

@ -1,11 +1,15 @@
<style lang="scss" scoped>
@import "@/styles/tree-common.scss";
.desc{
font-size: 12px;
color: #999;
}
</style>
<template>
<div class="search">
<Card>
<!-- 筛选项和操作按钮 -->
<Row class="operation">
<i-switch v-model="strict" class="selectModel" size="large" style="margin-right: 5px">
<span slot="open">级联</span>
<span slot="close">单选</span>
@ -27,6 +31,7 @@
</DropdownMenu>
</Dropdown>
</Row>
<!-- 页面主体左侧树结构右侧表单项 -->
<Row type="flex" justify="start">
<Col :md="8" :lg="8" :xl="6">
<Alert show-icon>
@ -81,39 +86,42 @@
<span>页面菜单</span>
</div>
</FormItem>
<FormItem
label="名称"
prop="title"
>
<Input v-model="form.title"/>
<FormItem label="菜单名称" prop="title">
<Input v-model="form.title" />
</FormItem>
<FormItem label="路径" prop="path" v-if="form.level != 0">
<Input v-model="form.path"/>
<FormItem label="路由地址" prop="path" v-if="form.level != 0" class="block-tool">
<Tooltip placement="right" content="路由地址,英文唯一,跳转页面,路径展示用 ">
<Input v-model="form.path"/>
</Tooltip>
</FormItem>
<FormItem
label="英文名"
label="路由名称"
prop="name"
v-if="form.level == 0"
class="block-tool"
>
<Tooltip placement="right" content="需唯一">
<Tooltip placement="right" content="路由name英文唯一,跳转页面用">
<Input v-model="form.name"/>
</Tooltip>
</FormItem>
<FormItem
label="路由英文名"
label="路由"
prop="name"
v-if="form.level != 0"
class="block-tool"
>
<Tooltip placement="right" content="需唯一" transfer>
<Tooltip placement="right" content="路由name英文唯一,跳转页面用" transfer>
<Input v-model="form.name"/>
</Tooltip>
</FormItem>
<FormItem label="前端组件" prop="frontRoute" v-if="form.level != 0">
<FormItem label="文件路径" prop="frontRoute" v-if="form.level != 0">
<Input v-model="form.frontRoute"/>
</FormItem>
<FormItem label="权限url" v-if="form.level != 0" class="block-tool">
<Tooltip placement="right" content="*号模糊匹配,逗号分割" transfer>
<Input v-model="form.permission"/>
</Tooltip>
</FormItem>
<FormItem label="排序值" prop="sortOrder">
<Tooltip
trigger="hover"
@ -178,41 +186,45 @@
></Icon>
<span>页面菜单</span>
</div>
</FormItem>
<FormItem
label="名称"
label="菜单名称"
prop="title"
>
<Input v-model="formAdd.title"/>
</FormItem>
<FormItem label="路" prop="path" v-if="formAdd.level != 0">
<FormItem label="路由地址" prop="path" v-if="formAdd.level != 0">
<Input v-model="formAdd.path"/>
</FormItem>
<FormItem
label="英文名"
label="路由名称"
prop="name"
v-if="formAdd.level == 0"
class="block-tool"
>
<Tooltip placement="right" content="需唯一">
<Tooltip placement="right" content="路由name英文唯一,跳转页面用">
<Input v-model="formAdd.name"/>
</Tooltip>
</FormItem>
<FormItem
label="路由英文名"
label="路由"
prop="name"
v-if="formAdd.level != 0"
class="block-tool"
>
<Tooltip placement="right" content="需唯一">
<Tooltip placement="right" content="路由name英文唯一,跳转页面用">
<Input v-model="formAdd.name"/>
</Tooltip>
</FormItem>
<FormItem label="前端组件" prop="frontRoute" v-if="formAdd.level != 0">
<FormItem label="文件路径" prop="frontRoute" v-if="formAdd.level != 0">
<Input v-model="formAdd.frontRoute"/>
</FormItem>
<FormItem label="权限url" v-if="formAdd.level != 0">
<Input v-model="formAdd.permission"/>
<div class="desc">*号模糊匹配逗号分割</div>
</FormItem>
<FormItem label="排序值" prop="sortOrder">
<Tooltip
trigger="hover"
@ -230,9 +242,7 @@
<div slot="footer">
<Button type="text" @click="menuModalVisible = false">取消</Button>
<Button type="primary" :loading="submitLoading" @click="submitAdd"
>提交
</Button
>
>提交</Button>
</div>
</Modal>
</div>
@ -244,7 +254,6 @@ import {
addPermission,
editPermission,
deletePermission,
searchPermission,
} from "@/api/index";
import util from "@/libs/util.js";
@ -273,18 +282,18 @@ export default {
parentId: "",
sortOrder: 0,
level: 0,
showAlways: true,
permission: ''
},
formAdd: { //
},
formValidate: { //
title: [{required: true, message: "名称不能为空", trigger: "blur"}],
title: [{required: true, message: "菜单名称名称不能为空", trigger: "blur"}],
name: [
{required: true, message: "路由英文名不能为空", trigger: "blur"},
{required: true, message: "路由不能为空", trigger: "blur"},
],
path: [{required: true, message: "路不能为空", trigger: "blur"}],
path: [{required: true, message: "路由地址不能为空", trigger: "blur"}],
frontRoute: [
{required: true, message: "前端组件不能为空", trigger: "blur"},
{required: true, message: "文件地址不能为空", trigger: "blur"},
],
sortOrder: [
{
@ -300,6 +309,7 @@ export default {
};
},
methods: {
//
init() {
this.getAllList();
},
@ -329,8 +339,8 @@ export default {
]),
]);
},
//
handleDropdown(name) {
console.log(name)
if (name == "expandOne") {
this.expandLevel = 1;
this.getAllList();
@ -348,6 +358,7 @@ export default {
this.getAllList();
}
},
//
getAllList() {
this.loading = true;
getAllPermissionList().then((res) => {
@ -434,19 +445,7 @@ export default {
}
});
},
search() {
if (this.searchKey) {
this.loading = true;
searchPermission({title: this.searchKey}).then((res) => {
this.loading = false;
if (res.success) {
this.data = res.result;
}
});
} else {
this.getAllList();
}
},
//
selectTree(v) {
if (v.length > 0) {
// null""
@ -459,6 +458,7 @@ export default {
this.cancelEdit();
}
},
//
cancelEdit() {
let data = this.$refs.tree.getSelectedNodes()[0];
if (data) {
@ -468,11 +468,12 @@ export default {
this.form.id = "";
this.editTitle = "";
},
//
handleReset() {
this.$refs.form.resetFields();
this.form.icon = "";
this.form.frontRoute = "";
},
//
submitEdit() {
this.$refs.form.validate((valid) => {
if (valid) {
@ -482,13 +483,16 @@ export default {
}
this.submitLoading = true;
if (this.form.sortOrder == null) {
this.form.sortOrder = "";
this.form.sortOrder = 0;
}
if (this.form.buttonType == null) {
this.form.buttonType = "";
}
//
delete this.form.icon;
delete this.form.frontComponent;
delete this.form.buttonType;
delete this.form.updateTime;
delete this.form.selected;
delete this.form.description;
editPermission(this.form).then((res) => {
this.submitLoading = false;
if (res.success) {
@ -503,6 +507,7 @@ export default {
}
});
},
//
submitAdd() {
this.$refs.formAdd.validate((valid) => {
if (valid) {
@ -522,18 +527,7 @@ export default {
}
});
},
changeEditUrl(e) {
let v = e.target.value;
if (v.indexOf("http") > -1) {
this.form.frontRoute = "sys/monitor/monitor";
}
},
changeAddUrl(e) {
let v = e.target.value;
if (v.indexOf("http") > -1) {
this.formAdd.frontRoute = "sys/monitor/monitor";
}
},
//
addMenu() {
if (!this.form.id) {
this.$Message.warning("请先点击选择一个菜单权限节点");
@ -549,14 +543,11 @@ export default {
});
return;
}
let frontRoute = "";
this.formAdd = {
icon: "",
parentId: this.form.id,
level: Number(this.form.level) + 1,
sortOrder: 0,
status: 0,
showAlways: true,
permission:'' // url
};
if (this.form.level == 0) {
this.formAdd.path = "/";
@ -564,20 +555,22 @@ export default {
}
this.menuModalVisible = true;
},
//
addRootMenu() {
this.modalTitle = "添加顶级菜单";
this.showParent = false;
this.formAdd = {
level: 0,
sortOrder: 0,
status: 0,
sortOrder: 0
};
this.menuModalVisible = true;
},
//
changeSelect(v) {
this.selectCount = v.length;
this.selectList = v;
},
//
delAll() {
if (this.selectCount <= 0) {
this.$Message.warning("您还未勾选要删除的数据");

View File

@ -6,7 +6,7 @@
<Tabs value="MESSAGE" @on-click="paneChange">
<TabPane label="站内信列表" name="MESSAGE">
<Row v-show="openSearch" @keydown.enter.native="handleSearch">
<Row @keydown.enter.native="handleSearch">
<Form ref="searchForm" :model="searchMessageForm" inline :label-width="70" class="search-form">
<Form-item label="消息标题" prop="title">
<Input
@ -47,7 +47,7 @@
@on-selection-change="messageChangeSelect"
></Table>
</Row>
<Row type="flex" justify="end" class="mt_10">
<Row type="flex" justify="end" class="mt_10 mb_10">
<Page
:current="searchMessageForm.pageNumber"
:total="messageDataTotal"
@ -71,9 +71,6 @@
:columns="noticeColumns"
:data="noticeData"
ref="table"
sortable="custom"
@on-sort-change="changeSort"
@on-selection-change="changeSelect"
></Table>
</Row>
<Row type="flex" justify="end" class="mt_10">
@ -110,7 +107,7 @@
</div>
<div class="send-setting">
<div class="left-show">
<div v-for="(item, index) in form.variables">
<div v-for="(item, index) in form.variables" :key="index">
#{<span>{{item}}</span>}
</div>
</div>
@ -184,7 +181,7 @@
v-if="memberShow">
<Button type="primary" icon="ios-add" @click="addVip" ghost>选择会员</Button>
<div style="margin-top:24px;" v-if="messageSendForm.messageClient == 'member'">
<Table border :columns="userColumns" :data="this.selectedMember">
<Table border :columns="userColumns" :data="selectedMember">
</Table>
</div>
</FormItem>
@ -303,16 +300,14 @@
import userList from "@/views/member/list/index";
export default {
name: "bill",
name: "noticeMessageTemplate",
components: {
userList
},
data() {
return {
openSearch: true, //
checkUserList: false, //
selectedMember: [], //
openTip: true, //
loading: true, //
modalVisible: false, //
modalTitle: "", //
@ -380,9 +375,6 @@
},
submitLoading: false, //
selectList: [], //
messageSelectList: [], //
messageSelectCount: 0, //
selectCount: 0, //
noticeColumns: [
{
@ -688,15 +680,15 @@
}
},
],
memberMessageData: [], //
memberMessageDataTotal: 0, //
memberMessageData: [], //
memberMessageDataTotal: 0, //
};
},
methods: {
//
init() {
this.getMessage();
},
//
callbackSelectUser(val) {
//
@ -751,6 +743,7 @@
this.$refs.memberLayout.selectedMember = true;
});
},
// tab
paneChange(v) {
if (v == "SETTING") {
this.getNoticeMessage()
@ -759,24 +752,27 @@
this.getMessage()
}
},
//
changePage(v) {
this.searchForm.pageNumber = v;
this.getNoticeMessage();
this.clearSelectAll();
},
//
changePageSize(v) {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = v;
this.getNoticeMessage();
},
//
handleSearch() {
this.searchMessageForm.pageNumber = 1;
this.searchMessageForm.pageSize = 10;
this.getMessage();
},
//
messageChangePageSize(v) {
this.searchMessageForm.pageSize = v;
this.searchMessageForm.pageNumber = 1;
this.getMessage();
},
//
@ -789,6 +785,7 @@
//
memberMessageChangePageSize(v) {
this.searchMemberMessageForm.pageSize = v;
this.searchMemberMessageForm.pageNumber = 1;
this.messageDetail();
},
//
@ -821,38 +818,6 @@
this.searchShopMessageForm.order = e.order;
this.messageDetail()
},
//
messageChangeSort(e) {
this.searchMessageForm.sort = e.key;
this.searchMessageForm.order = e.order;
this.getMessage();
},
changeSort(e) {
this.searchForm.sort = e.key;
this.searchForm.order = e.order;
if (e.order === "normal") {
this.searchForm.order = "";
}
this.getNoticeMessage();
},
clearSelectAll() {
this.$refs.table.selectAll(false);
},
//
messageChangeSelect(e) {
this.messageSelectList = e;
this.messageSelectCount = e.length;
},
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
},
selectDateRange(v) {
if (v) {
this.searchForm.startDate = v[0];
this.searchForm.endDate = v[1];
}
},
//
getName(value) {
this.messageSendForm.userNames = new Array()
@ -965,7 +930,7 @@
});
this.loading = false;
},
//
getNoticeMessage() {
this.loading = true;
API_Setting.getNoticeMessageData(this.searchForm).then((res) => {
@ -1029,6 +994,7 @@
this.messageDetailModalVisible = true;
this.modalTitle = "消息详情"
},
//
edit(v) {
API_Setting.getNoticeMessageDetail(v.id).then((res) => {
if (res.success) {

View File

@ -6,7 +6,7 @@
<Row class="operation" style="margin-bottom: 10px">
<Button @click="sendBatchSmsModal" type="primary">发送短信</Button>
</Row>
<Table :loading="loading" border :columns="smsColumns" :data="smsData" ref="table" sortable="custom" @on-sort-change="templateChangeSort">
<Table :loading="loading" border :columns="smsColumns" :data="smsData" ref="table">
</Table>
<Row type="flex" justify="end" class="mt_10">
@ -19,7 +19,7 @@
<Button @click="addTemplate" type="primary">添加短信模板</Button>
<Button @click="syncTemplate" type="info">同步</Button>
</Row>
<Table :loading="loading" border :columns="templateColumns" :data="templateData" ref="table" sortable="custom" @on-sort-change="smsChangeSort">
<Table :loading="loading" border :columns="templateColumns" :data="templateData" ref="table">
</Table>
<Row type="flex" justify="end" class="mt_10">
<Page :current="templateSearchForm.pageNumber" :total="templateTotal" :page-size="templateSearchForm.pageSize" @on-change="templateChangePage"
@ -31,7 +31,7 @@
<Button @click="addSign" type="primary">添加短信签名</Button>
<Button @click="syncSign" type="info">同步</Button>
</Row>
<Table :loading="loading" border :columns="signColumns" :data="signData" ref="table" sortable="custom" @on-sort-change="signChangeSort">
<Table :loading="loading" border :columns="signColumns" :data="signData" ref="table">
<template slot="signStatus" slot-scope="scope">
<div v-if="scope.row.signStatus ==2 ">
审核拒绝
@ -45,7 +45,6 @@
<div v-if="scope.row.signStatus ==1 ">
审核通过
</div>
</template>
</Table>
<Row type="flex" justify="end" class="mt_10">
@ -168,7 +167,6 @@ export default {
members: [], //
smsTemplateContent: "", //
memberNum: 0, //
smsNum: 0, //
smsContent: "<div class='sms'>效果预览</div>", //
smsTemplates: [], //
smsSigns: [], //
@ -179,15 +177,6 @@ export default {
templateModalTitle: "", //
templateForm: {}, //form
submitLoading: false, //
selected: "", //
settingData: "", //
modalTitle: "设置", // modal
modalVisible: false, // modal
searchForm: {
//
pageNumber: 1, //
pageSize: 10, //
},
signSearchForm: {
//
pageNumber: 1, //
@ -357,8 +346,7 @@ export default {
{
props: {
type: "info",
size: "small",
icon: "ios-create-outline",
size: "small"
},
style: {
marginRight: "5px",
@ -477,8 +465,8 @@ export default {
signTotal: 0, //
};
},
filters: {},
methods: {
//
init() {
this.getSms();
//
@ -498,16 +486,11 @@ export default {
alreadyCheckClose(val,index) {
this.alreadyCheck.splice(index, 1);
this.alreadyCheckShow.splice(index, 1);
this.members.forEach((item,index)=>{
if(item.____selected && item.mobile == val.mobile){
item.____selected = false
}
})
this.smsForm.num--;
this.memberNum--;
},
@ -515,7 +498,6 @@ export default {
detail(){
},
//
smsRangeChange(v) {
this.memberNum = 0;
@ -589,7 +571,6 @@ export default {
}
});
},
//
sendBatchSmsModal() {
this.templateSearchForm.templateStatus = 1;
@ -604,7 +585,6 @@ export default {
this.smsSigns = res.result.records;
}
});
this.smsContent = "<div class='sms'>效果预览</div>";
//
this.alreadyCheck = [];
@ -623,9 +603,6 @@ export default {
this.loading = false;
this.sendSmsModal = true;
},
setting() {
this.modalVisible = true;
},
//pane
paneChange(v) {
if (v == "TEMPLATE") {
@ -673,8 +650,6 @@ export default {
}
this.smsForm.context = this.smsTemplateContent;
},
//
handleSearch() {},
//
deleteSmsTemplate(v) {
let params = {
@ -721,7 +696,7 @@ export default {
this.templateModalTitle = "添加短信模板";
this.templateForm = {};
},
//
//
editTemplate(v) {
this.templateModalVisible = true;
this.templateModalTitle = "修改短信模板";
@ -813,6 +788,7 @@ export default {
},
//
smsChangePageSize(v) {
this.smsSearchForm.pageNumber = 1;
this.smsSearchForm.pageSize = v;
this.getSms();
},
@ -823,19 +799,10 @@ export default {
},
//
templateChangePageSize(v) {
this.templateSearchForm.pageNumber =1;
this.templateSearchForm.pageSize = v;
this.getSmsTemplate();
},
templateChangeSort(e) {
this.templateSearchForm.sort = e.key;
this.templateSearchForm.order = e.order;
this.getSmsTemplate();
},
smsChangeSort(e) {
this.smsSearchForm.sort = e.key;
this.smsSearchForm.order = e.order;
this.getSms();
},
//
getSmsTemplate() {
this.loading = true;
@ -867,14 +834,10 @@ export default {
},
//
signChangePageSize(v) {
this.signSearchForm.pageNumber = 1;
this.signSearchForm.pageSize = v;
this.getSmsSign();
},
signChangeSort(e) {
this.signSearchForm.sort = e.key;
this.signSearchForm.order = e.order;
this.getSmsSign();
},
//
editSign(v) {
this.$router.push({ name: "add-sms-sign", query: { id: v.id } });
@ -894,8 +857,7 @@ export default {
},
mounted() {
this.init();
},
watch: {},
}
};
</script>

View File

@ -1,11 +1,8 @@
<template>
<Card>
<div style="margin-top: 0px">
<div class="sign-name" v-if="id == undefined">
新增签名
</div>
<div class="sign-name" v-else>
修改签名
<div class="sign-name">
{{id ? '修改签名' : '新增签名'}}
</div>
<Form ref="form" :model="form" :label-width="100" :rules="formValidate">
<FormItem label="签名" prop="signName">
@ -53,18 +50,14 @@
</div>
<FormItem label="申请说明" prop="remark">
<Input v-model="form.remark" clearable type="textarea" style="width: 50%" maxlength="100"
:autosize="{maxRows:4,minRows: 4}" show-word-limit
placeholder="请描述您的业务使用场景不超过100字符验证码、双十一大促营销"/>
:autosize="{maxRows:4,minRows: 4}" show-word-limit
placeholder="请描述您的业务使用场景不超过100字符验证码、双十一大促营销"/>
</FormItem>
</Form>
<div class="footer">
<Button type="primary" :loading="submitLoading" @click="addSignSubmit">
</Button
>
<Button type="primary" :loading="submitLoading" @click="addSignSubmit"></Button>
</div>
</div>
</Card>
</template>
@ -77,7 +70,6 @@
components: {
uploadPicThumb
},
data() {
return {
id: 0, // id
@ -96,14 +88,13 @@
}
},
filters: {},
methods: {
//
init() {
this.id = this.$route.query.id;
if (this.id != undefined) {
this.getSmsSignDetail();
}
},
//
addSignSubmit() {
@ -159,12 +150,9 @@
mounted() {
this.init();
},
};
</script>
<style lang="scss" scoped>
.sign-name {
margin-top: 5px;
margin-left: 20px;

View File

@ -1,96 +0,0 @@
<template>
<div>
<Card>
<Row>
<Form
ref="searchForm"
inline
:label-width="70"
@keydown.enter.native="handleGo"
>
<Form-item label="链接地址" prop="url">
<Input type="text" v-model="url" placeholder="http://" clearable style="width: 350px" />
</Form-item>
<Form-item style="margin-left:-50px;">
<Button @click="handleGo" type="primary" icon="ios-send" style="margin-right:5px">前往</Button>
<Button @click="handleOpen" icon="md-open">新窗口中打开</Button>
</Form-item>
</Form>
</Row>
<Divider style="margin-top:-10px;margin-bottom:0px;" />
<Row>
<div style="position:relative;">
<iframe
id="iframe"
:src="go"
frameborder="0"
width="100%"
:height="height"
scrolling="auto"
></iframe>
<Spin fix size="large" v-if="loading"></Spin>
</div>
</Row>
</Card>
</div>
</template>
<script>
export default {
name: "monitor",
data() {
return {
loading: false, //
go: "", // iframe
url: "", //
height: "525px" // iframe
};
},
computed: {},
methods: {
initUrl() {
let url = this.$route.meta.url;
if (url !== null && url !== undefined) {
this.url = url;
this.go = url;
// window.open(this.go);
this.loading = true;
let that = this;
// iframe
let iframe = document.getElementById("iframe");
if (iframe.attachEvent) {
iframe.attachEvent("onload", function() {
//iframe
that.loading = false;
});
} else {
iframe.onload = function() {
//iframe
that.loading = false;
};
}
}
},
handleGo() {
this.go = this.url;
},
handleOpen() {
window.open(this.url);
}
},
watch: {
$route(to, from) {
this.initUrl();
}
},
mounted() {
//
let height = document.documentElement.clientHeight;
this.height = Number(height - 217) + "px";
this.initUrl();
}
};
</script>

View File

@ -1,135 +1,135 @@
.search {
.oss-operation {
margin-bottom: 2vh;
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
.oss-operation {
margin-bottom: 2vh;
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
button {
margin-right: 5px;
}
button {
margin-right: 5px;
}
}
}
.none{
.none {
display: none;
}
.oss-wrapper {
display: flex;
flex-wrap: wrap;
position: relative;
display: flex;
flex-wrap: wrap;
position: relative;
}
.oss-card {
margin: 10px 20px 10px 0;
width: 290px;
margin: 10px 20px 10px 0;
width: 290px;
:hover {
.content .other .name {
color: #1890ff;
transition: color .3s;
}
}
cursor: pointer;
.ivu-card-body {
padding: 0;
}
.content {
display: flex;
flex-direction: column;
:hover {
.content .other .name {
color: #1890ff;
transition: color .3s;
}
.play {
transition: opacity .3s;
opacity: 1 !important;
}
}
cursor: pointer;
.ivu-card-body {
padding: 0;
.img {
height: 135px;
object-fit: cover;
}
.content {
.video {
height: 135px;
position: relative;
.cover {
height: 100%;
width: 100%;
object-fit: fill;
}
.play {
position: absolute;
top: 43px;
left: 117px;
height: 50px;
width: 50px;
opacity: 0.8;
}
}
.other {
padding: 16px;
height: 135px;
.name {
font-size: 16px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
color: rgba(0, 0, 0, .85);
font-weight: 500;
margin-bottom: 4px;
}
.key {
overflow: hidden;
text-overflow: ellipsis;
height: 45px;
word-break: break-all;
color: rgba(0, 0, 0, .45);
}
.info {
font-size: 12px;
color: rgba(0, 0, 0, .45);
overflow: hidden;
text-overflow: ellipsis;
height: 36px;
word-break: break-all;
}
}
.actions {
display: flex;
align-items: center;
height: 50px;
background: #f7f9fa;
border-top: 1px solid #e8e8e8;
i:hover {
color: #1890ff;
}
.btn {
display: flex;
flex-direction: column;
justify-content: center;
width: 33.33%;
border-right: 1px solid #e8e8e8;
}
:hover {
.play {
transition: opacity .3s;
opacity: 1 !important;
}
}
.img {
height: 135px;
object-fit: cover;
}
.video {
height: 135px;
position: relative;
.cover {
height: 100%;
width: 100%;
object-fit: fill;
}
.play {
position: absolute;
top: 43px;
left: 117px;
height: 50px;
width: 50px;
opacity: 0.8;
}
}
.other {
padding: 16px;
height: 135px;
.name {
font-size: 16px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
color: rgba(0, 0, 0, .85);
font-weight: 500;
margin-bottom: 4px;
}
.key {
overflow: hidden;
text-overflow: ellipsis;
height: 45px;
word-break: break-all;
color: rgba(0, 0, 0, .45);
}
.info {
font-size: 12px;
color: rgba(0, 0, 0, .45);
overflow: hidden;
text-overflow: ellipsis;
height: 36px;
word-break: break-all;
}
}
.actions {
display: flex;
align-items: center;
height: 50px;
background: #f7f9fa;
border-top: 1px solid #e8e8e8;
i:hover {
color: #1890ff;
}
.btn {
display: flex;
justify-content: center;
width: 33.33%;
border-right: 1px solid #e8e8e8;
}
.btn-no {
display: flex;
justify-content: center;
width: 33.33%;
}
}
.btn-no {
display: flex;
justify-content: center;
width: 33.33%;
}
}
}
}

View File

@ -26,6 +26,9 @@
style="width: 200px"
/>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn"
>搜索
</Button>
<Form-item label="上传时间">
<DatePicker
v-model="selectDate"
@ -37,10 +40,7 @@
style="width: 200px"
></DatePicker>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn"
>搜索
</Button
>
</Form>
</Row>
<div class="oss-operation padding-row">
@ -558,7 +558,7 @@ export default {
selectedParams(val) {
this.$emit("callback", val);
},
//
handleDropdown(name) {
if (name == "refresh") {
this.getDataList();
@ -566,12 +566,14 @@ export default {
this.removeAll();
}
},
//
init() {
this.accessToken = {
accessToken: this.getStore("accessToken"),
};
this.getDataList();
},
//
showPic(v) {
this.file = v;
this.file.msize = ((v.fileSize * 1.0) / (1024 * 1024)).toFixed(2) + " MB";
@ -579,6 +581,7 @@ export default {
this.picTitle = v.name + "(" + v.fileKey + ")";
this.picVisible = true;
},
//
showVideo(v) {
dp = new DPlayer({
container: document.getElementById("dplayer"),
@ -596,18 +599,23 @@ export default {
this.videoTitle = v.name + "(" + v.fileKey + ")";
this.videoVisible = true;
},
//
closeVideo() {
dp.destroy();
},
//
changePage(v) {
this.searchForm.pageNumber = v;
this.getDataList();
this.clearSelectAll();
},
//
changePageSize(v) {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = v;
this.getDataList();
},
//
changeSort(e) {
this.searchForm.sort = e.key;
this.searchForm.order = e.order;
@ -616,12 +624,14 @@ export default {
}
this.getDataList();
},
//
selectDateRange(v) {
if (v) {
this.searchForm.startDate = v[0];
this.searchForm.endDate = v[1];
}
},
//
changeShowType() {
this.searchForm.pageNumber = 1;
if (this.showType == "list") {
@ -631,7 +641,7 @@ export default {
}
this.getDataList();
},
//
getDataList() {
if (this.showType == "list") {
this.pageSizeOpts = [10, 20, 50];
@ -646,6 +656,7 @@ export default {
this.total = res.result.total;
});
},
//
handleSearch() {
this.searchForm.title = this.searchForm.name;
this.searchForm.pageNumber = 1;
@ -656,6 +667,7 @@ export default {
}
this.getDataList();
},
//
changeFileType() {
let name = this.fileType;
if (name == "all") {
@ -667,27 +679,14 @@ export default {
}
this.handleSearch();
},
handleReset() {
this.$refs.searchForm.resetFields();
this.searchForm.pageNumber = 1;
if (this.showType == "list") {
this.searchForm.pageSize = 5;
} else {
this.searchForm.pageSize = 12;
}
this.selectDate = null;
this.searchForm.startDate = "";
this.searchForm.endDate = "";
this.searchForm.fileKey = "";
//
this.getDataList();
},
//
handleMaxSize(file) {
this.$Notice.warning({
title: "文件大小过大",
desc: "所选文件‘ " + file.name + " ’大小过大, 不得超过 5M.",
});
},
//
handleSuccess(res, file) {
if (res.success) {
this.$Message.success("上传文件 " + file.name + " 成功");
@ -696,20 +695,25 @@ export default {
this.$Message.error(res.message);
}
},
//
handleError(error, file, fileList) {
this.$Message.error(error.toString());
},
//
clearFiles() {
this.$refs.up.clearFiles();
},
//
handleCancel() {
this.modalVisible = false;
},
//
download(v) {
window.open(
v.url + "?attname=&response-content-type=application/octet-stream"
);
},
//
removeAll() {
if (this.selectCount <= 0) {
this.$Message.warning("您还未选择要删除的数据");
@ -736,6 +740,7 @@ export default {
},
});
},
//
remove(v) {
this.$Modal.confirm({
title: "确认删除",
@ -752,6 +757,7 @@ export default {
},
});
},
//
handleSubmit() {
this.$refs.form.validate((valid) => {
if (valid) {
@ -773,6 +779,7 @@ export default {
}
});
},
// modal
rename(v) {
this.modalTitle = "编辑文件名";
// null""
@ -787,10 +794,12 @@ export default {
this.oldKey = data.fileKey;
this.modalVisible = true;
},
//
clearSelectAll() {
this.$refs.table.selectAll(false);
this.totalSize = "";
},
//
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
@ -803,7 +812,6 @@ export default {
},
mounted() {
this.init();
this.baseUrl =
process.env.NODE_ENV === "development"
? this.config.api_dev.common

View File

@ -1,23 +0,0 @@
.permModal {
.ivu-modal-body {
max-height: 560px;
overflow: auto;
}
}
.depModal {
.ivu-modal-body {
max-height: 500px;
overflow: auto;
}
}
.tips{
font-size: 12px;
color: #999;
margin-left: 8px;
}
.title{
font-weight: bold;
margin-right: 20px;
}

View File

@ -1,6 +1,3 @@
<style lang="scss">
@import "./roleManage.scss";
</style>
<template>
<div class="search">
<Card>
@ -26,7 +23,7 @@
</FormItem>
</Form>
<div slot="footer">
<Button type="text" @click="cancelRole"></Button>
<Button type="text" @click="roleModalVisible = false"></Button>
<Button type="primary" :loading="submitLoading" @click="submitRole">
</Button>
</div>
@ -39,7 +36,7 @@
<Spin size="large" fix v-if="treeLoading"></Spin>
</div>
<div slot="footer">
<Button type="text" @click="cancelPermEdit"></Button>
<Button type="text" @click="permModalVisible = false"></Button>
<Select v-model="openLevel" @on-change="changeOpen" style="width: 110px; text-align: left; margin-right: 10px">
<Option value="0">展开所有</Option>
<Option value="1">收合所有</Option>
@ -110,7 +107,6 @@ import {
editRole,
deleteRole,
loadDepartment,
editRoleDep,
selectRoleMenu,
saveRoleMenu,
} from "@/api/index";
@ -129,7 +125,6 @@ export default {
depTreeLoading: true, //
submitPermLoading: false, //
submitDepLoading: false, //
searchKey: "", //
sortColumn: "", //
sortType: "desc", //
modalType: 0, // 0 1
@ -265,19 +260,15 @@ export default {
};
},
methods: {
//
init() {
this.getRoleList();
//
this.getPermList();
},
handleContextMenu(val) {
console.log(val);
},
// icon
renderContent(h, { root, node, data }) {
let icon = "";
if (data.level == 0) {
icon = "ios-navigate";
} else if (data.level == 1) {
@ -324,15 +315,19 @@ export default {
]
);
},
//
changePage(v) {
this.pageNumber = v;
this.getRoleList();
this.clearSelectAll();
},
//
changePageSize(v) {
this.pageNumber = 1;
this.pageSize = v;
this.getRoleList();
},
//
changeSort(e) {
this.sortColumn = e.key;
this.sortType = e.order;
@ -389,9 +384,7 @@ export default {
}
});
},
cancelRole() {
this.roleModalVisible = false;
},
//
submitRole() {
this.$refs.roleForm.validate((valid) => {
if (valid) {
@ -434,6 +427,7 @@ export default {
delete this.roleForm.id;
this.roleModalVisible = true;
},
//
edit(v) {
this.modalType = 1;
this.modalTitle = "编辑角色";
@ -449,6 +443,7 @@ export default {
this.roleForm = roleInfo;
this.roleModalVisible = true;
},
//
remove(v) {
this.$Modal.confirm({
title: "确认删除",
@ -465,13 +460,16 @@ export default {
},
});
},
//
clearSelectAll() {
this.$refs.table.selectAll(false);
},
//
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
},
//
delAll() {
if (this.selectCount <= 0) {
this.$Message.warning("您还未选择要删除的数据");
@ -509,15 +507,12 @@ export default {
this.modalTitle = "分配 " + v.name + " 的菜单权限";
//
let rolePerms;
//
let res = await selectRoleMenu(v.id);
if (res.result) {
rolePerms = res.result;
this.rolePermsWay = res.result;
}
//
this.checkPermTree(this.permData, rolePerms);
console.warn(this.permData);
@ -555,7 +550,6 @@ export default {
}
return false;
},
//
selectedTreeAll(permData, select) {
let that = this;
@ -566,15 +560,11 @@ export default {
}
});
},
/**分配菜单权限 */
submitPermEdit() {
this.saveRoleWay = [];
this.selectIsSuperModel = true; //
let selectedNodes = this.$refs.tree.getCheckedNodes();
let way = [];
selectedNodes.forEach((e) => {
@ -605,10 +595,7 @@ export default {
}
});
},
cancelPermEdit() {
this.permModalVisible = false;
},
//
loadData(item, callback) {
loadDepartment(item.id, { openDataFilter: false }).then((res) => {
if (res.success) {
@ -627,9 +614,8 @@ export default {
}
});
},
//
expandCheckDep(v) {
//
this.checkDepTree(v.children, this.editDepartments);
},
//
@ -643,7 +629,7 @@ export default {
}
});
},
//
changeOpen(v) {
if (v == "0") {
this.permData.forEach((e) => {
@ -737,5 +723,28 @@ export default {
.btn-item{
margin-right: 20px;
}
.permModal {
.ivu-modal-body {
max-height: 560px;
overflow: auto;
}
}
.depModal {
.ivu-modal-body {
max-height: 500px;
overflow: auto;
}
}
.tips{
font-size: 12px;
color: #999;
margin-left: 8px;
}
.title{
font-weight: bold;
margin-right: 20px;
}
</style>

View File

@ -2,7 +2,7 @@
<div class="layout">
<div class="row" v-if="client ==item.client" v-for="(item,index) in formValidate" :key="index">
<div class="row" v-if="client == item.client" v-for="(item,index) in formValidate" :key="index">
<div class="col">
<Card :padding="0">
<!-- app -->
@ -51,7 +51,6 @@
<script>
import { setSetting } from "@/api/index";
import { handleSubmit } from "../setting/validate";
import { getPaymentSupportForm } from "@/api/setting";
export default {
data() {
return {
@ -76,7 +75,7 @@ export default {
this.setupSetting();
}
},
//
setupSetting() {
this.$Spin.show();
setTimeout(() => {

View File

@ -74,7 +74,7 @@ export default {
this.setupSetting();
}
},
//
setupSetting() {
this.$Spin.show();
setTimeout(() => {

View File

@ -51,7 +51,7 @@ export default {
this.setupSetting();
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {

View File

@ -86,7 +86,7 @@ export default {
this.setupSetting();
}
},
//
handleChangePayType(val) {
this.$Modal.confirm({
title: "修改支付设置",
@ -100,7 +100,7 @@ export default {
},
});
},
//
setupSetting() {
setSetting(this.type, { paymentSupportItems: this.formValidate }).then(
(res) => {

View File

@ -57,7 +57,7 @@ export default {
this.setupSetting();
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {

View File

@ -553,6 +553,7 @@
this.initWeibo();
this.initAlipay();
},
//
initBase() {
this.loading = true;
getParams('base').then(res => {
@ -564,6 +565,7 @@
}
});
},
//
initPoint() {
this.loading = true;
getParams('point').then(res => {
@ -575,6 +577,7 @@
}
});
},
//
initOrder() {
this.loading = true;
getParams('order').then(res => {
@ -586,6 +589,7 @@
}
});
},
//
initGoods() {
this.loading = true;
getParams('goods').then(res => {
@ -597,6 +601,7 @@
}
});
},
//
initWeibo() {
this.loading = true;
getParams('weibo').then(res => {
@ -608,6 +613,7 @@
}
});
},
//
initWechat() {
this.loading = true;
getParams('wechat').then(res => {
@ -630,6 +636,7 @@
}
});
},
//
initAlipay() {
this.loading = true;
getParams('alipay').then(res => {
@ -641,6 +648,7 @@
}
});
},
//
saveBase() {
this.$refs.baseForm.validate(valid => {
if (valid) {
@ -655,6 +663,7 @@
}
});
},
//
savePoint() {
this.$refs.pointForm.validate(valid => {
if (valid) {
@ -669,6 +678,7 @@
}
});
},
//
saveOrder() {
this.$refs.orderForm.validate(valid => {
if (valid) {
@ -683,6 +693,7 @@
}
});
},
//
saveGoods() {
this.$refs.goodsForm.validate(valid => {
if (valid) {
@ -697,6 +708,7 @@
}
});
},
//
saveWechat() {
this.$refs.wechatForm.validate(valid => {
if (valid) {
@ -711,6 +723,7 @@
}
});
},
// qq
saveQQ() {
this.$refs.qqForm.validate(valid => {
if (valid) {
@ -725,6 +738,7 @@
}
});
},
//
saveWeibo() {
this.$refs.wechatForm.validate(valid => {
if (valid) {
@ -739,6 +753,7 @@
}
});
},
//
saveAlipay() {
this.$refs.alipayForm.validate(valid => {
if (valid) {

View File

@ -79,7 +79,6 @@ export default {
};
},
created() {
console.log(this.type);
this.init();
},
methods: {
@ -95,12 +94,12 @@ export default {
this.setupSetting();
}
},
//
callbackSelected(val) {
this.picModelFlag = false;
this.formValidate[this.selected] = val.url;
console.log(val);
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {
@ -110,8 +109,6 @@ export default {
}
});
},
/**添加必填项 */
init() {
this.res = JSON.parse(this.res);

View File

@ -80,12 +80,6 @@ export default {
ruleValidate: {} //
};
},
watch: {
res: {
handler() {},
immediate: true,
},
},
created() {
this.init();
},
@ -107,6 +101,7 @@ export default {
}
});
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {

View File

@ -28,23 +28,18 @@ export default {
};
},
props: ["res",'type'],
watch: {
res: {
handler() {},
immediate: true,
},
},
created() {
this.init();
},
methods: {
//
submit(name) {
let that = this;
if( handleSubmit(that, name )){
this.setupSetting()
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {
@ -56,8 +51,7 @@ export default {
},
//
init() {
this.res = JSON.parse(this.res);
this.res = JSON.parse(this.res);
this.$set(this, "formValidate", { ...this.res });
Object.keys(this.formValidate).forEach((item) => {
this.ruleValidate[item] = [
@ -68,7 +62,6 @@ export default {
},
];
});
},
},
};

View File

@ -62,13 +62,14 @@ export default {
this.init();
},
methods: {
//
submit(name) {
let that = this;
if (handleSubmit(that, name)) {
this.setupSetting();
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {
@ -81,7 +82,7 @@ export default {
//
init() {
this.res = JSON.parse(this.res);
Object.keys(this.res).map((item) => {
Object.keys(this.res).map((item) => {
this.res[item] += "";
});
this.$set(this, "formValidate", { ...this.res });

View File

@ -44,13 +44,14 @@ export default {
this.init();
},
methods: {
//
submit(name) {
let that = this;
if( handleSubmit(that, name )){
this.setupSetting()
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {

View File

@ -71,13 +71,14 @@ export default {
this.init();
},
methods: {
//
submit(name) {
let that = this;
if (handleSubmit(that, name)) {
this.setupSetting();
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {

View File

@ -41,13 +41,14 @@ export default {
this.init();
},
methods: {
//
submit(name) {
let that = this;
if( handleSubmit(that, name )){
this.setupSetting()
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {

View File

@ -33,13 +33,14 @@ export default {
},
props: ["res", "type"],
methods: {
//
submit(name) {
let that = this;
if( handleSubmit(that, name )){
this.setupSetting()
}
},
//
setupSetting() {
setSetting(this.type, this.formValidate).then((res) => {
if (res.success) {

View File

@ -88,13 +88,13 @@ export default {
this.$nextTick(() => {
this.show = true;
});
// this.$router.go(0)
},
},
mounted() {
this.clickTab(this.selected);
},
methods: {
// tab
clickTab(name) {
this.selected = name;
this.getSettingData(name);

View File

@ -64,12 +64,11 @@
}
},
methods: {
//
init() {
settingInfo("SMS_SETTING")
},
setting() {
this.modalVisible = true
},
//
saveSetting() {
setSetting("SMS_SETTING", this.form).then((res) => {
if (res.success) {
@ -80,6 +79,7 @@
this.modalVisible = false
});
},
//
settingInfo(v) {
alert()
this.selected = v

View File

@ -118,7 +118,7 @@ import * as API_Setting from "@/api/setting";
import uploadPicInput from "@/views/my-components/lili/upload-pic-input";
export default {
components: {
uploadPicInput,
uploadPicInput
},
data() {
return {
@ -238,12 +238,15 @@ export default {
},
methods: {
//
changePage(v) {
this.searchForm.pageNumber = v;
this.getDataList();
this.clearSelectAll();
},
//
changePageSize(v) {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = v;
this.getDataList();
},

View File

@ -104,7 +104,7 @@
</FormItem>
</Form>
<div slot="footer">
<Button type="text" @click="cancelUser"></Button>
<Button type="text" @click="userModalVisible = false"></Button>
<Button type="primary" :loading="submitLoading" @click="submitUser"></Button>
</div>
</Modal>
@ -136,7 +136,6 @@ export default {
},
data() {
return {
height: 510, //
loading: true, //
selectCount: 0, //
selectList: [], //
@ -353,13 +352,14 @@ export default {
],
data: [], //
total: 0, //
departments: [] //
};
},
methods: {
//
init() {
this.getUserList();
},
//
handleSelectDepTree(v) {
if (v) {
this.form.departmentId = v.departmentId;
@ -369,24 +369,22 @@ export default {
this.form.departmentTitle = "";
}
},
//
handleSelectDep(v) {
this.searchForm.departmentId = v;
},
//
changePage(v) {
this.searchForm.pageNumber = v;
this.getUserList();
this.clearSelectAll();
},
//
changePageSize(v) {
this.searchForm.pageSize = v;
this.searchForm.pageNumber = 1;
this.getUserList();
},
selectDateRange(v) {
if (v) {
this.searchForm.startDate = v[0];
this.searchForm.endDate = v[1];
}
},
getUserList() {
//
this.loading = true;
@ -405,11 +403,13 @@ export default {
}
});
},
//
handleSearch() {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10;
this.getUserList();
},
//
changeSort(e) {
this.searchForm.sort = e.key;
this.searchForm.order = e.order;
@ -418,6 +418,7 @@ export default {
}
this.getUserList();
},
//
getRoleList() {
let params = {
pageSize: 100
@ -428,6 +429,7 @@ export default {
}
});
},
//
resetPass() {
this.$Modal.confirm({
title: "确认重置",
@ -453,9 +455,7 @@ export default {
}
});
},
cancelUser() {
this.userModalVisible = false;
},
//
submitUser() {
this.$refs.form.validate(valid => {
if (valid) {
@ -498,6 +498,7 @@ export default {
}
});
},
//
add() {
this.modalType = 0;
this.modalTitle = "添加用户";
@ -505,20 +506,18 @@ export default {
this.$refs.depTree.setData("", "");
this.userModalVisible = true;
},
//
edit(v) {
this.form = JSON.parse(JSON.stringify(v));
this.modalType = 1;
this.modalTitle = "编辑用户";
this.$refs.form.resetFields();
// null""
for (let attr in this.form) {
if (this.form[attr] == null) {
this.form[attr] = "";
}
}
this.$refs.depTree.setData(this.form.departmentId, this.form.departmentTitle);
let selectRolesId = [];
if (this.form.roles) {
@ -529,6 +528,7 @@ export default {
this.form.roles = selectRolesId;
this.userModalVisible = true;
},
//
enable(v) {
let params = {
status: true
@ -548,6 +548,7 @@ export default {
}
});
},
//
disable(v) {
let params = {
status: false
@ -567,6 +568,7 @@ export default {
}
});
},
//
remove(v) {
this.$Modal.confirm({
title: "确认删除",
@ -583,14 +585,17 @@ export default {
}
});
},
//
showSelect(e) {
this.exportData = e;
this.selectList = e;
this.selectCount = e.length;
},
//
clearSelectAll() {
this.$refs.table.selectAll(false);
},
//
delAll() {
if (this.selectCount <= 0) {
this.$Message.warning("您还未选择要删除的数据");
@ -619,8 +624,6 @@ export default {
}
},
mounted() {
//
this.height = Number(document.documentElement.clientHeight - 230);
this.init();
this.getRoleList();
}

View File

@ -1,7 +1,7 @@
export const result = [
{
name: "lili",
showAlways: true,
level: 0,
type: -1,
title: "商品",
@ -15,7 +15,7 @@ export const result = [
children: [
{
name: "goods-list",
showAlways: true,
level: 1,
type: 0,
title: "商品管理",
@ -28,7 +28,7 @@ export const result = [
children: [
{
name: "goods-operation",
showAlways: true,
level: 2,
type: 0,
title: "商品发布",
@ -42,7 +42,7 @@ export const result = [
},
{
name: "goods",
showAlways: true,
level: 2,
type: 0,
title: "商品列表",
@ -56,7 +56,7 @@ export const result = [
},
// {
// name: "daft-goods",
// showAlways: true,
//
// level: 2,
// type: 0,
// title: "草稿商品",
@ -72,7 +72,7 @@ export const result = [
{
path: "template-goods",
props: {type: "TEMPLATE"},
showAlways: true,
level: 2,
type: 0,
title: "商品模版",
@ -86,7 +86,7 @@ export const result = [
},
{
name: "category",
showAlways: true,
level: 2,
type: 0,
title: "店铺分类",
@ -105,7 +105,7 @@ export const result = [
{
name: "order",
showAlways: true,
level: 0,
type: -1,
title: "订单",
@ -119,7 +119,7 @@ export const result = [
children: [
{
name: "order",
showAlways: true,
level: 1,
type: 0,
title: "订单管理",
@ -132,7 +132,7 @@ export const result = [
children: [
{
name: "orderList",
showAlways: true,
level: 2,
type: 0,
title: "商品订单",
@ -146,7 +146,7 @@ export const result = [
},
{
name: "virtualOrderList",
showAlways: true,
level: 2,
type: 0,
title: "虚拟订单",
@ -162,7 +162,7 @@ export const result = [
},
{
name: "memberComment",
showAlways: true,
level: 1,
type: 0,
title: "评价管理",
@ -175,7 +175,7 @@ export const result = [
children: [
{
name: "memberComment",
showAlways: true,
level: 2,
type: 0,
title: "评价管理",
@ -191,7 +191,7 @@ export const result = [
},
{
name: "order",
showAlways: true,
level: 1,
type: 0,
title: "售后管理",
@ -204,7 +204,7 @@ export const result = [
children: [
{
name: "returnGoodsOrder",
showAlways: true,
level: 2,
type: 0,
title: "退货管理",
@ -218,7 +218,7 @@ export const result = [
},
{
name: "returnMoneyOrder",
showAlways: true,
level: 2,
type: 0,
title: "退款管理",
@ -232,7 +232,7 @@ export const result = [
},
{
name: "orderComplaint",
showAlways: true,
level: 2,
type: 0,
title: "投诉管理",
@ -251,7 +251,7 @@ export const result = [
{
name: "bill",
showAlways: true,
level: 0,
type: -1,
title: "财务",
@ -265,7 +265,7 @@ export const result = [
children: [
{
name: "bill",
showAlways: true,
level: 1,
type: 0,
title: "财务管理",
@ -278,7 +278,7 @@ export const result = [
children: [
{
name: "accountStatementBill",
showAlways: true,
level: 2,
type: 0,
title: "财务对账",
@ -292,7 +292,7 @@ export const result = [
},
{
name: "storeBill",
showAlways: true,
level: 2,
type: 0,
title: "店铺结算",
@ -309,7 +309,7 @@ export const result = [
{
name: "receiptManager",
showAlways: true,
level: 1,
type: 0,
title: "发票管理",
@ -322,7 +322,7 @@ export const result = [
children: [
{
name: "receipt",
showAlways: true,
level: 2,
type: 0,
title: "发票管理",
@ -340,7 +340,7 @@ export const result = [
},
{
name: "promotion",
showAlways: true,
level: 0,
type: -1,
title: "营销",
@ -354,7 +354,7 @@ export const result = [
children: [
{
name: "promotion",
showAlways: true,
level: 1,
type: 0,
title: "平台活动",
@ -367,7 +367,7 @@ export const result = [
children: [
{
name: "pintuan",
showAlways: true,
level: 2,
type: 0,
title: "拼团活动",
@ -381,7 +381,7 @@ export const result = [
},
{
name: "seckill",
showAlways: true,
level: 2,
type: 0,
title: "秒杀活动",
@ -397,7 +397,7 @@ export const result = [
},
{
name: "lives",
showAlways: true,
level: 1,
type: 0,
title: "直播活动",
@ -410,7 +410,7 @@ export const result = [
children: [
{
name: "live",
showAlways: true,
level: 2,
type: 0,
title: "直播管理",
@ -424,7 +424,7 @@ export const result = [
},
{
name: "liveGoods",
showAlways: true,
level: 2,
type: 0,
title: "直播商品",
@ -440,7 +440,7 @@ export const result = [
},
{
name: "storePromotion",
showAlways: true,
level: 1,
type: 0,
title: "商家活动",
@ -453,7 +453,7 @@ export const result = [
children: [
{
name: "full-cut",
showAlways: true,
level: 2,
type: 0,
title: "满额活动",
@ -467,7 +467,7 @@ export const result = [
},
{
name: "coupon",
showAlways: true,
level: 2,
type: 0,
title: "优惠券",
@ -484,7 +484,7 @@ export const result = [
},
{
name: "distribution",
showAlways: true,
level: 1,
type: 0,
title: "分销管理",
@ -497,7 +497,6 @@ export const result = [
children: [
{
name: "distributionGoods",
showAlways: true,
level: 2,
type: 0,
title: "分销商品",
@ -511,7 +510,6 @@ export const result = [
},
{
name: "distributionOrder",
showAlways: true,
level: 2,
type: 0,
title: "分销订单",
@ -530,7 +528,6 @@ export const result = [
{
name: "statistics",
showAlways: true,
level: 0,
type: -1,
title: "统计",
@ -544,7 +541,6 @@ export const result = [
children: [
{
name: "statistics",
showAlways: true,
level: 1,
type: 0,
title: "统计管理",
@ -557,7 +553,6 @@ export const result = [
children: [
{
name: "goodsStatistics",
showAlways: true,
level: 2,
type: 0,
title: "商品统计",
@ -571,7 +566,6 @@ export const result = [
},
{
name: "orderStatistics",
showAlways: true,
level: 2,
type: 0,
title: "订单统计",
@ -585,7 +579,6 @@ export const result = [
},
{
name: "trafficStatistics",
showAlways: true,
level: 2,
type: 0,
title: "流量统计",
@ -597,7 +590,6 @@ export const result = [
permTypes: [],
children: null
},
]
}
]
@ -605,7 +597,6 @@ export const result = [
{
name: "settings",
showAlways: true,
level: 0,
type: -1,
title: "设置",
@ -618,7 +609,6 @@ export const result = [
children: [
{
name: "user-manage",
showAlways: true,
level: 1,
type: 0,
title: "页面设置",
@ -632,7 +622,6 @@ export const result = [
},
{
name: "ship",
showAlways: true,
level: 1,
type: 0,
title: "配送设置",
@ -645,7 +634,6 @@ export const result = [
children: [
{
name: "shipTemplate",
showAlways: true,
level: 2,
type: 0,
title: "配送模板",
@ -659,7 +647,6 @@ export const result = [
},
{
name: "logistics",
showAlways: true,
level: 2,
type: 0,
title: "物流公司",
@ -675,7 +662,6 @@ export const result = [
},
{
name: "shop",
showAlways: false,
level: 1,
type: 0,
title: "店铺管理",
@ -688,7 +674,7 @@ export const result = [
children: [
{
name: "shopSetting",
showAlways: true,
level: 2,
type: 0,
title: "店铺设置",
@ -703,7 +689,7 @@ export const result = [
},
{
name: "shopAddress",
showAlways: true,
level: 2,
type: 0,
title: "自提管理",
@ -723,7 +709,7 @@ export const result = [
},
{
name: "messages",
showAlways: true,
level: 0,
type: -1,
title: "消息",
@ -736,7 +722,7 @@ export const result = [
children: [
{
name: "user-manage",
showAlways: true,
level: 1,
type: 0,
title: "系统消息",
@ -749,7 +735,7 @@ export const result = [
children: [
{
name: "message_index",
showAlways: true,
level: 2,
type: 0,
title: "系统消息",