Browse Source

优化

master
陈裕财 4 years ago
parent
commit
66c196c145
  1. 6
      src/store/index.js
  2. 67
      src/store/modules/menuFavorite.js
  3. 33
      src/views/myWork/my/components/boxCard.vue
  4. 23
      src/views/myWork/my/components/moduleSet.vue
  5. 10
      src/views/myWork/my/index.vue
  6. 6
      src/views/xm/core/xmMyFocus/XmMyFocusList.vue

6
src/store/index.js

@ -6,8 +6,7 @@ import permission from './modules/permission'
import tagsView from './modules/tagsView'
import user from './modules/user'
import noticeMsg from './modules/noticeMsg'
import getters from './getters'
import menuFavorite from './modules/menuFavorite'
import getters from './getters'
Vue.use(Vuex)
@ -18,8 +17,7 @@ const store = new Vuex.Store({
permission,
tagsView,
user,
noticeMsg,
menuFavorite,
noticeMsg,
},
getters
})

67
src/store/modules/menuFavorite.js

@ -1,67 +0,0 @@
import { userMenuFavoriteList, saveMenuFavoriteList} from '@/api/mdp/sys/menuFavorite'
const menuFavorite = {
state: {
//喜欢的菜单
fMenu: [],
loading: {search: false, add: false}
},
mutations: {
getUserFavoriteMenuRequest(state) {
state.loading.search = true;
},
getUserFavoriteMenuFailure(state) {
state.loading.search = false;
},
getUserFavoriteMenuSuccess(state, {list}) {
state.loading.search = false;
console.log(list, "list--->");
state.fMenu = list;
},
saveUserFavoriteMenuRequest(state) {
state.loading.add = true;
},
saveUserFavoriteMenuFailure(state) {
state.loading.add = false;
},
saveUserFavoriteMenuSuccess(state, {}) {
state.loading.add = false;
},
},
actions: {
getUserFavoriteMenu({commit, state}, {userid}) {
commit('getUserFavoriteMenuRequest');
userMenuFavoriteList({userid}).then(res => {
commit('getUserFavoriteMenuSuccess', {list: res.data.data});
}).catch(err => {
commit('getUserFavoriteMenuFailure');
})
},
saveUserFavoriteMenu({commit, state, dispatch}, form) {
commit('saveUserFavoriteMenuRequest');
saveMenuFavoriteList(form).then(res => {
dispatch('getUserFavoriteMenu', {userid: form.userid});
commit('saveUserFavoriteMenuSuccess');
}).catch(err => {
commit('saveUserFavoriteMenuFailure');
})
}
}
}
export default menuFavorite

33
src/views/myWork/my/components/boxCard.vue

@ -24,13 +24,13 @@
:i="item.i"
:key="item.i">
<div class="m_content_card_title">
<span><b>{{item.menuname}}</b></span>
<span><b>{{item.menuname}}</b></span><span v-if="item.menuid=='myFocus'" style="float:right;"><el-button icon="el-icon-refresh" @click="refreshMyFocus">刷新</el-button></span>
</div>
<dsp source="GZT" v-if="item.menuid == 'dsp'"></dsp>
<wdrw source="GZT" v-if="item.menuid == 'wdrw'"></wdrw>
<wdcp source="GZT" v-if="item.menuid == 'wdcp'"></wdcp>
<wdxm source="GZT" v-if="item.menuid == 'wdxm'"></wdxm>
<my-focus source="GZT" v-if="item.menuid == 'myFocus'"></my-focus>
<my-focus source="GZT" v-if="item.menuid == 'myFocus'" ref="refMyFocus"></my-focus>
</grid-item>
</grid-layout>
</div>
@ -42,6 +42,7 @@ import dsp from '@/views/mdp/workflow/ru/task/TaskListAssigneeToMe.vue';
import wdrw from '@/views/xm/core/xmTask/xmMyTaskCenter.vue';
import wdcp from '@/views/xm/core/xmProduct/XmProductAllMng.vue';
import wdxm from '@/views/xm/core/xmProject/XmProjectMng';
import { userMenuFavoriteList, saveMenuFavoriteList} from '@/api/mdp/sys/menuFavorite'
import myFocus from '@/views/xm/core/xmMyFocus/XmMyFocusList';
import VueGridLayout from 'vue-grid-layout';
@ -59,20 +60,18 @@ export default {
},
computed: {
...mapGetters(['userInfo']),
menuFavorite() {
return this.$store.state.menuFavorite.fMenu;
}
...mapGetters(['userInfo']),
},
watch: {
'menuFavorite': {
'fMenus': {
handler(val, oval) {
this.layout = [];
this.addItem({menuid:'myFocus',menuname:'我的关注'}, val.length+1);
val.forEach((element, index) => {
this.addItem(element, index);
});
this.addItem({menuid:'myFocus',menuname:'我的关注'}, val.length+1);
}
}
},
@ -83,10 +82,14 @@ export default {
layout: [],
//
layoutColNum: 12,
fMenus:[],
}
},
methods: {
refreshMyFocus(){
this.$refs['refMyFocus'][0].searchXmMyFocuss();
},
addItem: function(element, index) {
this.layout.push(
{
@ -101,11 +104,23 @@ export default {
}
)
},
getFMenus(){
userMenuFavoriteList({}).then(res=>{
localStorage.setItem('fMenus',JSON.stringify(res.data.data));
this.fMenus=res.data.data;
})
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('getUserFavoriteMenu', {userid: this.userInfo.userid});
var fMenus=localStorage.getItem("fMenus")
if(!fMenus){
this.getFMenus();
}else{
this.fMenus=JSON.parse(fMenus)
}
})
},

