From 7b1d4f4b2546acdcad8a21438ef91567116b3c11 Mon Sep 17 00:00:00 2001 From: 陈鑫涛 <10125295+chen-xintao97@user.noreply.gitee.com> Date: Wed, 28 May 2025 09:18:17 +0800 Subject: [PATCH] 移动端 --- .umirc.ts | 1 + src/components/Common/Typesetting/typesetting.js | 2 ++ src/mobile/common/MessageMobile.js | 4 ++-- src/mobile/login/LoginMobile.js | 1 + src/models/app.js | 341 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------- src/models/loginMobile.js | 35 +++++++++++++++++++++++++++++++++++ src/routes/mobile/IndexMobile.js | 24 +++++++++++++----------- src/routes/mobile/commobileList/commobileList.js | 4 ++-- src/routes/mobile/index.js | 29 +++++++++++++++++++++++++++++ 9 files changed, 265 insertions(+), 176 deletions(-) create mode 100644 src/models/loginMobile.js create mode 100644 src/routes/mobile/index.js diff --git a/.umirc.ts b/.umirc.ts index d161303..3ca6fca 100644 --- a/.umirc.ts +++ b/.umirc.ts @@ -22,6 +22,7 @@ export default defineConfig({ path: "/loginMobile", component: "@/routes/mobile/login/LoginMobile", }, + { path: '/indexMobile', component:'@/routes/mobile/IndexMobile', diff --git a/src/components/Common/Typesetting/typesetting.js b/src/components/Common/Typesetting/typesetting.js index e0e33bd..ac97f38 100644 --- a/src/components/Common/Typesetting/typesetting.js +++ b/src/components/Common/Typesetting/typesetting.js @@ -486,6 +486,8 @@ const Typesetting = props => { const propsDataWidth = Number(propsData.props.style.width.slice(0, -2)); const propsDataHeight = Number(propsData.props.style.height.slice(0, -2)); const propsDataTop = Number(propsData.props.style.top.slice(0, -2)); + console.log(innerDivs,'innerDivs'); + const newMaterialLength = propsDataLeft + innerWidthCombined; // 原纸长 const newMaterialWidth = propsDataTop + propsDataHeight - dSBLB; // 计算开数 diff --git a/src/mobile/common/MessageMobile.js b/src/mobile/common/MessageMobile.js index c893da1..82bae25 100644 --- a/src/mobile/common/MessageMobile.js +++ b/src/mobile/common/MessageMobile.js @@ -1,7 +1,7 @@ import React from 'react'; // eslint-disable-next-line no-unused-vars import { Tabs, Badge, ListView, SearchBar } from 'antd-mobile-v2'; -import 'antd-mobile/dist/antd-mobile.css'; +import 'antd-mobile-v2/dist/antd-mobile.css'; // import ExamineMobile from './ExamineMobile'; import commonConfig from '../../utils/config'; import * as commonUtils from '../../utils/utils'; @@ -10,7 +10,7 @@ import CommobileListEvent from './CommobileListEvent'; import styles from '../../routes/mobile/IndexMobile.less'; import NewsMobile from './NewsMobile'; // eslint-disable-next-line no-unused-vars -import ExamineMobile from './ExamineMobile'; +// import ExamineMobile from './ExamineMobile'; // import CommobileBill from './CommobileBill'; diff --git a/src/mobile/login/LoginMobile.js b/src/mobile/login/LoginMobile.js index a2abfb4..61261e5 100644 --- a/src/mobile/login/LoginMobile.js +++ b/src/mobile/login/LoginMobile.js @@ -1,6 +1,7 @@ import React from 'react'; import { createForm } from 'rc-form'; import { InputItem, Button, WhiteSpace, Toast, Modal, Picker, List } from 'antd-mobile-v2'; +import { history } from 'umi'; import 'antd-mobile-v2/dist/antd-mobile.css'; import styles from './LoginMobile.less'; import LoginIcon from '../../assets/mobile/LOGO.png'; diff --git a/src/models/app.js b/src/models/app.js index 9951ddd..0171f15 100644 --- a/src/models/app.js +++ b/src/models/app.js @@ -1,59 +1,79 @@ -import { history } from 'umi'; -import config from '../utils/config'; -import * as utils from '../utils/utils'; -import * as services from '../services/services'; -import { message, notification, Modal } from 'antd-v4'; -// import { Toast } from 'antd-mobile-v2'; -import * as commonFunc from '../components/Common/commonFunc';/* 通用单据方法 */ +import { history } from "umi"; +import config from "../utils/config"; +import * as utils from "../utils/utils"; +import * as services from "../services/services"; +import { message, notification, Modal } from "antd-v4"; +import { Toast } from 'antd-mobile-v2'; +import * as commonFunc from "../components/Common/commonFunc"; /* 通用单据方法 */ const { confirm } = Modal; export default { - namespace: 'app', + namespace: "app", state: { token: JSON.parse(localStorage.getItem(`${config.prefix}token`)) || {}, rxtx: utils.convertStrToObj(localStorage.getItem(`${config.prefix}rxtx`)), // 获取串口配置 userinfo: JSON.parse(localStorage.getItem(`${config.prefix}userinfo`)) || {}, commonConst: JSON.parse(localStorage.getItem(`${config.prefix}commonConst`)) || [], systemData: JSON.parse(localStorage.getItem(`${config.prefix}systemData`)) || {}, - dateFormat: JSON.parse(localStorage.getItem(`${config.prefix}dateFormat`)) || '', + dateFormat: JSON.parse(localStorage.getItem(`${config.prefix}dateFormat`)) || "", panes: JSON.parse(localStorage.getItem(`${config.prefix}panes`)) || [ { - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940', + paneType: "home", + title: "主页", + route: "/indexPage", + key: "1", + formId: "11811781131121915101184660940", }, ], ppopupPane: {}, secondppopupPane: {}, currentPane: JSON.parse(localStorage.getItem(`${config.prefix}currentPane`)) || { - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940', - }, - decimals: JSON.parse(localStorage.getItem(`${config.prefix}decimals`)) || '', - comParameter: [], /* 常用操作 */ - modelCenter: {}, /* KPI工作中心 */ + paneType: "home", + title: "主页", + route: "/indexPage", + key: "1", + formId: "11811781131121915101184660940", + }, + decimals: JSON.parse(localStorage.getItem(`${config.prefix}decimals`)) || "", + comParameter: [] /* 常用操作 */, + modelCenter: {} /* KPI工作中心 */, webSocket: null, dataCode: null, - sMachineId: localStorage.getItem(`${config.prefix}sMachineId`) || '', + sMachineId: localStorage.getItem(`${config.prefix}sMachineId`) || "", // OEE登录存储设备,班组sid sMachineNameStr - sTeamNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sTeamNameSId`)) || '', // 保存oee班组id - sMachineNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameSId`)) || '', // 保存oee机台id - sMachineNameStr: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameStr`)) || '', // 保存oee机台name - iPlcNo: localStorage.getItem(`${config.prefix}iPlcNo`) || '', // 保存oeeiPlcNo + sTeamNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sTeamNameSId`)) || "", // 保存oee班组id + sMachineNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameSId`)) || "", // 保存oee机台id + sMachineNameStr: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameStr`)) || "", // 保存oee机台name + iPlcNo: localStorage.getItem(`${config.prefix}iPlcNo`) || "", // 保存oeeiPlcNo // 判断页面是否编辑 diffMap: new Map(), - managementData: JSON.parse(localStorage.getItem(`${config.prefix}managementData`)) || '', - fileData: JSON.parse(localStorage.getItem(`${config.prefix}fileData`)) || '', + managementData: JSON.parse(localStorage.getItem(`${config.prefix}managementData`)) || "", + fileData: JSON.parse(localStorage.getItem(`${config.prefix}fileData`)) || "", footer: utils.isJSON(localStorage.getItem(`${config.prefix}footer`)) ? JSON.parse(localStorage.getItem(`${config.prefix}footer`)) : [], logoImageInfo: JSON.parse(localStorage.getItem(`${config.prefix}logoImageInfo`)) || [], - auxiliaryQty: utils.isJSON(localStorage.getItem(`${config.prefix}auxiliaryQty`)) ? JSON.parse(localStorage.getItem(`${config.prefix}auxiliaryQty`)) : [], + auxiliaryQty: utils.isJSON(localStorage.getItem(`${config.prefix}auxiliaryQty`)) + ? JSON.parse(localStorage.getItem(`${config.prefix}auxiliaryQty`)) + : [], }, reducers: { saveToken(state, { payload: token }) { const currentPane = { - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940', + paneType: "home", + title: "主页", + route: "/indexPage", + key: "1", + formId: "11811781131121915101184660940", }; - const panes = [{ - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940', - }]; + const panes = [ + { + paneType: "home", + title: "主页", + route: "/indexPage", + key: "1", + formId: "11811781131121915101184660940", + }, + ]; localStorage.setItem(`${config.prefix}token`, JSON.stringify(token)); localStorage.setItem(`${config.prefix}currentPane`, JSON.stringify(currentPane)); localStorage.setItem(`${config.prefix}panes`, JSON.stringify(panes)); @@ -184,7 +204,7 @@ export default { *changeDiffMap({ payload }, { put }) { // payload = { sTabId: '', changed: boolean } yield put({ - type: 'saveDiffMap', + type: "saveDiffMap", payload, }); }, @@ -192,12 +212,12 @@ export default { *changePaneData({ payload }, { put, select }) { /* 待用数据赋值 */ const { - parentId, /* 父页面编号 */ - showRender, /* 主表渲染对象 */ - showSlaveRender, /* 从表渲染对象 */ - editTableRender, /* 从表渲染控制 */ - isRender, /* 是否从高阶渲染 */ - isRenderPart, /* 是否进行部分渲染 */ + parentId /* 父页面编号 */, + showRender /* 主表渲染对象 */, + showSlaveRender /* 从表渲染对象 */, + editTableRender /* 从表渲染控制 */, + isRender /* 是否从高阶渲染 */, + isRenderPart /* 是否进行部分渲染 */, } = payload; /* 参数接收 */ /* 过滤出需要change的pane */ const panes = yield select(state => state.app.panes); @@ -213,7 +233,7 @@ export default { pane.isRenderPart = isRenderPart; /* 保存页签 */ yield put({ - type: 'savePanes', + type: "savePanes", payload: { panes, }, @@ -229,21 +249,21 @@ export default { /* 判断页签存储个数是否超过容量 */ if (utils.isNotEmptyArr(panes) && panes.length === config.maxTabSize) { try { - throw new Error(commonFunc.showMessage(app.commonConst, 'TabsNumOverLimit'));/* Tab数量已超过限制 */ + throw new Error(commonFunc.showMessage(app.commonConst, "TabsNumOverLimit")); /* Tab数量已超过限制 */ } catch (e) { - console.log('error', e.message); + console.log("error", e.message); } } /* 获取需要新增的页签 */ const { pane } = payload; - pane.parentPaneKey = currentPane.key;/* 增加来源页签key */ + pane.parentPaneKey = currentPane.key; /* 增加来源页签key */ /* 判断是否添加页签的条件 */ const index = panes.findIndex(temp => temp.key === pane.key); /* 满足添加条件就添加页签 */ if (index < 0) { panes.push(pane); yield put({ - type: 'savePanesAndCurrentPane', + type: "savePanesAndCurrentPane", payload: { panes, currentPane: pane, @@ -257,101 +277,98 @@ export default { const app = yield select(state => state.app); if (panes.length === config.maxTabSize) { try { - throw new Error(commonFunc.showMessage(app.commonConst, 'TabsNumOverLimit'));/* Tab数量已超过限制 */ + throw new Error(commonFunc.showMessage(app.commonConst, "TabsNumOverLimit")); /* Tab数量已超过限制 */ } catch (e) { - console.log('error', e.message); + console.log("error", e.message); } } const { pane } = payload; - yield put({ type: 'saveCurrentPane', payload: { currentPane: pane } }); + yield put({ type: "saveCurrentPane", payload: { currentPane: pane } }); const tempPanes = panes.filter(temp => temp.key === pane.key); if (tempPanes.length === 0) { panes.push(pane); } - yield put({ type: 'savePanes', payload: { panes } }); + yield put({ type: "savePanes", payload: { panes } }); }, *addppopupPane({ payload }, { put }) { const { pane } = payload; - yield put({ type: 'saveppopupPane', payload: { ppopupPane: pane } }); + yield put({ type: "saveppopupPane", payload: { ppopupPane: pane } }); }, *changePpopupPane({ payload }, { put, select }) { const ppopupPane = yield select(state => state.app.ppopupPane); const { resultValue } = payload; - yield put({ type: 'saveppopupPane', payload: { ppopupPane: { ...ppopupPane, resultValue } } }); + yield put({ type: "saveppopupPane", payload: { ppopupPane: { ...ppopupPane, resultValue } } }); }, *removeModalPane({ payload }, { put }) { const panes = payload.changePanes; - yield put({ type: 'saveppopupPane', payload: { panes } }); + yield put({ type: "saveppopupPane", payload: { panes } }); }, *addSecondPpopupPane({ payload }, { put }) { const { pane } = payload; - yield put({ type: 'saveSecondPpopupPane', payload: { secondppopupPane: pane } }); + yield put({ type: "saveSecondPpopupPane", payload: { secondppopupPane: pane } }); }, *changeSecondPpopupPane({ payload }, { put, select }) { const secondppopupPane = yield select(state => state.app.secondppopupPane); const { resultValue } = payload; - yield put({ type: 'saveSecondPpopupPane', payload: { secondppopupPane: { ...secondppopupPane, resultValue } } }); + yield put({ type: "saveSecondPpopupPane", payload: { secondppopupPane: { ...secondppopupPane, resultValue } } }); }, *removeSecondModalPane({ payload }, { put }) { const panes = payload.changePanes; - yield put({ type: 'saveSecondPpopupPane', payload: { panes } }); + yield put({ type: "saveSecondPpopupPane", payload: { panes } }); }, *removePane({ payload }, { put }) { const panes = payload.changePanes; const { currentPane } = payload; - yield put({ type: 'savePanes', payload: { panes } }); + yield put({ type: "savePanes", payload: { panes } }); if (panes.length > 0) { - yield put({ type: 'saveCurrentPane', payload: { currentPane } }); + yield put({ type: "saveCurrentPane", payload: { currentPane } }); } }, *saveCurrentPane({ payload }, { put }) { const { currentPane } = payload; - yield put({ type: 'setCurrentPane', payload: { currentPane } }); - const routeLine = currentPane.route ? currentPane.route : '/indexPage'; + yield put({ type: "setCurrentPane", payload: { currentPane } }); + const routeLine = currentPane.route ? currentPane.route : "/indexPage"; // yield put(history.push(routeLine)); - history.push(routeLine) + history.push(routeLine); }, *throwError({ payload }, { put, select }) { const { code, msg, fn } = payload; - const ERROR_MSG_DURATION = 5;/* 3秒 */ + const ERROR_MSG_DURATION = 5; /* 3秒 */ if (code === -2) { const webSocket = yield select(state => state.app.webSocket); commonFunc.onWebSocketClose(webSocket, false, null); - yield put({ type: 'saveWebSocket', payload: { webSocket: null } }); - yield put({ type: 'saveToken', payload: {} }); - if (location.pathname.toLowerCase() === '/loginoee') { - history.push('/loginOee'); + yield put({ type: "saveWebSocket", payload: { webSocket: null } }); + yield put({ type: "saveToken", payload: {} }); + if (location.pathname.toLowerCase() === "/loginoee") { + history.push("/loginOee"); } else { - history.push('/login'); + history.push("/login"); } message.destroy(); message.error(msg, ERROR_MSG_DURATION); } else { message.destroy(); - if (code === -7 && !location.pathname.toLowerCase().includes('oee') - && !location.pathname.toLowerCase().includes('mobile')) { - if (typeof fn === 'function') { + if (code === -7 && !location.pathname.toLowerCase().includes("oee") && !location.pathname.toLowerCase().includes("mobile")) { + if (typeof fn === "function") { confirm({ - title: '温馨提示', - content:

{msg}

, + title: "温馨提示", + content:

{msg}

, onOk() { fn(); }, - onCancel() { - }, - okText: '确认', - cancelText: '取消', + onCancel() {}, + okText: "确认", + cancelText: "取消", }); } return; } - if (code === -1 && !location.pathname.toLowerCase().includes('oee') - && !location.pathname.toLowerCase().includes('mobile')) { + if (code === -1 && !location.pathname.toLowerCase().includes("oee") && !location.pathname.toLowerCase().includes("mobile")) { confirm({ - title: '温馨提示', - content:

{msg}

, - okText: '确认', - cancelText: '取消', + title: "温馨提示", + content:

{msg}

, + okText: "确认", + cancelText: "取消", }); return; } @@ -360,13 +377,13 @@ export default { }, *throwErrorMobile({ payload }, { put, select }) { const { code, msg } = payload; - const ERROR_MSG_DURATION = 5;/* 3 秒 */ + const ERROR_MSG_DURATION = 5; /* 3 秒 */ if (code === -2) { const webSocket = yield select(state => state.app.webSocket); commonFunc.onWebSocketClose(webSocket, false, null); - yield put({ type: 'saveWebSocket', payload: { webSocket: null } }); - yield put({ type: 'saveToken', payload: {} }); - history.push('/loginMobile'); + yield put({ type: "saveWebSocket", payload: { webSocket: null } }); + yield put({ type: "saveToken", payload: {} }); + history.push("/loginMobile"); message.destroy(); message.error(msg, ERROR_MSG_DURATION); } else { @@ -376,13 +393,13 @@ export default { }, *throwErrorOee({ payload }, { put, select }) { const { code, msg } = payload; - const ERROR_MSG_DURATION = 5;/* 3 秒 */ + const ERROR_MSG_DURATION = 5; /* 3 秒 */ if (code === -2) { const webSocket = yield select(state => state.app.webSocket); commonFunc.onWebSocketClose(webSocket, false, null); - yield put({ type: 'saveWebSocket', payload: { webSocket: null } }); - yield put({ type: 'saveToken', payload: {} }); - history.push('/loginOee'); + yield put({ type: "saveWebSocket", payload: { webSocket: null } }); + yield put({ type: "saveToken", payload: {} }); + history.push("/loginOee"); message.destroy(); message.error(msg, ERROR_MSG_DURATION); } else { @@ -396,23 +413,23 @@ export default { const webSocket = yield select(state => state.app.webSocket); const { data } = yield call(services.getService, token, url); if (data.code === 1) { - commonFunc.sendWebSocketMessage(webSocket, 'loginOut', 'noAction', sId, null, sId, sId, null); + commonFunc.sendWebSocketMessage(webSocket, "loginOut", "noAction", sId, null, sId, sId, null); commonFunc.onWebSocketClose(webSocket, false, null); - yield put({ type: 'saveWebSocket', payload: { webSocket: null } }); - yield put({ type: 'saveToken', payload: {} }); - if (loginOutType === 'loginOut') { - history.push('/login'); - } else if (loginOutType === 'loginMobileOut') { - history.push('/loginMobile'); - } else if (loginOutType === 'loginOeeOut') { - history.push('/loginOee'); + yield put({ type: "saveWebSocket", payload: { webSocket: null } }); + yield put({ type: "saveToken", payload: {} }); + if (loginOutType === "loginOut") { + history.push("/login"); + } else if (loginOutType === "loginMobileOut") { + history.push("/loginMobile"); + } else if (loginOutType === "loginOeeOut") { + history.push("/loginOee"); } - } else if (loginOutType === 'loginOut') { - yield put({ type: 'throwError', payload: data }); - } else if (loginOutType === 'loginMobileOut') { - yield put({ type: 'throwErrorMobile', payload: data }); - } else if (loginOutType === 'loginOeeOut') { - yield put({ type: 'throwErrorOee', payload: data }); + } else if (loginOutType === "loginOut") { + yield put({ type: "throwError", payload: data }); + } else if (loginOutType === "loginMobileOut") { + yield put({ type: "throwErrorMobile", payload: data }); + } else if (loginOutType === "loginOeeOut") { + yield put({ type: "throwErrorOee", payload: data }); } }, *editUser({ payload }, { call, put, select }) { @@ -423,36 +440,36 @@ export default { message.success(data.msg); const userinfo = yield select(state => state.app.userinfo); userinfo.sUserName = value.sUserName; - yield put({ type: 'saveUserinfo', payload: userinfo }); + yield put({ type: "saveUserinfo", payload: userinfo }); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } }, *editPwd({ payload }, { call, put, select }) { const { url, value, editPwdType } = payload; const token = yield select(state => state.app.token); const { data } = yield call(services.postValueService, token, value, url); - if (editPwdType === 'mobile') { + if (editPwdType === "mobile") { if (data.code === 1) { - // Toast.success(data.msg, 1); - history.push('loginMobile'); + Toast.success(data.msg, 1); + history.push("loginMobile"); } else { - // Toast.fail(data.msg, 1); + Toast.fail(data.msg, 1); // yield put({ type: 'throwError', payload: data }); } - } else if (editPwdType === 'window') { + } else if (editPwdType === "window") { if (data.code === 1) { message.success(data.msg); - history.push('/login'); + history.push("/login"); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } - } else if (editPwdType === 'oee') { + } else if (editPwdType === "oee") { if (data.code === 1) { message.success(data.msg); - history.push('/loginOee'); + history.push("/loginOee"); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } } }, @@ -462,9 +479,9 @@ export default { const { data } = yield call(services.postValueService, token, value, url); if (data.code === 1) { message.success(data.msg); - history.push('/login'); + history.push("/login"); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } }, *getAddParameter({ payload }, { call, put, select }) { @@ -473,12 +490,12 @@ export default { const { data } = yield call(services.postValueService, token, value, url); if (data.code === 1) { const newData = data.dataset.rows[0]; - document.getElementById(newData.sFormId).classList.add('actionSelect__selected'); + document.getElementById(newData.sFormId).classList.add("actionSelect__selected"); const comParameter = yield select(state => state.app.comParameter); comParameter.push(newData); - yield put({ type: 'saveComParameter', payload: { comParameter } }); + yield put({ type: "saveComParameter", payload: { comParameter } }); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } }, *getDelParameter({ payload }, { call, put, select }) { @@ -488,17 +505,17 @@ export default { if (data.code === 1) { const delData = data.dataset.rows[0]; if (document.getElementById(delData.sFormId) !== null) { - document.getElementById(delData.sFormId).classList.remove('actionSelect__selected'); + document.getElementById(delData.sFormId).classList.remove("actionSelect__selected"); } else { const urls = `${config.server_host}business/getBuMenu?sModelsId=100`; - yield put({ type: 'menuPanel/getMenuPanel', payload: { url: urls } }); + yield put({ type: "menuPanel/getMenuPanel", payload: { url: urls } }); } const comParameter = yield select(state => state.app.comParameter); const index = comParameter.findIndex(item => item.sFormId === delData.sFormId); comParameter.splice(index, 1); - yield put({ type: 'saveComParameter', payload: { comParameter } }); + yield put({ type: "saveComParameter", payload: { comParameter } }); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } }, *getComParameter({ payload }, { call, put, select }) { @@ -507,9 +524,9 @@ export default { const { data } = yield call(services.getService, token, url); if (data.code === 1) { const comParameter = data.dataset.rows; - yield put({ type: 'saveComParameter', payload: { comParameter } }); + yield put({ type: "saveComParameter", payload: { comParameter } }); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } }, *getModelCenter({ payload }, { call, put, select }) { @@ -519,32 +536,32 @@ export default { const webSocket = yield select(state => state.app.webSocket); let dataCode = 0; const { data } = yield call(services.postValueService, token, value, url); - console.log('=====data', data); + console.log("=====data", data); if (utils.isEmpty(webSocket)) { const reStart = true; - yield put({ type: 'createWebSocket', payload: { reStart, dispatch } }); + yield put({ type: "createWebSocket", payload: { reStart, dispatch } }); } if (data.code === 1) { const modelCenter = data.dataset.rows[0]; - if (url.indexOf('getModelCenterCalculation') > -1) { + if (url.indexOf("getModelCenterCalculation") > -1) { dataCode = 1; } - yield put({ type: 'saveModelCenter', payload: { modelCenter, dataCode } }); + yield put({ type: "saveModelCenter", payload: { modelCenter, dataCode } }); } else { - yield put({ type: 'throwError', payload: data }); + yield put({ type: "throwError", payload: data }); } } catch (error) { - console.log('=====error', error); + console.log("=====error", error); } }, *clearModelCenter(content, { put }) { - yield put({ type: 'saveModelCenter', payload: { modelCenter: {}, dataCode: null } }); + yield put({ type: "saveModelCenter", payload: { modelCenter: {}, dataCode: null } }); }, /** 返回新页签 */ *backPane({ payload }, { put }) { const { panes, currentPane } = payload; - yield put({ type: 'savePanes', payload: { panes } }); - yield put({ type: 'saveCurrentPane', payload: { currentPane } }); + yield put({ type: "savePanes", payload: { panes } }); + yield put({ type: "saveCurrentPane", payload: { currentPane } }); }, /** 返回新页签 */ *createWebSocket({ payload }, { put, select }) { @@ -571,19 +588,19 @@ export default { }; const start = (ws, config1) => { config1.timerServer = setTimeout(() => { - const message = { sendFrom: userinfo.sId, connectTest: 'test' }; // param 存放其它参数 keyName 需要放入Redis的数据key,keyValue 需要放入Redis的数据key 的值 + const message = { sendFrom: userinfo.sId, connectTest: "test" }; // param 存放其它参数 keyName 需要放入Redis的数据key,keyValue 需要放入Redis的数据key 的值 ws.send(JSON.stringify(message)); }, config1.timeoutServer); }; const ws = new WebSocket(url); ws.onopen = function (e) { - console.log('连接上 webscoket 服务端了', e); + console.log("连接上 webscoket 服务端了", e); start(ws, config); }; // 全局通用的自定义onmessage的方法 - ws.homeAction = (msg) => { + ws.homeAction = msg => { const rtmsg = JSON.parse(msg.data); - if (rtmsg.action === 'showImg' && location.pathname.indexOf('/indexOee') < 0) { + if (rtmsg.action === "showImg" && location.pathname.indexOf("/indexOee") < 0) { const msgData = JSON.parse(msg.data); const msgStr = JSON.stringify(msgData.msg); const msgObj = utils.isJSON(msgStr) ? JSON.parse(msgStr) : {}; @@ -591,8 +608,8 @@ export default { const msgHeadData = utils.isNotEmptyObject(msgObj.data) ? msgObj.data : []; if (utils.isNotEmptyObject(msgHeadData)) { if (utils.isNotEmptyArr(msgPopupData)) { - if (location.pathname.indexOf('/indexMobile') < 0) { - msgPopupData.forEach((child) => { + if (location.pathname.indexOf("/indexMobile") < 0) { + msgPopupData.forEach(child => { // const sFormId = utils.isEmptyObject(child.sFormId) ? '15669750700007338351055957774000' : child.sFormId; // eslint-disable-next-line no-unused-vars // const pane = { @@ -603,55 +620,57 @@ export default { notification.info({ message: child.sTypeName, description: child.sContent, - className: 'customNotification', + className: "customNotification", // icon: , style: { width: 300, height: 120, }, - onClick: () => (utils.isNotEmptyObject(pane) ? dispatch({ type: 'app/addPane', payload: { pane } }) : null), + onClick: () => (utils.isNotEmptyObject(pane) ? dispatch({ type: "app/addPane", payload: { pane } }) : null), }); }); } - commonFunc.sendWebSocketMessage(ws, 'noAction', 'usertodo', null, userinfo.sId, userinfo.sUserName, userinfo.sId, userinfo.sId); + commonFunc.sendWebSocketMessage(ws, "noAction", "usertodo", null, userinfo.sId, userinfo.sUserName, userinfo.sId, userinfo.sId); } - dispatch({ type: 'app/saveMsgCount', payload: { msgCount: msgStr } }); + dispatch({ type: "app/saveMsgCount", payload: { msgCount: msgStr } }); } else { - dispatch({ type: 'app/saveMsgCount', payload: { msgCount: msgData.msg } }); + dispatch({ type: "app/saveMsgCount", payload: { msgCount: msgData.msg } }); } - } else if (rtmsg.action === 'loginOut') { - if (location.pathname.indexOf('/indexOee') > -1) { - dispatch({ type: 'app/throwErrorOee', payload: { code: -2, msg: rtmsg.msg } }); - } else if (location.pathname.indexOf('/indexMobile') > -1) { - dispatch({ type: 'app/throwErrorMobile', payload: { code: -2, msg: rtmsg.msg } }); - } else if (location.pathname.indexOf('/indexCssMobile') > -1) { - dispatch({ type: 'app/throwErrorMobile', payload: { code: -2, msg: rtmsg.msg } }); - } else if (location.pathname.indexOf('/indexSrmMobile') > -1) { - dispatch({ type: 'app/throwErrorMobile', payload: { code: -2, msg: rtmsg.msg } }); + } else if (rtmsg.action === "loginOut") { + if (location.pathname.indexOf("/indexOee") > -1) { + dispatch({ type: "app/throwErrorOee", payload: { code: -2, msg: rtmsg.msg } }); + } else if (location.pathname.indexOf("/indexMobile") > -1) { + dispatch({ type: "app/throwErrorMobile", payload: { code: -2, msg: rtmsg.msg } }); + } else if (location.pathname.indexOf("/indexCssMobile") > -1) { + dispatch({ type: "app/throwErrorMobile", payload: { code: -2, msg: rtmsg.msg } }); + } else if (location.pathname.indexOf("/indexSrmMobile") > -1) { + dispatch({ type: "app/throwErrorMobile", payload: { code: -2, msg: rtmsg.msg } }); } else { - dispatch({ type: 'app/throwError', payload: { code: -2, msg: rtmsg.msg } }); + dispatch({ type: "app/throwError", payload: { code: -2, msg: rtmsg.msg } }); } - } else if (rtmsg.action === 'kpimodle') { // 主页数据 + } else if (rtmsg.action === "kpimodle") { + // 主页数据 const msgData = JSON.parse(msg.data); - dispatch({ type: 'app/saveKpiData', payload: { kpiData: msgData.msg } }); - } else if (rtmsg.action === 'workMsg') { // 工单系统消息 + dispatch({ type: "app/saveKpiData", payload: { kpiData: msgData.msg } }); + } else if (rtmsg.action === "workMsg") { + // 工单系统消息 const msgData = JSON.parse(msg.data); - dispatch({ type: 'app/saveWorkMsg', payload: { workMsg: msgData.msg } }); + dispatch({ type: "app/saveWorkMsg", payload: { workMsg: msgData.msg } }); } }; - ws.onmessage = (msg) => { + ws.onmessage = msg => { reset(ws, config); ws.homeAction(msg); }; - ws.onclose = (e) => { + ws.onclose = e => { /* 当客户端收到服务器端发送关闭请求,触发onclose事件 */ - console.log('webscoket关闭!!', e); + console.log("webscoket关闭!!", e); }; - ws.onerror = (e) => { + ws.onerror = e => { /* 如果出现连接、处理、接收、发送数据异常 触发onerror */ - console.log('webscoket异常!!', e); + console.log("webscoket异常!!", e); }; - yield put({ type: 'saveWebSocket', payload: { webSocket: ws } }); + yield put({ type: "saveWebSocket", payload: { webSocket: ws } }); }, }, subscriptions: {}, diff --git a/src/models/loginMobile.js b/src/models/loginMobile.js new file mode 100644 index 0000000..3b3b8b1 --- /dev/null +++ b/src/models/loginMobile.js @@ -0,0 +1,35 @@ +/* eslint-disable no-param-reassign,no-undef */ +import { history } from 'umi'; + +export default { + namespace: 'loginMobile', + state: { + loginLoading: false, + }, + reducers: { + showLoginLoading(state) { + return { ...state, loginLoading: true }; + }, + hideLoginLoading(state) { + return { ...state, loginLoading: false }; + }, + }, + effects: { + *login({ payload }, { put }) { + const { + token, userinfo, commonConst, systemData, decimals, dateFormat, dispatch, + } = payload; + const reStart = false; + yield put({ type: 'app/saveToken', payload: token }); + yield put({ type: 'app/saveCommonConst', payload: commonConst }); + yield put({ type: 'app/saveUserinfo', payload: userinfo }); + yield put({ type: 'app/createWebSocket', payload: { reStart, dispatch } }); + yield put({ type: 'app/saveSystemData', payload: systemData }); + yield put({ type: 'app/saveDecimals', payload: decimals }); + yield put({ type: 'app/saveDateFormat', payload: dateFormat }); + history.push('/indexMobile'); + }, + }, + subscriptions: { + }, +}; diff --git a/src/routes/mobile/IndexMobile.js b/src/routes/mobile/IndexMobile.js index 949b16a..5bec810 100644 --- a/src/routes/mobile/IndexMobile.js +++ b/src/routes/mobile/IndexMobile.js @@ -46,17 +46,19 @@ class IndexMobile extends React.Component { }; } componentWillMount() { - this.props.dispatch(history.push("/indexMobile")); // 刷新时更新路由,避免底部按钮和返回按钮错乱显示 - if (this.props.routing && this.props.routing) { - const { state } = this.props.routing; - if (state) { - const { sId } = state; - if (sId === "myself") { - this.setState({ selectedTab: "myself" }); - // this.renderContent('contacts'); - } - } - } + console.log(this.props,'indexMobile'); + + // this.props.dispatch(history.push("/indexMobile")); // 刷新时更新路由,避免底部按钮和返回按钮错乱显示 + // if (this.props.routing && this.props.routing) { + // const { state } = this.props.routing; + // if (state) { + // const { sId } = state; + // if (sId === "myself") { + // this.setState({ selectedTab: "myself" }); + // // this.renderContent('contacts'); + // } + // } + // } // AppUtil.addDrag(); } diff --git a/src/routes/mobile/commobileList/commobileList.js b/src/routes/mobile/commobileList/commobileList.js index 488a216..d2d9daf 100644 --- a/src/routes/mobile/commobileList/commobileList.js +++ b/src/routes/mobile/commobileList/commobileList.js @@ -12,11 +12,11 @@ function commobileList({ dispatch, app, content, location, sModelsId, sModelsType, }) { /* 只有state与sModelsId同时为空时 返回空白页,设备是固定模块id */ - if (location.state === null && commonUtils.isEmptyObject(sModelsId)) { + if (location && location.state === null && commonUtils.isEmptyObject(sModelsId)) { return (
); } let param = {}; - if (location.pathname !== '/indexMobile') { + if (location && location.pathname !== '/indexMobile') { if (location.state.sParam) { param = commonUtils.convertStrToObj(location.state.sParam); } else { diff --git a/src/routes/mobile/index.js b/src/routes/mobile/index.js new file mode 100644 index 0000000..36b4f7c --- /dev/null +++ b/src/routes/mobile/index.js @@ -0,0 +1,29 @@ +import React from 'react'; +import { connect } from 'umi'; + +function LoginMobiles({ + dispatch, app, content, loginMobile, +}) { + const LoginProps = { + app, + content, + onLogin: userlogin, + dispatch, + loginMobile, + }; + + function userlogin(param) { + dispatch({ + type: 'login/login', + payload: { ...param, dispatch }, + }); + } + + return ( +
+ 4555455 +
+ ); +} + +export default connect(({ app, content }) => ({ app, content }))(LoginMobiles); -- libgit2 0.22.2