feature_0521
zhenghuang 5 years ago
parent e83a02fb9e
commit 9589780eb7

@ -1,341 +1,367 @@
<template>
<div class="layout">
<Layout :style="{minHeight: '100vh'}">
<Sider collapsible :collapsed-width="78" v-model="isCollapsed" :hide-trigger="true" >
<div class="layout">
<Layout :style="{minHeight: '100vh'}">
<Sider collapsible
:collapsed-width="78"
v-model="isCollapsed"
:hide-trigger="true">
<div style="margin: 40px 0 20px 10px;font-weight: bold;font-size: 30px;color: #ffffff;">
<Poptip placement="bottom-start" width="200" :offset="-8">
<img src="../../static/img/avatar.png" style="width: 32px;vertical-align: middle;cursor: pointer"/>
<div slot="content">
<div style="cursor: pointer;" @click="logoutClick">
<span class="logout-span">退出登录</span>
<img class="logout-img" src="../../static/img/logout.png"/>
</div>
</div>
</Poptip>
<span class="project-title">优客后台管理</span>
</div>
<div style="margin: 40px 0 20px 10px;font-weight: bold;font-size: 30px;color: #ffffff;">
<Poptip placement="bottom-start"
width="200"
:offset="-8">
<img src="../../static/img/avatar.png"
style="width: 32px;vertical-align: middle;cursor: pointer" />
<div slot="content">
<div style="cursor: pointer;"
@click="logoutClick">
<span class="logout-span">退出登录</span>
<img class="logout-img"
src="../../static/img/logout.png" />
</div>
</div>
</Poptip>
<span class="project-title">优客后台管理</span>
</div>
<Menu ref="menu" :active-name="selectedItemName" :open-names="openName" theme="dark" width="auto"
@on-select="onSelectLister" :accordion="true">
<MenuItem v-if="roleCode === 'GLY-ADMIN' || roleCode === 'DG-YUNYING' || roleCode === 'GL-YUNYING'" :name="0" to="/customer/view">
<Icon type="ios-paper"/>
<span style="margin-left: 7px">首页</span>
</MenuItem>
<Submenu :name="item.id" v-for="item in onePermissionList" :key="item.id">
<template slot="title">
<Icon type="ios-paper"/>
{{item.name}}
</template>
<MenuItem :name="cItem.id" :to="cItem.resource" v-for="cItem in item.subMenuList"
:key="cItem.id">
{{cItem.name}}
</MenuItem>
</Submenu>
</Menu>
</Sider>
<Layout>
<!-- <Header :style="{background: '#fff', boxShadow: '0 2px 3px 2px rgba(0,0,0,.1)'}"></Header>-->
<Content :style="{padding: '0 16px 16px'}">
<Breadcrumb :style="{margin: '16px 0'}">
<BreadcrumbItem><span style="cursor: pointer" @click="breadcrumbClick">{{selectedMenu}}</span></BreadcrumbItem>
<BreadcrumbItem>{{selectedSubMenu}}</BreadcrumbItem>
</Breadcrumb>
<Card>
<div :style="{'min-height':mHeight + 'px'}">
<router-view/>
</div>
</Card>
</Content>
</Layout>
</Layout>
</div>
<Menu ref="menu"
:active-name="selectedItemName"
:open-names="openName"
theme="dark"
width="auto"
@on-select="onSelectLister"
:accordion="true">
<MenuItem v-if="roleCode === 'GLY-ADMIN' || roleCode === 'DG-YUNYING' || roleCode === 'GL-YUNYING'"
:name="0"
to="/customer/view">
<Icon type="ios-paper" />
<span style="margin-left: 7px">首页</span>
</MenuItem>
<Submenu :name="item.id"
v-for="item in onePermissionList"
:key="item.id">
<template slot="title">
<Icon type="ios-paper" />
{{item.name}}
</template>
<MenuItem :name="cItem.id"
:to="cItem.resource"
v-for="cItem in item.subMenuList"
:key="cItem.id">
{{cItem.name}}
</MenuItem>
</Submenu>
</Menu>
</Sider>
<Layout>
<!-- <Header :style="{background: '#fff', boxShadow: '0 2px 3px 2px rgba(0,0,0,.1)'}"></Header>-->
<Content :style="{padding: '0 16px 16px'}">
<Breadcrumb :style="{margin: '16px 0'}">
<BreadcrumbItem><span style="cursor: pointer"
@click="breadcrumbClick">{{selectedMenu}}</span></BreadcrumbItem>
<BreadcrumbItem>{{selectedSubMenu}}</BreadcrumbItem>
</Breadcrumb>
<Card>
<div :style="{'min-height':mHeight + 'px'}">
<router-view />
</div>
</Card>
</Content>
</Layout>
</Layout>
</div>
</template>
<script>
import homeRequest from "../services/home/homeRequest";
import homeRequest from "../services/home/homeRequest";
export default {
provide() {
return {
checkParamBlank: this.checkParamBlank,
setMenuName: this.setMenuName,
};
},
data() {
return {
roleCode: JSON.parse(sessionStorage.getItem("loginInfo")).roleCode,
mainUrl: "/customer/view",
isCollapsed: false,
mHeight: 600,
selectedItemName: "",
openName: [],
selectedMenu: '',
selectedSubMenu: '',
//
onePermissionLevel: 1,
twoPermissionLevel: 2,
threePermissionLevel: 3,
//-1
onePermissionList: [],
//2
twoPermissionList: [],
//3
threePermissionList: [],
//
breadcrumbUrl: "",
}
},
mounted() {
let that = this;
this.bus.$on('callBack', function (item) {
that.callBack(item);
})
// this.bus.$on('setHeader', function (data) {
// that.setHeader(data);
// })
},
created() {
// this.mHeight = window.screen.availHeight - 22;
export default {
provide () {
return {
checkParamBlank: this.checkParamBlank,
setMenuName: this.setMenuName,
};
},
data () {
return {
roleCode: JSON.parse(sessionStorage.getItem("loginInfo")).roleCode,
mainUrl: "/customer/view",
isCollapsed: false,
mHeight: 600,
selectedItemName: "",
openName: [],
selectedMenu: '',
selectedSubMenu: '',
//
onePermissionLevel: 1,
twoPermissionLevel: 2,
threePermissionLevel: 3,
//-1
onePermissionList: [],
//2
twoPermissionList: [],
//3
threePermissionList: [],
//
breadcrumbUrl: "",
}
},
mounted () {
let that = this;
this.bus.$on('callBack', function (item) {
that.callBack(item);
})
// this.bus.$on('setHeader', function (data) {
// that.setHeader(data);
// })
},
created () {
// this.mHeight = window.screen.availHeight - 22;
//
this.listOnePermission(this.onePermissionLevel);
},
computed: {
//
this.listOnePermission(this.onePermissionLevel);
},
computed: {
},
watch: {
'selectedItemName' (val) {
console.log(val);
let that = this;
// that.openName = [that.onePermissionList[2]];
this.$nextTick(() => {
that.$refs.menu.updateActiveName();
});
}
},
watch: {
'selectedItemName' (val) {
console.log(val);
let that = this;
// that.openName = [that.onePermissionList[2]];
this.$nextTick(() => {
that.$refs.menu.updateActiveName();
});
}
},
methods: {
onSelectLister(val) {
let i;
this.onePermissionList.forEach(function (data) {
data.subMenuList.forEach(function (dta) {
if(dta.id === val){
i = dta;
}
})
});
if(i){
sessionStorage.setItem("threeLevel",JSON.stringify(i.subMenuList));
}
//
if(val === 0){
this.selectedMenu = "首页";
this.selectedSubMenu = "";
this.breadcrumbUrl = this.mainUrl;
}
},
methods: {
onSelectLister (val) {
let i;
this.onePermissionList.forEach(function (data) {
data.subMenuList.forEach(function (dta) {
if (dta.id === val) {
i = dta;
}
})
});
if (i) {
sessionStorage.setItem("threeLevel", JSON.stringify(i.subMenuList));
}
//
if (val === 0) {
this.selectedMenu = "首页";
this.selectedSubMenu = "";
this.breadcrumbUrl = this.mainUrl;
}
for (let i = 0; i < this.onePermissionList.length; i++) {
let item = this.onePermissionList[i];
for (let k = 0; k < item.subMenuList.length; k++) {
let cItem = item.subMenuList[k];
if (cItem.id === val) {
this.selectedMenu = item.name;
this.selectedSubMenu = cItem.name;
this.selectedItemName = cItem.id;
this.breadcrumbUrl = cItem.resource;
}
}
}
},
//
checkParamBlank: function (obj) {
for (let param in obj) {
obj[param] = this.checkBlank(obj[param]);
}
},
//
checkBlank: function (data) {
if (!data && data != 0) {
return "--";
} else {
return data;
}
},
//
listOnePermission(level) {
let that = this;
let userId = JSON.parse(sessionStorage.getItem("loginInfo")).userId;
let request = {
userId: userId,
level: level
};
homeRequest.listUserLoginPermissionApi(request, function (data) {
data = data.data;
if (data.code === '0001') {
that.$Message.error("查询用户权限出错");
return;
}
if (data.code === '0000') {
data = data.results;
for (let i = 0; i < data.length; i++) {
let row = data[i];
row.class = 'head-permission';
that.onePermissionList.push(row);
}
that.listTwoPermission(that.twoPermissionLevel);
}
for (let i = 0; i < this.onePermissionList.length; i++) {
let item = this.onePermissionList[i];
for (let k = 0; k < item.subMenuList.length; k++) {
let cItem = item.subMenuList[k];
if (cItem.id === val) {
this.selectedMenu = item.name;
this.selectedSubMenu = cItem.name;
this.selectedItemName = cItem.id;
this.breadcrumbUrl = cItem.resource;
}
}
}
},
//
checkParamBlank: function (obj) {
for (let param in obj) {
obj[param] = this.checkBlank(obj[param]);
}
},
//
checkBlank: function (data) {
if (!data && data != 0) {
return "--";
} else {
return data;
}
},
//
listOnePermission (level) {
let that = this;
let userId = JSON.parse(sessionStorage.getItem("loginInfo")).userId;
let request = {
userId: userId,
level: level
};
homeRequest.listUserLoginPermissionApi(request, function (data) {
data = data.data;
if (data.code === '0001') {
that.$Message.error("查询用户权限出错");
return;
}
if (data.code === '0000') {
data = data.results;
for (let i = 0; i < data.length; i++) {
let row = data[i];
row.class = 'head-permission';
that.onePermissionList.push(row);
}
that.listTwoPermission(that.twoPermissionLevel);
}
})
},
//
listTwoPermission(level) {
let userId = JSON.parse(sessionStorage.getItem("loginInfo")).userId;
let that = this;
that.twoPermissionList = [];
let request = {
userId: userId,
level: level
};
homeRequest.listUserLoginPermissionApi(request, function (data) {
data = data.data;
if (data.code === '0001') {
that.$Message.error("查询用户权限出错");
return;
}
if (data.code === '0000') {
data = data.results;
that.twoPermissionList = [];
for (let i = 0; i < data.length; i++) {
let row = data[i];
that.twoPermissionList.push(row);
}
that.listThreePermission(that.threePermissionLevel);
}
})
},
//
listTwoPermission (level) {
let userId = JSON.parse(sessionStorage.getItem("loginInfo")).userId;
let that = this;
that.twoPermissionList = [];
let request = {
userId: userId,
level: level
};
homeRequest.listUserLoginPermissionApi(request, function (data) {
data = data.data;
if (data.code === '0001') {
that.$Message.error("查询用户权限出错");
return;
}
if (data.code === '0000') {
data = data.results;
that.twoPermissionList = [];
for (let i = 0; i < data.length; i++) {
let row = data[i];
that.twoPermissionList.push(row);
}
that.listThreePermission(that.threePermissionLevel);
}
})
},
//
listThreePermission(level) {
let userId = JSON.parse(sessionStorage.getItem("loginInfo")).userId;
let that = this;
that.threePermissionList = [];
let request = {
userId: userId,
level: level
};
homeRequest.listUserLoginPermissionApi(request, function (data) {
data = data.data;
if (data.code === '0001') {
that.$Message.error("查询用户权限出错");
return;
}
if (data.code === '0000') {
data = data.results;
that.threePermissionList = [];
for (let i = 0; i < data.length; i++) {
let row = data[i];
that.threePermissionList.push(row);
}
that.twoPermissionList.forEach(function (two) {
//
let three = that.threePermissionList.filter(function (data) {
return data.pid === two.id
});
two.subMenuList = three;
});
that.onePermissionList.forEach(function (one) {
//
let two = that.twoPermissionList.filter(function (data) {
return data.pid === one.id
});
one.subMenuList = two;
});
//
that.menuInit();
}
})
},
//
menuInit: function () {
let that = this;
if(this.roleCode === 'GLY-ADMIN' || this.roleCode === 'DG-YUNYING' || this.roleCode === 'GL-YUNYING'){
//
that.selectedItemName = 0;
this.$router.push({path: that.mainUrl});
this.selectedMenu = "首页";
this.breadcrumbUrl = this.mainUrl;
}else{
that.selectedItemName = that.onePermissionList[0].subMenuList[0].id;
that.openName = [that.onePermissionList[0].id];
})
},
//
listThreePermission (level) {
let userId = JSON.parse(sessionStorage.getItem("loginInfo")).userId;
let that = this;
that.threePermissionList = [];
let request = {
userId: userId,
level: level
};
homeRequest.listUserLoginPermissionApi(request, function (data) {
data = data.data;
if (data.code === '0001') {
that.$Message.error("查询用户权限出错");
return;
}
if (data.code === '0000') {
data = data.results;
that.threePermissionList = [];
for (let i = 0; i < data.length; i++) {
let row = data[i];
that.threePermissionList.push(row);
}
that.twoPermissionList.forEach(function (two) {
//
let three = that.threePermissionList.filter(function (data) {
return data.pid === two.id
});
two.subMenuList = three;
});
that.onePermissionList.forEach(function (one) {
//
let two = that.twoPermissionList.filter(function (data) {
return data.pid === one.id
});
one.subMenuList = two;
});
//
that.menuInit();
}
})
},
//
menuInit: function () {
let that = this;
if (this.roleCode === 'GLY-ADMIN' || this.roleCode === 'DG-YUNYING' || this.roleCode === 'GL-YUNYING') {
//
that.selectedItemName = 0;
this.$router.push({ path: that.mainUrl });
this.selectedMenu = "首页";
this.breadcrumbUrl = this.mainUrl;
} else {
that.selectedItemName = that.onePermissionList[0].subMenuList[0].id;
that.openName = [that.onePermissionList[0].id];
this.selectedMenu = this.onePermissionList[0].name;
this.selectedSubMenu = this.onePermissionList[0].subMenuList[0].name;
sessionStorage.setItem("threeLevel",JSON.stringify(this.onePermissionList[0].subMenuList[0].subMenuList));
// this.$nextTick(() => {
// this.$refs.menu.updateOpened();
// this.$refs.menu.updateActiveName();
// });
this.$router.push({path: that.onePermissionList[0].subMenuList[0].resource});
}
this.selectedMenu = this.onePermissionList[0].name;
this.selectedSubMenu = this.onePermissionList[0].subMenuList[0].name;
sessionStorage.setItem("threeLevel", JSON.stringify(this.onePermissionList[0].subMenuList[0].subMenuList));
// this.$nextTick(() => {
// this.$refs.menu.updateOpened();
// this.$refs.menu.updateActiveName();
// });
this.$router.push({ path: that.onePermissionList[0].subMenuList[0].resource });
}
},
//
callBack(item) {
let that = this;
this.selectedMenu = "设置管理";
this.selectedSubMenu = "账户管理";
this.selectedItemName = this.onePermissionList[2].subMenuList[0].id;
this.$router.push({path: '/account/manager',query:item});
},
setHeader(data){
let that = this;
this.selectedSubMenu = data.header;
this.$nextTick(() => {
that.$refs.menu.updateActiveName();
})
},
//
setMenuName: function (menu1, menu2) {
this.selectedMenu = menu1;
this.selectedSubMenu = menu2;
},
//
breadcrumbClick: function () {
if(this.selectedMenu === "首页"){
this.selectedSubMenu = "";
}
this.$router.push(this.breadcrumbUrl);
},
//
logoutClick: function () {
sessionStorage.setItem("loginInfo", "");
sessionStorage.setItem("userId", "");
sessionStorage.setItem("roleCode", "");
this.$router.push('/login');
this.$Message.info("登出成功");
}
},
},
//
callBack (item) {
let that = this;
this.selectedMenu = "设置管理";
this.selectedSubMenu = "账户管理";
this.selectedItemName = this.onePermissionList[2].subMenuList[0].id;
this.$router.push({ path: '/account/manager', query: item });
},
setHeader (data) {
let that = this;
this.selectedSubMenu = data.header;
this.$nextTick(() => {
that.$refs.menu.updateActiveName();
})
},
//
setMenuName: function (menu1, menu2) {
console.log("setMenu", arguments)
this.selectedMenu = menu1;
this.selectedSubMenu = menu2;
let parentId;
let subId;
this.onePermissionList.forEach(item => {
if (item.name == menu1) parentId = item.id
})
this.$forceUpdate()
},
//
breadcrumbClick: function () {
if (this.selectedMenu === "首页") {
this.selectedSubMenu = "";
}
this.$router.push(this.breadcrumbUrl);
},
//
logoutClick: function () {
sessionStorage.setItem("loginInfo", "");
sessionStorage.setItem("userId", "");
sessionStorage.setItem("roleCode", "");
this.$router.push('/login');
this.$Message.info("登出成功");
}
},
}
</script>
<style scoped>
.layout-con {
height: 100%;
width: 100%;
}
/*项目标题*/
.project-title{
font-size: 22px;
margin-left: 15px;
}
/*退出登入*/
.logout-span{
font-size: 15px;
vertical-align: middle;
color: #535353;
}
.logout-img{
vertical-align: middle;
margin-left: 80px;
}
.layout-con {
height: 100%;
width: 100%;
}
/*项目标题*/
.project-title {
font-size: 22px;
margin-left: 15px;
}
/*退出登入*/
.logout-span {
font-size: 15px;
vertical-align: middle;
color: #535353;
}
.logout-img {
vertical-align: middle;
margin-left: 80px;
}
</style>

@ -1,46 +1,50 @@
<template>
<div class="use_box">
<Modal
:scrollable="false"
v-model="showUse"
title="使用活动"
@on-cancel="cancel"
:loading="true"
width="70%"
@on-visible-change="visibleChange"
>
<Steps style="padding: 40px;" :current="currentStep">
<Modal :scrollable="false"
v-model="showUse"
title="使用活动"
@on-cancel="cancel"
:loading="true"
width="70%"
@on-visible-change="visibleChange">
<Steps style="padding: 40px;"
:current="currentStep">
<Step title="基本信息"></Step>
<Step :title="isModify ? '修改零售公司' : '选择零售公司'" content></Step>
<Step :title="isModify ? '修改店铺' : '选择店铺'" content></Step>
<Step title="确认信息" content></Step>
<Step :title="isModify ? '修改零售公司' : '选择零售公司'"
content></Step>
<Step :title="isModify ? '修改店铺' : '选择店铺'"
content></Step>
<Step title="确认信息"
content></Step>
</Steps>
<useActivityStepOne :schedule="schedule" :isModify="isModify" v-if="currentStep == 0 && show"></useActivityStepOne>
<useActivityStepTwo :schedule="schedule" :isModify="isModify" v-if="currentStep == 1"></useActivityStepTwo>
<useActivityStepThree :schedule="schedule" :isModify="isModify" v-if="currentStep == 2"></useActivityStepThree>
<useActivityStepFoure :schedule="schedule" :isModify="isModify" v-if="currentStep == 3"></useActivityStepFoure>
<useActivityStepOne :schedule="schedule"
:isModify="isModify"
v-if="currentStep == 0 && show"></useActivityStepOne>
<useActivityStepTwo :schedule="schedule"
:isModify="isModify"
v-if="currentStep == 1"></useActivityStepTwo>
<useActivityStepThree :schedule="schedule"
:isModify="isModify"
v-if="currentStep == 2"></useActivityStepThree>
<useActivityStepFoure :schedule="schedule"
:isModify="isModify"
v-if="currentStep == 3"></useActivityStepFoure>
<div slot="footer">
<Button
v-if="currentStep !== 0"
type="primary"
shape="circle"
:loading="modal_loading"
@click="back"
>上一步</Button>
<Button
v-if="currentStep !== 3"
type="primary"
shape="circle"
:loading="modal_loading"
@click="next"
>下一步</Button>
<Button
v-if="currentStep == 3"
type="primary"
shape="circle"
:loading="modal_loading"
@click="finish"
>完成</Button>
<Button v-if="currentStep !== 0"
type="primary"
shape="circle"
:loading="modal_loading"
@click="back">上一步</Button>
<Button v-if="currentStep !== 3"
type="primary"
shape="circle"
:loading="modal_loading"
@click="next">下一步</Button>
<Button v-if="currentStep == 3"
type="primary"
shape="circle"
:loading="modal_loading"
@click="finish">完成</Button>
</div>
</Modal>
</div>
@ -62,7 +66,7 @@ export default {
useActivityStepFoure
},
inject: ["setMenuName"],
data() {
data () {
return {
currentStep: 0,
modal_loading: false,
@ -83,27 +87,26 @@ export default {
}
},
watch: {
show() {
show () {
this.showUse = this.show;
},
schedule() {
schedule () {
store.getters.useData.scheduleId = this.schedule.id;
}
},
created() {
this.setMenuName("活动管理", "活动计划");
created () {
},
mounted() {},
mounted () { },
methods: {
visibleChange(show) {},
cancel() {
visibleChange (show) { },
cancel () {
store.commit("RSET_useData");
this.$emit("doShow", false);
this.modal_loading = false;
this.showUse = false;
this.currentStep = 0;
},
next() {
next () {
let data = store.getters.useData;
data.name = this.schedule.name;
if (this.currentStep === 0) {
@ -146,17 +149,18 @@ export default {
store.commit("SET_useData", data);
this.currentStep = this.currentStep + 1;
},
back() {
back () {
this.currentStep = this.currentStep - 1;
},
finish() {
finish () {
let that = this;
let data = store.getters.useData;
data.isGetActivityInfo = true;
this.modal_loading = true;
ActivityManager.saveActivityData(store.getters.useData, function(data) {
ActivityManager.saveActivityData(store.getters.useData, function (data) {
store.commit("RSET_useData");
that.$emit("doShow", false);
that.setMenuName("活动管理", "活动计划");
that.$router.push("/activity/plan");
that.currentStep = 0;
that.modal_loading = false;

Loading…
Cancel
Save