23
src/views/myWork/my/components/moduleSet.vue

@ -23,7 +23,7 @@
</div>
</div>
</div>
<div class="nav" v-loading="menuFavorite.loading.search">
<div class="nav">
<div class="nav_item" :class="{itemActive: item.isChecked}" v-for="(item, index) in (tempMenu.length > 0 ? tempMenu : menus)" :key="index" @click="selectItem(item, index)">
<img :src="item.icon" alt="">
<div class="desc">
@ -37,7 +37,7 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
<el-button type="primary" :loading="menuFavorite.loading.add" @click="save"> </el-button>
<el-button type="primary" @click="save"> </el-button>
</span>
</el-dialog>
</template>
@ -49,6 +49,7 @@ import img3 from '../../img/wdxm.png'
import img4 from '../../img/wdcp.png'
import { mapGetters } from 'vuex'
import { userMenuFavoriteList, saveMenuFavoriteList} from '@/api/mdp/sys/menuFavorite'
export default {
props: ['value'],
@ -69,14 +70,10 @@ export default {
this.$emit('input', val);
}
},
menuFavorite() {
return this.$store.state.menuFavorite;
}
},
watch: {
'menuFavorite.fMenu' : {
'fMenus' : {
handler(val, oval) {
if(!val || val.length < 1) return
this.menus.forEach(m => {
@ -94,6 +91,7 @@ export default {
return {
searchResult: '',
tempMenu: [],
fMenus:[],
menus: [
{
menuid: 'dsp',
@ -144,7 +142,10 @@ export default {
},
getUserModules() {
this.$store.dispatch('getUserFavoriteMenu', {userid: this.userInfo.displayUserid});
userMenuFavoriteList({}).then(res=>{
localStorage.setItem('fMenus',JSON.stringify(res.data.data));
this.fMenus=res.data.data;
})
},
save() {
@ -153,9 +154,11 @@ export default {
if(m.isChecked) {
saveModules.push(m);
}
})
this.$store.dispatch('saveUserFavoriteMenu', {data: saveModules, userid: this.userInfo.displayUserid}).then(() => {
})
saveMenuFavoriteList({data: saveModules, userid: this.userInfo.displayUserid}).then(() => {
this.visible = false
localStorage.removeItem('fMenus');
this.$emit("submit")
this.$notify.success("设置成功");
})
}

10
src/views/myWork/my/index.vue

@ -49,9 +49,9 @@
</div>
</div>
</div>
<box-card />
<box-card ref="boxCard" />
</div>
<module-set v-model="moduleSetVisible" />
<module-set v-model="moduleSetVisible" @submit="onModuleSet"/>
</div>
</template>
@ -95,8 +95,7 @@ export default {
methods: {
gotolink(context,path) {
;
gotolink(context,path) {
if(context==process.env.CONTEXT){
this.$router.push({path:path});
}else{
@ -106,6 +105,9 @@ export default {
}
},
onModuleSet(){
this.$refs.boxCard.getFMenus();
}
},

6
src/views/xm/core/xmMyFocus/XmMyFocusList.vue

@ -163,7 +163,7 @@ export default {
}
this.getXmMyFocuss();
},
searchXmMyFocuss(){
searchXmMyFocuss:function(){
this.pageInfo.count=true;
this.getXmMyFocuss();
},
@ -195,7 +195,7 @@ export default {
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmMyFocuss = res.data.data;
localStorage.setItem('xm-my-foucus-list',JSON.stringify( this.xmMyFocuss ))
localStorage.setItem('xm-my-focus-list',JSON.stringify( this.xmMyFocuss ))
}else{
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: 'error' });
}
@ -318,7 +318,7 @@ export default {
this.$nextTick(() => {
initDicts(this);
this.initData()
var myFocusList=localStorage.getItem('xm-my-foucus-list')
var myFocusList=localStorage.getItem('xm-my-focus-list')
if(myFocusList){
this.xmMyFocuss=JSON.parse(myFocusList)
}else{

Loading…
Cancel
Save