337 lines
13 KiB
JavaScript
337 lines
13 KiB
JavaScript
import { httppost, httpget } from "../../utils/request";
|
|
import apiurl from "../apiurl";
|
|
import moment from "moment";
|
|
import { getUser, setLoginInfo, encrypt, removeLoginInfo } from "./utils";
|
|
import { message } from "antd";
|
|
import dbStorage from '../indexDb/index'
|
|
import { setTree,setTree123 } from '../../utils/tools'
|
|
|
|
|
|
const session = {
|
|
state: {
|
|
user: getUser(),
|
|
menu: [],
|
|
formParams: {},
|
|
geometry: {}
|
|
|
|
},
|
|
|
|
reducers: {
|
|
setUser(state, user) {
|
|
return {
|
|
...state,
|
|
user,
|
|
}
|
|
},
|
|
|
|
setMenu(state, menu) {
|
|
return {
|
|
...state,
|
|
menu,
|
|
}
|
|
},
|
|
|
|
setParams(state, formParams) {
|
|
return {
|
|
...state,
|
|
formParams,
|
|
}
|
|
},
|
|
|
|
setPolygon(state, geometry) {
|
|
return {
|
|
...state,
|
|
geometry,
|
|
}
|
|
}
|
|
|
|
},
|
|
|
|
effects: {
|
|
|
|
async auth({ loginName, password }) {
|
|
// 获取验证码
|
|
const { data: captcha } = await httppost(apiurl.service.sysuser.getCaptcha) || {};
|
|
if (!captcha) {
|
|
message.error('获取验证失败')
|
|
return false;
|
|
}
|
|
|
|
const keystr = moment().format("YYYYMMDDhhmmss");
|
|
|
|
// 给密码加密
|
|
const params = {
|
|
"captcha": captcha,
|
|
"aesKey": keystr,
|
|
"password": encrypt(password, `${keystr}HX`),
|
|
"username": loginName
|
|
}
|
|
|
|
const tokenData = await httppost(apiurl.service.sysuser.getToken, params) || {};
|
|
if (tokenData.code == 200) {
|
|
sessionStorage.setItem('token', tokenData.data.access_token);
|
|
return true
|
|
} else {
|
|
message.error('登陆失败')
|
|
return false;
|
|
}
|
|
// if (!tokenData.data) {
|
|
// message.error('登陆失败')
|
|
// return false;
|
|
// }
|
|
// const access_token = tokenData.data.access_token
|
|
|
|
// const userData = await httpget(apiurl.service.sysuser.getUser + access_token) || {};
|
|
// // this.getData(userData)
|
|
// const { data } = await httpget(`${apiurl.service.adcd.tree}/${userData.adcd}`) || {}
|
|
|
|
// dbStorage.setItem('dataTree',data)
|
|
// await setTree('dataTree',userData)
|
|
// await setTree123('dataTree123',userData)
|
|
|
|
// const im = new IMSDK();
|
|
// im.init({
|
|
// uid: uid,
|
|
// })
|
|
// .login()
|
|
// .onConnect((data, ctx) => {
|
|
// im.sendSingleMessage({
|
|
// data,
|
|
// onSuccess: (data) => { },
|
|
// onFail: (e) => { },
|
|
// onTimeout: (e) => { },
|
|
// });
|
|
// });
|
|
|
|
// openDB(userData.adcd).then(res => addData(res, 'link', data))
|
|
// if (userData) {
|
|
// setLoginInfo(userData);
|
|
// this.setUser(userData);
|
|
// return userData;
|
|
// }
|
|
return false;
|
|
},
|
|
async byToken(access_token) {
|
|
// // 获取验证码
|
|
// const { data: captcha } = await httppost(apiurl.service.sysuser.getCaptcha) || {};
|
|
// if (!captcha) {
|
|
// message.error('获取验证失败')
|
|
// return false;
|
|
// }
|
|
|
|
// const keystr = moment().format("YYYYMMDDhhmmss");
|
|
|
|
// // 给密码加密
|
|
// const params = {
|
|
// "captcha": captcha,
|
|
// "aesKey": keystr,
|
|
// "password": encrypt(password, `${keystr}HX`),
|
|
// "username": loginName
|
|
// }
|
|
|
|
// const tokenData = await httppost(apiurl.service.sysuser.getToken, params) || {};
|
|
// if (!tokenData.data) {
|
|
// message.error('登陆失败')
|
|
// return false;
|
|
// }
|
|
// const access_token = tokenData.data.access_token
|
|
|
|
const userData = await httpget(apiurl.service.sysuser.getUser + access_token) || {};
|
|
// // this.getData(userData)
|
|
// const { data } = await httpget(`${apiurl.service.adcd.tree}/${userData.adcd}`) || {}
|
|
|
|
// dbStorage.setItem('dataTree',data)
|
|
// await setTree('dataTree',userData)
|
|
// await setTree123('dataTree123',userData)
|
|
|
|
// const im = new IMSDK();
|
|
// im.init({
|
|
// uid: uid,
|
|
// })
|
|
// .login()
|
|
// .onConnect((data, ctx) => {
|
|
// im.sendSingleMessage({
|
|
// data,
|
|
// onSuccess: (data) => { },
|
|
// onFail: (e) => { },
|
|
// onTimeout: (e) => { },
|
|
// });
|
|
// });
|
|
|
|
// openDB(userData.adcd).then(res => addData(res, 'link', data))
|
|
if (userData) {
|
|
setLoginInfo(userData);
|
|
this.setUser(userData);
|
|
return true;
|
|
}
|
|
return false;
|
|
},
|
|
|
|
logout() {
|
|
removeLoginInfo();
|
|
this.setUser(null);
|
|
},
|
|
|
|
async loadMenu(user=2) {
|
|
// debugger;
|
|
if (!user) {
|
|
return;
|
|
}
|
|
|
|
//根据权限判断应该展示哪些菜单
|
|
const myMenu = [
|
|
// { id: 100, path: "/home", parent_id: -1, name: "首页", type: 0, order: 1 },
|
|
{
|
|
id: 201, redirect: "/xzqh/xzqhbg", parent_id: -1, name: "行政区划", type: 1, order: 1, children: [
|
|
{ id: 202, path: "/xzqh/xzqhbg", parent_id: 500, name: "行政区划变更", type: 0, order: 1,disadlevel:[0,1] },
|
|
{ id: 203, path: "/xzqh/yhjmwh", parent_id: 500, name: "沿河居民维护", type: 0, order: 1, },
|
|
{ id: 204, path: "/xzqh/xzqhcx", parent_id: 500, name: "行政区划查询", type: 0, order: 1, },
|
|
]
|
|
},
|
|
{
|
|
id: 301, redirect: "/yagl/yabg", parent_id: -1, name: "预案管理", type: 1, order: 1, children: [
|
|
{ id: 302, path: "/yagl/yabg", parent_id: 500, name: "预案变更", type: 0, order: 1 },
|
|
{ id: 303, path: "/yagl/yatjcx", parent_id: 500, name: "预案查询", type: 0, order: 1 },
|
|
{ id: 304, path: "/yagl/yatjtj", parent_id: 500, name: "预案统计", type: 0, order: 1 },
|
|
]
|
|
},
|
|
{
|
|
id: 401, redirect: "/fyzrr/zrrbg", parent_id: -1, name: "防御责任人", type: 1, order: 1, children: [
|
|
{ id: 402, path: "/fyzrr/zrrbg", parent_id: 500, name: "防御责任人变更", type: 0, order: 1,disadlevel:[0,1] },
|
|
{ id: 403, path: "/fyzrr/zrrcx", parent_id: 500, name: "防御责任人查询", type: 0, order: 1, },
|
|
]
|
|
},
|
|
{
|
|
id: 501, redirect: "/jczd/zdbg", parent_id: -1, name: "监测站点", type: 1, order: 1, children: [
|
|
{ id: 502, path: "/jczd/zdbg", parent_id: 500, name: "自动监测站点变更", type: 0, order: 1,disadlevel:[0,1] },
|
|
{ id: 503, path: "/jczd/zdsp", parent_id: 500, name: "自动监测站点复核审批", type: 0, order: 1,disadlevel:[0,2,3,4,5] },
|
|
{ id: 504, path: "/jczd/zdcx", parent_id: 500, name: "自动监测站点查询", type: 0, order: 1 },
|
|
]
|
|
},
|
|
{
|
|
id: 601, redirect: "/wxq/wxqbg", parent_id: -1, name: "危险区", type: 1, order: 1, children: [
|
|
{ id: 602, path: "/wxq/wxqbg", parent_id: 500, name: "危险区变更", type: 0, order: 1,disadlevel:[0,1] },
|
|
{ id: 603, path: "/wxq/wxqsp", parent_id: 500, name: "危险区复核审批", type: 0, order: 1,disadlevel:[0,2,3,4,5] },
|
|
{ id: 604, path: "/wxq/wxqcx", parent_id: 500, name: "危险区查询", type: 0, order: 1 },
|
|
|
|
|
|
]
|
|
},
|
|
{
|
|
id: 701, redirect: "/fzc/fzccx", parent_id: -1, name: "防治村", type: 1, order: 1, children: [
|
|
{ id: 702, path: "/fzc/fzccx", parent_id: 500, name: "防治村查询", type: 0, order: 1 },
|
|
]
|
|
},
|
|
|
|
{
|
|
id: 801, redirect: "/Yjyz/Bg", parent_id: -1, name: "预警阈值", type: 1, order: 1, children: [
|
|
{ id: 802, path: "/Yjyz/Bg", parent_id: 500, name: "预警阈值变更", type: 0, order: 1,disadlevel:[0,1] },
|
|
{ id: 803, path: "/Yjyz/Sp", parent_id: 500, name: "预警阈值复核审批", type: 0, order: 1,disadlevel:[0,2,3,4,5] },
|
|
{ id: 804, path: "/Yjyz/Cx", parent_id: 500, name: "预警阈值查询", type: 0, order: 1 },
|
|
]
|
|
},
|
|
{
|
|
id: 901, redirect: "/Yjgx/Bg", parent_id: -1, name: "预警关系", type: 1, order: 1, children: [
|
|
{ id: 902, path: "/Yjgx/Bg", parent_id: 500, name: "预警对象与测站关系变更", type: 0, order: 1,disadlevel:[0,1] },
|
|
{ id: 904, path: "/Yjgx/Sp", parent_id: 500, name: "预警对象与测站关系变更审批", type: 0, order: 1 ,disadlevel:[0,2,3,4,5]},
|
|
{ id: 903, path: "/Yjgx/Cx", parent_id: 500, name: "预警对象与测站关系查询", type: 0, order: 1 },
|
|
]
|
|
},
|
|
{
|
|
id: 101, redirect: "/Xly/Bg", parent_id: -1, name: "小流域", type: 1, order: 1, children: [
|
|
{ id: 102, path: "/Xly/Bg", parent_id: 500, name: "小流域变更", type: 0, order: 1, },
|
|
{ id: 103, path: "/Xly/Bdgx", parent_id: 500, name: "小流域与行政区关系变更", type: 0, order: 1 ,},
|
|
{ id: 104, path: "/Xly/Cgbb", parent_id: 500, name: "成果报表", type: 0, order: 1 , children:[
|
|
{ id: 105, path: "/Xly/Cgbb/Fzdx", parent_id: 500, name: "防治对象", type: 0, order: 1 },
|
|
{ id: 106, path: "/Xly/Cgbb/Dccg2", parent_id: 500, name: "跨沟调查成果", type: 0, order: 1 },
|
|
{ id: 107, path: "/Xly/Cgbb/Dccg3", parent_id: 500, name: "沟滩占地情况", type: 0, order: 1 },
|
|
// { id: 108, path: "/Xly/Cgbb/Dccg4", parent_id: 500, name: "外洪顶托集镇及村落", type: 0, order: 1 },
|
|
{ id: 109, path: "/Xly/Cgbb/Dccg5", parent_id: 500, name: "重点关注对象", type: 0, order: 1 },
|
|
{ id: 110, path: "/Xly/Cgbb/Fwjg", parent_id: 500, name: "房屋结构", type: 0, order: 1 },
|
|
{ id: 111, path: "/Xly/Cgbb/Wxdj", parent_id: 500, name: "危险地建", type: 0, order: 1 },
|
|
{ id: 112, path: "/Xly/Cgbb/Yhd", parent_id: 500, name: "隐患点名录", type: 0, order: 1 },
|
|
{ id: 113, path: "/Xly/Cgbb/Hsxc", parent_id: 500, name: "历史山洪灾害现场", type: 0, order: 1 },
|
|
{ id: 114, path: "/Xly/Cgbb/RelativeFzdx", parent_id: 500, name: "防治对象关联站点", type: 0, order: 1 },
|
|
{ id: 115, path: "/Xly/Cgbb/Hjm", parent_id: 500, name: "后河小流域横断面", type: 0, order: 1 },
|
|
{ id: 116, path: "/Xly/Cgbb/Zjm", parent_id: 500, name: "后河小流域纵断面", type: 0, order: 1 },
|
|
{ id: 117, path: "/Xly/Cgbb/Wjsc", parent_id: 500, name: "文件上传", type: 0, order: 1 },
|
|
]},
|
|
]
|
|
},
|
|
{
|
|
id: 111, redirect: "/fhrz/xzqh", parent_id: -1, name: "复核日志", type: 1, order: 1, children: [
|
|
{ id: 112, path: "/fhrz/xzqh", parent_id: 500, name: "行政区划", type: 0, order: 1 },
|
|
{ id: 113, path: "/fhrz/yhjm", parent_id: 500, name: "沿河居民户", type: 0, order: 1 },
|
|
{ id: 114, path: "/fhrz/yuan", parent_id: 500, name: "预案", type: 0, order: 1 },
|
|
{ id: 115, path: "/fhrz/fyzrr", parent_id: 500, name: "防御责任人", type: 0, order: 1 },
|
|
{ id: 116, path: "/fhrz/jczd", parent_id: 500, name: "监测站点", type: 0, order: 1 },
|
|
{ id: 117, path: "/fhrz/wxq", parent_id: 500, name: "危险区", type: 0, order: 1 },
|
|
{ id: 118, path: "/fhrz/yjyz", parent_id: 500, name: "预警阈值", type: 0, order: 1 },
|
|
{ id: 119, path: "/fhrz/yjgx", parent_id: 500, name: "预警关系", type: 0, order: 1 },
|
|
]
|
|
},
|
|
{
|
|
id:121, redirect: "/ptjs/czrz", parent_id: -1, name: "平台监视", type: 1, order: 1, children: [
|
|
{ id: 402, path: "/ptjs/czrz", parent_id: 500, name: "操作日志", type: 0, order: 1},
|
|
{ id: 403, path: "/ptjs/czdbl", parent_id: 500, name: "测站到报率", type: 0, order: 1},
|
|
]
|
|
},
|
|
|
|
]
|
|
let arr = myMenu.map((item,index)=>{
|
|
let obj=[]
|
|
item.children.map(it=>{
|
|
if(it.disadlevel){
|
|
if(it.disadlevel?.indexOf(user.adlevel) ==-1){
|
|
obj.push(it)
|
|
}
|
|
}else{
|
|
obj.push(it)
|
|
}
|
|
})
|
|
item.children = obj
|
|
item.redirect=item.children[0]?.path
|
|
return item
|
|
})
|
|
this.setMenu(arr)
|
|
|
|
// const { data } = await httpget(apiurl.sysmenu.usertree) || {}
|
|
|
|
// if (Array.isArray(data)) {
|
|
// const actionMap = {};
|
|
// const menu = trimMenuActions(actionMap, null, data);
|
|
// changeMenuIdToString(menu);
|
|
|
|
// this.setMenu({ menu, actionMap });
|
|
// } else {
|
|
// this.setMenu({});
|
|
// }
|
|
},
|
|
|
|
//获取表单数据
|
|
async getParams(params) {
|
|
this.setParams(params)
|
|
},
|
|
|
|
//清空表单
|
|
clearForm() {
|
|
this.setParams({})
|
|
this.setPolygon({})
|
|
},
|
|
|
|
//添加polygon
|
|
addPolygon(polygon) {
|
|
this.setPolygon(polygon)
|
|
},
|
|
|
|
//清空polygon
|
|
clearPolygon() {
|
|
this.setPolygon({})
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
export default session;
|