Commit f3d77f7b authored by 华国豪's avatar 华国豪 🙄

新增自定义菜单,新增公告微途弹窗,新增公告快捷入口,侧边工具栏新增公告列表

parent c379e405
...@@ -12,7 +12,7 @@ const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') ...@@ -12,7 +12,7 @@ const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin') const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env') const env = require('../config/prod.env')
const version = new Date().getTime();
const webpackConfig = merge(baseWebpackConfig, { const webpackConfig = merge(baseWebpackConfig, {
module: { module: {
rules: utils.styleLoaders({ rules: utils.styleLoaders({
...@@ -24,8 +24,8 @@ const webpackConfig = merge(baseWebpackConfig, { ...@@ -24,8 +24,8 @@ const webpackConfig = merge(baseWebpackConfig, {
devtool: config.build.productionSourceMap ? config.build.devtool : false, devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: { output: {
path: config.build.assetsRoot, path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'), filename: utils.assetsPath('js/[name].[chunkhash]' + version + '.js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') chunkFilename: utils.assetsPath('js/[id].[chunkhash]' + version + '.js')
}, },
plugins: [ plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html // http://vuejs.github.io/vue-loader/en/workflow/production.html
......
...@@ -80,6 +80,9 @@ ...@@ -80,6 +80,9 @@
.color_red{ .color_red{
color: #e95252 !important; color: #e95252 !important;
} }
.groupTourOrder_remarks{
border-bottom: 1px solid #333333;
}
</style> </style>
<template> <template>
<div class="page_MyCustomer"> <div class="page_MyCustomer">
...@@ -126,6 +129,8 @@ ...@@ -126,6 +129,8 @@
<th width="8%">实收</th> <th width="8%">实收</th>
<th width="8%">退款</th> <th width="8%">退款</th>
<th width="8%">平台税金</th> <th width="8%">平台税金</th>
<th width="5%">待收</th>
<th width="5%">在途</th>
<th width="7%">订单状态</th> <th width="7%">订单状态</th>
<th width="5%">状态</th> <th width="5%">状态</th>
<th width="8%">操作</th> <th width="8%">操作</th>
...@@ -159,6 +164,12 @@ ...@@ -159,6 +164,12 @@
<td> <td>
<span>{{moneyFormat(item.PlatformTax)}}</span> <span>{{moneyFormat(item.PlatformTax)}}</span>
</td> </td>
<td>
<span>{{moneyFormat(item.DueInMoney)}}</span>
</td>
<td>
<span>{{moneyFormat(item.ZaiTu)}}</span>
</td>
<td> <td>
{{item.VisaOrderStatus==1?"正常":"已取消"}}</br> {{item.VisaOrderStatus==1?"正常":"已取消"}}</br>
<span class="fz12" v-if="item.VisaOrderStatus==2">操作:{{item.UpdateName}}</span> <span class="fz12" v-if="item.VisaOrderStatus==2">操作:{{item.UpdateName}}</span>
...@@ -186,7 +197,7 @@ ...@@ -186,7 +197,7 @@
</tr> </tr>
<tr> <tr>
<td colspan="12" class="RL_Order" style="height:40px;"> <td colspan="14" class="RL_Order" style="height:40px;">
<span class="VO-remarkTitle">名单:</span> <span class="VO-remarkTitle">名单:</span>
<span class="VO-redType VO-remarkCon" v-if="item.GuestList.length>0" style="cursor:pointer"> <span class="VO-redType VO-remarkCon" v-if="item.GuestList.length>0" style="cursor:pointer">
<span v-for="(childItem) in item.GuestList" style="margin-right:10px;" @click="goUrl2('VisapassengerList',item.Id,'旅客名单')">{{childItem.userName}}</span> <span v-for="(childItem) in item.GuestList" style="margin-right:10px;" @click="goUrl2('VisapassengerList',item.Id,'旅客名单')">{{childItem.userName}}</span>
...@@ -197,7 +208,7 @@ ...@@ -197,7 +208,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="7" class="groupTourOrder_remarks" style="height: 40px;"> <td colspan="8" class="groupTourOrder_remarks" style="height: 40px;">
<div> <div>
<div> <div>
<span class="VO-remarkTitle">备注:</span> <span class="VO-remarkTitle">备注:</span>
...@@ -205,7 +216,7 @@ ...@@ -205,7 +216,7 @@
</div> </div>
</div> </div>
</td> </td>
<td colspan="7" class="groupTourOrder_tickets" style="height: 40px;"> <td colspan="8" class="groupTourOrder_tickets" style="height: 40px;">
<div> <div>
<div> <div>
<span>财务单据:</span> <span>财务单据:</span>
...@@ -220,9 +231,12 @@ ...@@ -220,9 +231,12 @@
</div> </div>
</td> </td>
</tr> </tr>
<tr>
<td colspan="16" style="height: 1px;magrin:0;padding: 0;background-color: #000;"></td>
</tr>
</tbody> </tbody>
<tr v-show="dataList.length==0"> <tr v-show="dataList.length==0">
<td v-show="dataList.length==0" colspan="9" align="center">暂无数据</td> <td v-show="dataList.length==0" colspan="16" align="center">暂无数据</td>
</tr> </tr>
</table> </table>
<el-pagination <el-pagination
......
...@@ -333,7 +333,7 @@ ...@@ -333,7 +333,7 @@
} else { } else {
this.$message.error(res.data.message) this.$message.error(res.data.message)
} }
}, err => {}) }, err => {})
}, },
updateNotice(id){ updateNotice(id){
this.addMsg.Id=id; this.addMsg.Id=id;
......
...@@ -107,7 +107,6 @@ export default { ...@@ -107,7 +107,6 @@ export default {
console.log("filter", filters); console.log("filter", filters);
let data = JSON.parse(JSON.stringify(this.dataListTwo)) let data = JSON.parse(JSON.stringify(this.dataListTwo))
let dataListTwo = JSON.parse(JSON.stringify(this.dataListTwo)) let dataListTwo = JSON.parse(JSON.stringify(this.dataListTwo))
debugger;
if (filters.bName && filters.bName!='' && filters.bName!='__all__'){ if (filters.bName && filters.bName!='' && filters.bName!='__all__'){
data = data.filter(item => item.bName && item.bName.indexOf(filters.bName)!=-1); data = data.filter(item => item.bName && item.bName.indexOf(filters.bName)!=-1);
} }
...@@ -118,7 +117,11 @@ export default { ...@@ -118,7 +117,11 @@ export default {
data = data.filter(item => item.emName.indexOf(filters.emName)!=-1); data = data.filter(item => item.emName.indexOf(filters.emName)!=-1);
} }
if (filters.periods && filters.periods!=''){ if (filters.periods && filters.periods!=''){
data = data.filter(item => item.periods.indexOf(filters.periods)!=-1); this.msg.Periods = filters.periods[0]
this.getList();
} else{
this.msg.Periods = ''
this.getList();
} }
if ((filters.bName === '' || filters.bName==='__all__') && filters.departmentName === '' && filters.emName === '' && filters.periods === ''){ if ((filters.bName === '' || filters.bName==='__all__') && filters.departmentName === '' && filters.emName === '' && filters.periods === ''){
data = dataListTwo data = dataListTwo
...@@ -307,6 +310,18 @@ export default { ...@@ -307,6 +310,18 @@ export default {
return `<span>${rowData.complainCount <= 0 ? '' : rowData.complainCount}</span>` return `<span>${rowData.complainCount <= 0 ? '' : rowData.complainCount}</span>`
} }
}; };
let LllegalModifyRemarkCount = {
field: "LllegalModifyRemarkCount",
title: "结团后修改备注",
titleAlign: "left",
columnAlign: "left",
isResize: true,
width: 80,
orderBy: "",
formatter: function(rowData, rowIndex, pagingIndex, field) {
return `<span>${rowData.LllegalModifyRemarkCount <= 0 ? '' : rowData.LllegalModifyRemarkCount}</span>`
}
};
let discountPrice = { let discountPrice = {
field: "discountPrice", field: "discountPrice",
title: "少价金额", title: "少价金额",
...@@ -332,6 +347,7 @@ export default { ...@@ -332,6 +347,7 @@ export default {
this.columns.push(leaveEarlyCount); this.columns.push(leaveEarlyCount);
this.columns.push(complainCount); this.columns.push(complainCount);
this.columns.push(discountPrice); this.columns.push(discountPrice);
this.columns.push(LllegalModifyRemarkCount);
this.isReady = true; this.isReady = true;
}, },
sortChange(param) { sortChange(param) {
...@@ -361,6 +377,9 @@ export default { ...@@ -361,6 +377,9 @@ export default {
if(param.uncollected!=''){ if(param.uncollected!=''){
this.msg.OrderBy='a.Uncollected '+param.uncollected this.msg.OrderBy='a.Uncollected '+param.uncollected
} }
if(param.LllegalModifyRemarkCount!=''){
this.msg.OrderBy='a.LllegalModifyRemarkCount '+param.lllegalModifyRemarkCount
}
//this.tableData = this.orderBy(d, ["incomeVal"], param.income).results; //this.tableData = this.orderBy(d, ["incomeVal"], param.income).results;
this.getList(); this.getList();
// }else{ // }else{
......
...@@ -114,10 +114,11 @@ ...@@ -114,10 +114,11 @@
</li> </li>
<li style="position: relative;"> <li style="position: relative;">
<!-- <div v-show='hasNewMsg>0' style="position: absolute; background:#E95252; width: 10px; height: 10px; border-radius: 5px; top: 50px; left: 35px;"></div> --> <!-- <div v-show='hasNewMsg>0' style="position: absolute; background:#E95252; width: 10px; height: 10px; border-radius: 5px; top: 50px; left: 35px;"></div> -->
<i class="iconfont icon-imessage_top" :class="[hasNewMsg>0&&!IM_bodyIsShow?'animation red':'',IM_bodyIsShow?'red':'']" @click="IM_bodyIsShow=!IM_bodyIsShow"></i> <i class="iconfont icon-imessage_top" :class="[hasNewMsg>0&&!IM_bodyIsShow?'animation red':'',IM_bodyIsShow?'red':'']" @click="IM_bodyIsShow=!IM_bodyIsShow,IM_navType=1"></i>
<!--<i class="iconfont icon-imessage_top" @click="togglebox($event)"></i>--> <!--<i class="iconfont icon-imessage_top" @click="togglebox($event)"></i>-->
</li> </li>
<li><i class="iconfont icon-banbengengxin" @click="goUrlLog()"></i></li> <li><i class="iconfont icon-banbengengxin" @click="goUrlLog()"></i></li>
<li><i class="iconfont icon-gonggao" @click="IM_bodyIsShow=!IM_bodyIsShow, IM_navType=52"></i></li>
<li> <li>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
...@@ -159,16 +160,21 @@ ...@@ -159,16 +160,21 @@
空间 空间
<div class="lihoverNote"></div> <div class="lihoverNote"></div>
</li> </li>
<li @click="IM_navType=52,imToolsType=0,changeTools(0)" :class="{checked:IM_navType==52}">
<!-- <i class="iconfont icon-ico_kongjiann"></i> -->
公告
<div class="lihoverNote"></div>
</li>
</ul> </ul>
</div> </div>
<div class="IM_tool" style='top: 41px;z-index: 1;' v-if="IM_navType!==3"> <div class="IM_tool" style='top: 41px;z-index: 1;' v-if="IM_navType!==3 && IM_navType!==52">
<div class="search"> <div class="search">
<i class='iconfont icon-search search'></i> <i class='iconfont icon-search search'></i>
<input type="text" class='s-box' placeholder='搜索' v-model="newSearchContent" @keyup.enter="searchNameV2"/> <input type="text" class='s-box' placeholder='搜索' v-model="newSearchContent" @keyup.enter="searchNameV2"/>
<i class="close iconfont icon-close" v-if='newSearchContent.length>0' @click="changeTools(0)"></i> <i class="close iconfont icon-close" v-if='newSearchContent.length>0' @click="changeTools(0)"></i>
</div> </div>
</div> </div>
<div v-show="imToolsType!=-1"> <div v-show="imToolsType!=-1 && imToolsType!=52">
<div v-show="IM_navType==1" class="IM_messageList "> <div v-show="IM_navType==1" class="IM_messageList ">
<ul> <ul>
<li <li
...@@ -242,9 +248,25 @@ ...@@ -242,9 +248,25 @@
<i class="close iconfont icon-close" @click="changeTools(0)"></i> <i class="close iconfont icon-close" @click="changeTools(0)"></i>
</div> </div>
</div> </div>
<div v-show="IM_navType==52" class="IM_messageList IM_messageList2">
<ul class="_SysNoteDate_ul" v-loading="SystemLog">
<li @click="redNotice(item.noticeId, item.title)"
v-for="item in NoticeList"
class="u-list-item"
>
<div style="float: left; width: 38px; height: 38px; border-radius: 19px;background: #6694DC;
margin: 0px 10px; font-size: 14px; text-align: center; line-height: 38px; color: #fff;">通知</div>
<div class="cont sys_cont">
<p class="name">{{item.groupName}}</p>
<p class="msg sys_msg">{{item.title}}</p>
</div>
<div style="float: right; font-size: 12px; color: #999; margin: 12px 0 0;">{{item.noticeDate}}</div>
</li>
<li class="sysMsg_lod_more" @click="getNoticeList(2)" v-if="AllNoticeCount < NoticeListMsg.pageIndex">
<p>加载更多...</p>
</li>
</ul>
</div>
<div class='IM_contacts contact-box' v-show="IM_navType==2 && searchList.length===0"> <div class='IM_contacts contact-box' v-show="IM_navType==2 && searchList.length===0">
<!-- <div style="padding: 10px; border-bottom: 1px dashed rgba(134,142,148,.4); overflow: hidden;"> <!-- <div style="padding: 10px; border-bottom: 1px dashed rgba(134,142,148,.4); overflow: hidden;">
<div class="fl" style="width: 300px; margin-right: 10px;"> <div class="fl" style="width: 300px; margin-right: 10px;">
...@@ -385,7 +407,7 @@ ...@@ -385,7 +407,7 @@
</ul> </ul>
</div> </div>
<div v-show="IM_navType==3"> <div v-show="IM_navType==3">
<div class="IM_myNav"> <div class="IM_myNav">
<ul> <ul>
<li :class="{cked:dynamicType==1}" @click="dynamicType=1"><i class="iconfont icon-suoyoudongtai"></i> <li :class="{cked:dynamicType==1}" @click="dynamicType=1"><i class="iconfont icon-suoyoudongtai"></i>
全部动态</li> 全部动态</li>
...@@ -804,6 +826,16 @@ ...@@ -804,6 +826,16 @@
<button class="normalBtn" @click="updateTeamName">保存</button> <button class="normalBtn" @click="updateTeamName">保存</button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog custom-class='w800' :title="dialogTitleNot" :visible.sync="outerVisibleNot" center :before-close="closeChangeMachie">
<div>
<p style="text-align: right; padding: 5px 0;">{{detailMessage.EmName}}&nbsp;&nbsp;&nbsp;&nbsp;{{detailMessage.UpdateTime}}</p>
<pre style="letter-spacing: 1px; font-size: 14px; color: #333;">{{detailMessage.Content}}</pre>
<p style="padding:0 10px; margin: 10px 0; background: #f1f1f1;">{{$t('adm.adm_fujian')}}:</p>
<p style="height: 28px; padding: 0 10px; line-height: 28px;" v-for="item in downLoadList" class="AnnFileListPMeta">
<i class="iconfont icon-xiazai"></i>--<span @click="downloadSingle(item)">{{item.Name}}</span>
</p>
</div>
</el-dialog>
<a class="weOytour" ref="weOytour" href="http://we.oytour.com:8110/" target="view_window">Preface</a> <a class="weOytour" ref="weOytour" href="http://we.oytour.com:8110/" target="view_window">Preface</a>
<div v-show="mazip==0" id="downzip"> <div v-show="mazip==0" id="downzip">
...@@ -841,6 +873,8 @@ export default { ...@@ -841,6 +873,8 @@ export default {
}, },
data() { data() {
return { return {
dialogTitleNot: '',
outerVisibleNot: false,
downmz:false, downmz:false,
mazip:localStorage.getItem("mazip") ? localStorage.getItem("mazip") : 0, mazip:localStorage.getItem("mazip") ? localStorage.getItem("mazip") : 0,
language:'zh-CN', language:'zh-CN',
...@@ -1033,6 +1067,15 @@ export default { ...@@ -1033,6 +1067,15 @@ export default {
allSsionList:[], allSsionList:[],
allWindowWidth: '', allWindowWidth: '',
SetTimeout: null, SetTimeout: null,
NoticeList: [],
AllNoticeCount: 0,
NoticeListMsg: {
pageIndex: 1,
pageSize: 10,
noticeType: 0,
},
detailMessage: {},
downLoadList: [],
}; };
}, },
filters: { filters: {
...@@ -1326,7 +1369,7 @@ export default { ...@@ -1326,7 +1369,7 @@ export default {
this.getMyDynamic(); this.getMyDynamic();
this.getAboutMeDynamic(); this.getAboutMeDynamic();
this.getWebAllPart(); this.getWebAllPart();
this.getNoticeList()
document document
.getElementById("allDynamic") .getElementById("allDynamic")
.addEventListener("scroll", function() { .addEventListener("scroll", function() {
...@@ -1375,6 +1418,7 @@ export default { ...@@ -1375,6 +1418,7 @@ export default {
this.Financial_post_GetNotDealCount(); this.Financial_post_GetNotDealCount();
this.app_user_workflow_MyAuditCount(); this.app_user_workflow_MyAuditCount();
this.refreshSysNoteDate(); this.refreshSysNoteDate();
this.GetUserIsRead();
}, },
created() { created() {
//页面刚进入时开启长连接 //页面刚进入时开启长连接
...@@ -1399,6 +1443,64 @@ export default { ...@@ -1399,6 +1443,64 @@ export default {
} }
}, },
methods: { methods: {
downloadSingle(obj){
let reg = /^http(s)?:\/\/(.*?)\//
this.downloadFileRename(obj.Url.replace(reg,''),obj.Name);
},
closeChangeMachie(done) { //弹出框关闭初始化弹框内表单
done();
},
GetUserIsRead(){
this.apipost('app_user_notice_GetUserIsRead',{},res=>{
if(res.data.resultCode == 1) {
if (res.data.data.IsRead === 0) {
this.dialogTitleNot = res.data.data.title;
this.getNotDetail(res.data.data.noticeId)
}
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
getNotDetail: function(id) {
this.apipost('User_get_NoticeGet',{noticeId:id},res=>{
if(res.data.resultCode == 1) {
this.detailMessage=res.data.data
this.downLoadList=res.data.data.File_url ? JSON.parse(res.data.data.File_url) : []
this.downLoadList.forEach(item=>{
item.Url=this.domainManager().ViittoFileUrl+item.Url
})
this.outerVisibleNot = true;
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
// 阅读公告
redNotice: function (id, tit) {
this.dialogTitleNot = tit;
this.apipost('app_user_notice_detial',{noticeId:id},res=>{
if(res.data.resultCode == 1) {
this.getNotDetail(id)
this.getNoticeList()
}else{
this.$message.error(res.data.message)
}
})
},
// 获取公告列表
getNoticeList: function (t) {
if (t) {
this.NoticeListMsg.pageIndex += 1
}
this.apipost("app_user_notice_list", this.NoticeListMsg, res => {
if (res.data.resultCode == 1) {
this.NoticeList = res.data.data.pageData;
this.AllNoticeCount = res.data.data.pageCount;
}
},err => {}
);
},
//获取版本号 //获取版本号
getVersion(){ getVersion(){
let msg = { let msg = {
...@@ -4054,6 +4156,9 @@ export default { ...@@ -4054,6 +4156,9 @@ export default {
font-size: 12px; font-size: 12px;
color: #999999; color: #999999;
} }
.IM_messageList2{
top: 41px;
}
.IM_messageList ul li.sysMsg_lod_more:hover { .IM_messageList ul li.sysMsg_lod_more:hover {
background-color: inherit; background-color: inherit;
height: auto; height: auto;
......
...@@ -16,17 +16,61 @@ ...@@ -16,17 +16,61 @@
</ul> </ul>
</div> </div>
</div> </div>
<div class="singleMenUlayer singleMenUlayer2" v-show="singleMenUlayerShow2">
<i class="iconfont icon-Close" @click="singleMenUlayerShow2=false"></i>
<el-tabs v-model="activeName">
<template v-for="(outItem, outIndex) in items">
<el-tab-pane :label="outItem.MenuName" :name="outItem.MenuName">
<div class="clearfix">
<template v-for="(item,index) in outItem.ChildMenu">
<div class="fl flash_menu" @click="addFlash(item, index, outIndex)">
<i class="choice_icon iconfont icon-duigou" :class="{_active: item.IsShortcutMenu === 1}"></i>
<p class="menu_icon"><i :style="{background:item.MenuStyleColor}" :class="[fontPub,item.MenuStyleIcon]"></i></p>
<p class="flash_menu_name">{{item.MenuName}}</p>
</div>
</template>
</div>
</el-tab-pane>
</template>
</el-tabs>
</div>
<div class="shortcutsDiv"> <div class="shortcutsDiv">
<div class="rgba"></div> <div class="rgba"></div>
<p class="updateIcon"><i class="iconfont icon-Edit"></i></p> <p class="updateIcon" @click="singleMenUlayerShow2 = true, singleMenUlayerShow = false">
<div class="shortcuts"> <el-tooltip effect="dark" content="添加快捷菜单" placement="top-start">
<li v-for="(item,index) in items" @click="showMenu(item)"> <i class="iconfont icon-Edit"></i>
<div> </el-tooltip>
<i v-for="childItem in item.childerns" :style="{background:childItem.MenuStyleColor}" </p>
:class="[fontPub,childItem.MenuStyleIcon]"></i> <div class="shortcuts ">
</div> <p class="flash_menu_tit">基本菜单</p>
{{item.MenuName}} <ul class="clearfix">
</li> <li class="more_menu" v-for="(item,index) in items" @click="showMenu(item)">
<div>
<i v-for="childItem in item.childerns" :style="{background:childItem.MenuStyleColor}"
:class="[fontPub,childItem.MenuStyleIcon]"></i>
</div>
{{item.MenuName}}
</li>
</ul>
<p class="flash_menu_tit">快捷菜单</p>
<ul class="clearfix flash_menu_left">
<li v-if="ShortcutMenu.length<1" class="fl" >
<div @click="singleMenUlayerShow2 = true, singleMenUlayerShow = false">
<i
class="iconfont icon-mui-icon-add add_more"></i>
</div>
<p @click="singleMenUlayerShow2 = true, singleMenUlayerShow = false">新增快捷菜单</p>
</li>
<li v-for="(item, index) in ShortcutMenu" class="fl" >
<i v-if="singleMenUlayerShow2" class="iconfont icon-Close" @click="deleteFlash(item, index)"></i>
<div @click="goUrl(item.MenuUrl)">
<i :style="{background:item.MenuStyleColor}"
:class="[fontPub,item.MenuStyleIcon? item.MenuStyleIcon : 'icon-menu-shezhi1']"></i>
</div>
<p @click="goUrl(item.MenuUrl)">{{item.MenuName}}</p>
</li>
</ul>
</div> </div>
</div> </div>
</div> </div>
...@@ -41,12 +85,64 @@ ...@@ -41,12 +85,64 @@
fontPub: 'iconfont', fontPub: 'iconfont',
bigIconItems: [], bigIconItems: [],
singleMenUlayerShow: false, singleMenUlayerShow: false,
singleMenUlayerShow2: false,
activeName: '',
ShortcutMenu: [],
menuList: [],
} }
}, },
mounted() { mounted() {
this.getMenu(); this.getMenu();
}, },
methods: { methods: {
// 5-5号新增快捷菜单
// 设置菜单缓存
setLocalStorage: function (data) {
var localStorageData = JSON.parse(window.localStorage["userInfo"])
localStorageData.UserMenu = data
localStorage.userInfo = JSON.stringify(localStorageData);
},
// 删除会计菜单
deleteFlash: function (item, index) {
this.apipost('admin_get_SetShortcutMenu', {MenuId: item.MenuId}, res=>{
if(res.data.resultCode == 1) {
console.log(res)
item.IsShortcutMenu = item.IsShortcutMenu === 1 ? 2 : 1
this.ShortcutMenu.splice(index, 1)
this.setLocalStorage(res.data.data)
this.getMenu()
}
}, null)
this.$forceUpdate()
},
// 添加快捷菜单
addFlash: function (item, index, fIndex) {
this.apipost('admin_get_SetShortcutMenu', {MenuId: item.MenuId}, res=>{
if(res.data.resultCode == 1) {
item.IsShortcutMenu = item.IsShortcutMenu === 1 ? 2 : 1
if (item.IsShortcutMenu === 1) {
let repeat = false
this.ShortcutMenu.forEach(x=>{
if (x.MenuId===item.MenuId) {
repeat = true
}
})
if (!repeat) {
this.ShortcutMenu.push(item)
}
} else {
this.ShortcutMenu.forEach((x, index)=>{
if (x.MenuId===item.MenuId) {
this.ShortcutMenu.splice(index, 1)
}
})
}
this.setLocalStorage(res.data.data)
}
}, null)
this.$forceUpdate()
},
// 获取菜单
getMenu() { getMenu() {
this.menuList = this.getLocalStorage().UserMenu; this.menuList = this.getLocalStorage().UserMenu;
let path = this.$route.path.split('?')[0]; let path = this.$route.path.split('?')[0];
...@@ -78,11 +174,24 @@ ...@@ -78,11 +174,24 @@
}) })
that.items.push(secondItem) that.items.push(secondItem)
}); });
let ShortcutMenu = [];
if (rootItem.ShortcutMenu && rootItem.ShortcutMenu.length>0){
rootItem.ShortcutMenu.forEach(x => {
let style = JSON.parse(x.MenuStyle);
x.MenuStyleIcon = style.icon;
x.MenuStyleColor = style.color;
ShortcutMenu.push(x)
})
this.ShortcutMenu = ShortcutMenu
}
} }
}) })
this.activeName = this.items[0].MenuName
}, },
showMenu(item) { showMenu(item) {
this.singleMenUlayerShow = true; this.singleMenUlayerShow = true;
this.singleMenUlayerShow2 = false;
this.bigIconItems = item.NewChildMenu; this.bigIconItems = item.NewChildMenu;
this.bigIconItems.forEach(item => { this.bigIconItems.forEach(item => {
item.list.forEach(x => { item.list.forEach(x => {
...@@ -102,7 +211,91 @@ ...@@ -102,7 +211,91 @@
</script> </script>
<style> <style>
.flash_menu_tit{
margin: 20px;
color: #7b7b7b;
font-size: 14px;
font-family: 'PingFangR'
}
.flash_menu_left{
width: 100%;
padding: 0 18px;
text-align: center;
}
.flash_menu_left li{
position: relative;
width: 50%;
cursor: pointer;
margin-bottom: 15px;
}
.flash_menu_left li .icon-Close{
position: absolute;
right: 20px;
top: -5px;
width: 15px;
height: 15px;
display: inline-block;
background-color: red;
border-radius: 50%;
font-size: 12px;
color: white;
}
.flash_menu_left li div i{
width: 60px;
height: 60px;
display: inline-block;
font-size: 30px;
color: white;
line-height: 56px;
margin: 0 10px;
border-radius: 28px;
}
.flash_menu_left li div i.add_more{
background-color: #d6d6d6;
}
.flash_menu_left p{
margin-top: 5px;
font-size: 12px;
}
.choice_icon{
position: absolute;
right: 20px;
top: 10px;
color: #d8d8d8;
background: white;
border: 1px solid #e9e9e9;
height: 15px;
font-size: 12px;
line-height: 15px;
}
.choice_icon._active{
color: red;
}
.flash_menu{
text-align: center;
position: relative;
margin: 5px;
padding: 10px;
width: 97px;
}
.flash_menu .menu_icon i.iconfont{
width: 56px;
height: 56px;
display: inline-block;
font-size: 30px;
color: #fff;
line-height: 60px;
}
.flash_menu .flash_menu_name{
font-size: 12px;
margin-top: 5px;
}
.flash_menu .el-checkbox__input{
position: absolute;
right: 0;
}
.leftNav .shortcutsDiv { .leftNav .shortcutsDiv {
background-color: rgba(114, 114, 114, 0.1);
width: 264px; width: 264px;
border-radius: 6px; border-radius: 6px;
position: absolute; position: absolute;
...@@ -123,7 +316,7 @@ ...@@ -123,7 +316,7 @@
} }
.leftNav .shortcutsDiv .rgba { .leftNav .shortcutsDiv .rgba {
background-color: rgba(114, 114, 114, 0.1); /* background-color: rgba(114, 114, 114, 0.1); */
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -134,7 +327,7 @@ ...@@ -134,7 +327,7 @@
overflow: hidden; overflow: hidden;
} }
.leftNav .shortcuts li { .leftNav .shortcuts li.more_menu {
font-size: 12px; font-size: 12px;
width: 70px; width: 70px;
height: 120px; height: 120px;
...@@ -142,7 +335,7 @@ ...@@ -142,7 +335,7 @@
text-align: center; text-align: center;
} }
.leftNav .shortcuts li>div { .leftNav .shortcuts li.more_menu>div {
width: 70px; width: 70px;
height: 70px; height: 70px;
padding: 10px 0; padding: 10px 0;
...@@ -154,7 +347,7 @@ ...@@ -154,7 +347,7 @@
border: 1px solid #DFDFDF; border: 1px solid #DFDFDF;
} }
.leftNav .shortcuts li>div>i { .leftNav .shortcuts li.more_menu>div>i {
float: left; float: left;
width: 20px; width: 20px;
height: 20px; height: 20px;
...@@ -166,29 +359,29 @@ ...@@ -166,29 +359,29 @@
font-size: 12px; font-size: 12px;
} }
.leftNav .shortcuts li>div>i:nth-child(2n+1) { .leftNav .shortcuts li.more_menu>div>i:nth-child(2n+1) {
margin-left: 12px; margin-left: 12px;
} }
.leftNav .shortcuts li>div>i:nth-child(2n) { .leftNav .shortcuts li.more_menu>div>i:nth-child(2n) {
margin-left: 5px; margin-left: 5px;
} }
.leftNav .shortcuts li>div>i:nth-child(n+5) { .leftNav .shortcuts li.more_menu>div>i:nth-child(n+5) {
margin-top: 20px; margin-top: 20px;
} }
.leftNav .shortcuts li:nth-child(2n+1) { .leftNav .shortcuts li.more_menu:nth-child(2n+1) {
float: left; float: left;
margin-left: 40px; margin-left: 40px;
} }
.leftNav .shortcuts li:nth-child(2n) { .leftNav .shortcuts li.more_menu:nth-child(2n) {
float: right; float: right;
margin-right: 40px; margin-right: 40px;
} }
.leftNav .shortcuts li a img { .leftNav .shortcuts li.more_menu a img {
margin-bottom: 12px; margin-bottom: 12px;
} }
......
...@@ -3,6 +3,7 @@ import cookie from '../assets/utils/cookie'; ...@@ -3,6 +3,7 @@ import cookie from '../assets/utils/cookie';
import co from 'co' import co from 'co'
import OSS from 'ali-oss' import OSS from 'ali-oss'
import MsgBus from '../assets/utils/msgBus' import MsgBus from '../assets/utils/msgBus'
import routerConfig from '../router/config';
export default { export default {
data: { data: {
loginUser: {}, loginUser: {},
...@@ -120,7 +121,8 @@ export default { ...@@ -120,7 +121,8 @@ export default {
domainUrl = "http://192.168.2.65:8025"; //214主域名 domainUrl = "http://192.168.2.65:8025"; //214主域名
// domainUrl = "http://192.168.2.214:8082"; //214主域名 // domainUrl = "http://192.168.2.214:8082"; //214主域名
// domainUrl = "http://192.168.0.119:8082"; // domainUrl = "http://192.168.0.119:8082";
// domainUrl = "http://192.168.2.106:8082"; // domainUrl = "http://192.168.2.16:8083";
// domainUrl = "http://reborn.oytour.com"
if (locationName.indexOf('oytour') !== -1) { if (locationName.indexOf('oytour') !== -1) {
domainUrl = "http://reborn.oytour.com"; domainUrl = "http://reborn.oytour.com";
} else if (locationName.indexOf('viitto') !== -1) { } else if (locationName.indexOf('viitto') !== -1) {
...@@ -151,7 +153,7 @@ export default { ...@@ -151,7 +153,7 @@ export default {
UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://upload.oytour.com" : "http://192.168.2.214:8120", UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://upload.oytour.com" : "http://192.168.2.214:8120",
//文件站点 //文件站点
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://imgfile.oytour.com" : 'http://192.168.2.214:8130', ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://imgfile.oytour.com" : 'http://192.168.2.214:8130',
javaUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://efficient.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.2.215:9000", javaUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://efficient.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.2.106:9000",
}; };
return obj; return obj;
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment