mh_jy_safe_web/src/models/app.js

261 lines
8.1 KiB
JavaScript
Raw Normal View History

2025-08-25 10:08:30 +08:00
import * as appService from '../services/app'
import { getEnums } from '../utils/common'
import * as roleEditService from "../services/FM/roleEdit"
import { routerRedux } from 'dva/router'
import config from '../config'
export default {
namespace: 'app',
state: {
orgId: '',
enums: {},
alarmId: '', // 显示报警面板
currVersion: null,
addedTab: null, // 用于在其他页面添加 tab
currActivatedTab: null, // 用于面包屑导航,同步于 model login
currActivatedMenu: null // 当前选中的菜单项,同步于 model login
},
subscriptions: {
setup ({ dispatch, history }) { // eslint-disable-line
history.listen(({ pathname }, routeType) => {
if (pathname === '/' && !routeType) {
if (window.navigator.userAgent.indexOf("Windows") < 1)
{
window.location.replace(config.guideH5Host)
// window.location.href="http://47.122.43.22:9100"
// dispatch(routerRedux.push('/HomeMobileNew'))
}
else
{
dispatch(routerRedux.push('/home'))
}
}
})
}
},
effects: {
*getFormId ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.getFormId, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getFormByRedis ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.getFormByRedis, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getEntities ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.getEntities, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getTableEntities ({ payload, onOver }, { call, put }) {
const ret = yield call(appService.getTableEntities, payload)
if (typeof onOver === 'function') {
onOver(ret)
}
return ret
},
*getTreeCloum ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.getTreeCloum, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getTableData ({ payload, url, onComplete }, { call, put }) {
const ret = yield call(appService.getTableData, { payload, url })
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getDataByPost ({ payload, url, onComplete, onlyData = true, ignoreThrottle = false, isIgnoreTenant = false }, { call, put }) {
const ret = yield call(appService.getDataByPost, url, payload, onlyData, ignoreThrottle, isIgnoreTenant)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getDataByGet ({ payload, url, onComplete, onlyData = true }, { call, put }) {
const ret = yield call(appService.getDataByGet, url, payload, onlyData)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*deleteItem ({ payload, url, onComplete }, { call }) {
const ret = yield call(appService.deleteItem, url, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*deleteItemBatch ({ payload, url, onComplete }, { call }) {
const ret = yield call(appService.deleteItemBatch, url, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*genSystemCode ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.genSystemCode, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*releasePreUseSerial ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.releasePreUseSerial, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getEnums ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.getEnums, payload)
if (typeof onComplete === 'function') {
onComplete(getEnums(ret))
}
return ret
},
*getAllEnum ({ payload }, { call, put }) {
const ret = yield call(appService.getAllEnum, payload)
const enums = {}
if (ret && ret.length) {
ret.forEach((n, i) => {
const tmp = { options: n.options, enums: {} }
if (n.options && n.options.length) {
n.options.forEach((n1, i1) => {
tmp.enums[n1.value] = n1.label
})
}
enums[n.EnumName] = tmp
})
}
yield put({ type: 'save', payload: { enums: enums } })
return ret
},
*addLoginOut ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.addLoginOut, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*addAddLog ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.addAddLog, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*addEditLog ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.addEditLog, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*addDeleteLog ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.addDeleteLog, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*addOtherLog ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.addOtherLog, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*operateLog ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.operateLog, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getBtnList ({ payload, onComplete }, { call, put }) {
const ret = yield call(roleEditService.getBtnList, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*acceptNotification ({ payload, onComplete }, { call, put }) {
const ret = yield call(appService.acceptNotification, payload)
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getServerList ({ payload, onComplete, url }, { call, put }) {
const ret = yield call(appService.getServerList, { url, payload })
if (typeof onComplete === 'function') {
onComplete(ret)
}
return ret
},
*getCurrVer ({ payload, onComplete }, { call, put, select }) {
const { currVersion } = yield select(state => state.app)
const { OrgId } = yield select(state => state.login)
if (!currVersion && OrgId) {
const ret = yield call(appService.getCurrVer, { OrgId, ...payload })
yield put({ type: 'save', payload: { currVersion: ret } })
if (typeof onComplete === 'function') {
onComplete(ret)
}
}
},
*updateActivatedMenu ({ payload }, { put }) {
yield put({ type: 'save', payload })
yield put({ type: 'login/save', payload })
},
/**
*
* @param {
* payload: {
* Keyword: '',
* OrgId: ''
* }
* } param0
* @param {*} param1
* @returns
*/
*getRedisValue ({ payload }, { call }) {
return yield call(appService.getRedisValue, { payload })
},
/**
*
* @param {
* payload: {
* Keyword: '',
* OrgId: '',
* Parameter1: ''
* }
* } param0
* @param {*} param1
* @returns
*/
*setRedisValue ({ payload }, { call }) {
return yield call(appService.setRedisValue, { payload })
}
},
reducers: {
save (state, action) {
return { ...state, ...action.payload }
},
addTab (state, action) {
return { ...state, ...action.payload }
}
}
}