// import { fetchList, fetchColumns } from '@main/api/portal' import { getPortal as fetchList, addPortal,updatePortal , getSysPortal } from "@main/api/portal"; import { getPortalMenus as fetchColumns } from '@main/api/menu' const portal = { namespaced: true, state: { record:null, list: [], sysList:[], columns: [] }, mutations: { SET_record: (state, list) => { state.record = list }, SET_list: (state, list) => { state.list = list }, SET_sysList: (state, list) => { state.sysList = list }, SET_columns: (state, columns) => { state.columns = columns } }, actions: { setList({ commit, state }, data) { commit('SET_list', data); }, //创建门户,功能选择 async loadColumns({ commit, state }) { // console.log('\n portal 加载门户 相关栏目功能列表') await fetchColumns().then(res => { const data = res.data.dataPack.rows; commit('SET_columns', data); return data; }); }, //取已配好的门户 loadList({ commit, state }) { // console.log('\n portal 加载用户自定义 门户 ') commit('SET_list', []); return new Promise((resolve, reject)=>{ fetchList().then(res => { const records = res.data.dataPack.rows; if(records.length==0){ return; } const item = records[records.length-1]; let data=[]; if(item){ if(typeof item.package == 'object'){ data = item.package; }else{ data = JSON.parse(item.package); } } commit('SET_record', item); commit('SET_list', data); resolve(data) return data; }); }); // await fetchList().then(res => { // const records = res.data.dataPack.rows; // if(records.length==0){ // return; // } // const item = records[records.length-1]; // let data=[]; // if(item){ // data = JSON.parse(item.package); // } // commit('SET_record', item); // commit('SET_list', data); // return data; // }); }, //取已配好的系统 门户 async loadSysList({ commit, state }) { // console.log('\n portal 加载系统 门户 ') commit('SET_sysList', []); await getSysPortal().then(res => { const records = res.data.dataPack.rows; if(records.length==0){ return; } const item = records[records.length-1]; let data=[]; if(item){ if(typeof item.package =="object"){ data = item.package; }else{ data = JSON.parse(item.package); } } commit('SET_sysList', data); return data; }); }, //保存门户 async savePortal({ commit, state },data=[]){ let me =this; if(state.record){ await updatePortal(state.record, { fuser: me.state.user.id, //id userBz:me.state.user.bzId, //bzId package: JSON.stringify(data) }).then(res => { console.info('\n 更新门户 updatePortal callback:',res); }); }else{ let record = { FID: new Date().valueOf(), package:JSON.stringify(data), fuser: me.state.user.id, //id userBz:me.state.user.bzId //bzId }; await addPortal(record).then(res => { console.info('保存 addPortal callback:',res); }); }; } } } export default portal