Commit 7b1d4f4b2546acdcad8a21438ef91567116b3c11

Authored by 陈鑫涛
1 parent 69de021b

移动端

.umirc.ts
@@ -22,6 +22,7 @@ export default defineConfig({ @@ -22,6 +22,7 @@ export default defineConfig({
22 path: "/loginMobile", 22 path: "/loginMobile",
23 component: "@/routes/mobile/login/LoginMobile", 23 component: "@/routes/mobile/login/LoginMobile",
24 }, 24 },
  25 +
25 { 26 {
26 path: '/indexMobile', 27 path: '/indexMobile',
27 component:'@/routes/mobile/IndexMobile', 28 component:'@/routes/mobile/IndexMobile',
src/components/Common/Typesetting/typesetting.js
@@ -486,6 +486,8 @@ const Typesetting = props => { @@ -486,6 +486,8 @@ const Typesetting = props => {
486 const propsDataWidth = Number(propsData.props.style.width.slice(0, -2)); 486 const propsDataWidth = Number(propsData.props.style.width.slice(0, -2));
487 const propsDataHeight = Number(propsData.props.style.height.slice(0, -2)); 487 const propsDataHeight = Number(propsData.props.style.height.slice(0, -2));
488 const propsDataTop = Number(propsData.props.style.top.slice(0, -2)); 488 const propsDataTop = Number(propsData.props.style.top.slice(0, -2));
  489 + console.log(innerDivs,'innerDivs');
  490 +
489 const newMaterialLength = propsDataLeft + innerWidthCombined; // 原纸长 491 const newMaterialLength = propsDataLeft + innerWidthCombined; // 原纸长
490 const newMaterialWidth = propsDataTop + propsDataHeight - dSBLB; 492 const newMaterialWidth = propsDataTop + propsDataHeight - dSBLB;
491 // 计算开数 493 // 计算开数
src/mobile/common/MessageMobile.js
1 import React from 'react'; 1 import React from 'react';
2 // eslint-disable-next-line no-unused-vars 2 // eslint-disable-next-line no-unused-vars
3 import { Tabs, Badge, ListView, SearchBar } from 'antd-mobile-v2'; 3 import { Tabs, Badge, ListView, SearchBar } from 'antd-mobile-v2';
4 -import 'antd-mobile/dist/antd-mobile.css'; 4 +import 'antd-mobile-v2/dist/antd-mobile.css';
5 // import ExamineMobile from './ExamineMobile'; 5 // import ExamineMobile from './ExamineMobile';
6 import commonConfig from '../../utils/config'; 6 import commonConfig from '../../utils/config';
7 import * as commonUtils from '../../utils/utils'; 7 import * as commonUtils from '../../utils/utils';
@@ -10,7 +10,7 @@ import CommobileListEvent from './CommobileListEvent'; @@ -10,7 +10,7 @@ import CommobileListEvent from './CommobileListEvent';
10 import styles from '../../routes/mobile/IndexMobile.less'; 10 import styles from '../../routes/mobile/IndexMobile.less';
11 import NewsMobile from './NewsMobile'; 11 import NewsMobile from './NewsMobile';
12 // eslint-disable-next-line no-unused-vars 12 // eslint-disable-next-line no-unused-vars
13 -import ExamineMobile from './ExamineMobile'; 13 +// import ExamineMobile from './ExamineMobile';
14 // import CommobileBill from './CommobileBill'; 14 // import CommobileBill from './CommobileBill';
15 15
16 16
src/mobile/login/LoginMobile.js
1 import React from 'react'; 1 import React from 'react';
2 import { createForm } from 'rc-form'; 2 import { createForm } from 'rc-form';
3 import { InputItem, Button, WhiteSpace, Toast, Modal, Picker, List } from 'antd-mobile-v2'; 3 import { InputItem, Button, WhiteSpace, Toast, Modal, Picker, List } from 'antd-mobile-v2';
  4 +import { history } from 'umi';
4 import 'antd-mobile-v2/dist/antd-mobile.css'; 5 import 'antd-mobile-v2/dist/antd-mobile.css';
5 import styles from './LoginMobile.less'; 6 import styles from './LoginMobile.less';
6 import LoginIcon from '../../assets/mobile/LOGO.png'; 7 import LoginIcon from '../../assets/mobile/LOGO.png';
src/models/app.js
1 -import { history } from 'umi';  
2 -import config from '../utils/config';  
3 -import * as utils from '../utils/utils';  
4 -import * as services from '../services/services';  
5 -import { message, notification, Modal } from 'antd-v4';  
6 -// import { Toast } from 'antd-mobile-v2';  
7 -import * as commonFunc from '../components/Common/commonFunc';/* 通用单据方法 */ 1 +import { history } from "umi";
  2 +import config from "../utils/config";
  3 +import * as utils from "../utils/utils";
  4 +import * as services from "../services/services";
  5 +import { message, notification, Modal } from "antd-v4";
  6 +import { Toast } from 'antd-mobile-v2';
  7 +import * as commonFunc from "../components/Common/commonFunc"; /* 通用单据方法 */
8 8
9 const { confirm } = Modal; 9 const { confirm } = Modal;
10 10
11 export default { 11 export default {
12 - namespace: 'app', 12 + namespace: "app",
13 state: { 13 state: {
14 token: JSON.parse(localStorage.getItem(`${config.prefix}token`)) || {}, 14 token: JSON.parse(localStorage.getItem(`${config.prefix}token`)) || {},
15 rxtx: utils.convertStrToObj(localStorage.getItem(`${config.prefix}rxtx`)), // 获取串口配置 15 rxtx: utils.convertStrToObj(localStorage.getItem(`${config.prefix}rxtx`)), // 获取串口配置
16 userinfo: JSON.parse(localStorage.getItem(`${config.prefix}userinfo`)) || {}, 16 userinfo: JSON.parse(localStorage.getItem(`${config.prefix}userinfo`)) || {},
17 commonConst: JSON.parse(localStorage.getItem(`${config.prefix}commonConst`)) || [], 17 commonConst: JSON.parse(localStorage.getItem(`${config.prefix}commonConst`)) || [],
18 systemData: JSON.parse(localStorage.getItem(`${config.prefix}systemData`)) || {}, 18 systemData: JSON.parse(localStorage.getItem(`${config.prefix}systemData`)) || {},
19 - dateFormat: JSON.parse(localStorage.getItem(`${config.prefix}dateFormat`)) || '', 19 + dateFormat: JSON.parse(localStorage.getItem(`${config.prefix}dateFormat`)) || "",
20 panes: JSON.parse(localStorage.getItem(`${config.prefix}panes`)) || [ 20 panes: JSON.parse(localStorage.getItem(`${config.prefix}panes`)) || [
21 { 21 {
22 - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940', 22 + paneType: "home",
  23 + title: "主页",
  24 + route: "/indexPage",
  25 + key: "1",
  26 + formId: "11811781131121915101184660940",
23 }, 27 },
24 ], 28 ],
25 ppopupPane: {}, 29 ppopupPane: {},
26 secondppopupPane: {}, 30 secondppopupPane: {},
27 currentPane: JSON.parse(localStorage.getItem(`${config.prefix}currentPane`)) || { 31 currentPane: JSON.parse(localStorage.getItem(`${config.prefix}currentPane`)) || {
28 - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940',  
29 - },  
30 - decimals: JSON.parse(localStorage.getItem(`${config.prefix}decimals`)) || '',  
31 - comParameter: [], /* 常用操作 */  
32 - modelCenter: {}, /* KPI工作中心 */ 32 + paneType: "home",
  33 + title: "主页",
  34 + route: "/indexPage",
  35 + key: "1",
  36 + formId: "11811781131121915101184660940",
  37 + },
  38 + decimals: JSON.parse(localStorage.getItem(`${config.prefix}decimals`)) || "",
  39 + comParameter: [] /* 常用操作 */,
  40 + modelCenter: {} /* KPI工作中心 */,
33 webSocket: null, 41 webSocket: null,
34 dataCode: null, 42 dataCode: null,
35 - sMachineId: localStorage.getItem(`${config.prefix}sMachineId`) || '', 43 + sMachineId: localStorage.getItem(`${config.prefix}sMachineId`) || "",
36 // OEE登录存储设备,班组sid sMachineNameStr 44 // OEE登录存储设备,班组sid sMachineNameStr
37 - sTeamNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sTeamNameSId`)) || '', // 保存oee班组id  
38 - sMachineNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameSId`)) || '', // 保存oee机台id  
39 - sMachineNameStr: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameStr`)) || '', // 保存oee机台name  
40 - iPlcNo: localStorage.getItem(`${config.prefix}iPlcNo`) || '', // 保存oeeiPlcNo 45 + sTeamNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sTeamNameSId`)) || "", // 保存oee班组id
  46 + sMachineNameSId: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameSId`)) || "", // 保存oee机台id
  47 + sMachineNameStr: JSON.parse(localStorage.getItem(`${config.prefix}sMachineNameStr`)) || "", // 保存oee机台name
  48 + iPlcNo: localStorage.getItem(`${config.prefix}iPlcNo`) || "", // 保存oeeiPlcNo
41 // 判断页面是否编辑 49 // 判断页面是否编辑
42 diffMap: new Map(), 50 diffMap: new Map(),
43 - managementData: JSON.parse(localStorage.getItem(`${config.prefix}managementData`)) || '',  
44 - fileData: JSON.parse(localStorage.getItem(`${config.prefix}fileData`)) || '', 51 + managementData: JSON.parse(localStorage.getItem(`${config.prefix}managementData`)) || "",
  52 + fileData: JSON.parse(localStorage.getItem(`${config.prefix}fileData`)) || "",
45 footer: utils.isJSON(localStorage.getItem(`${config.prefix}footer`)) ? JSON.parse(localStorage.getItem(`${config.prefix}footer`)) : [], 53 footer: utils.isJSON(localStorage.getItem(`${config.prefix}footer`)) ? JSON.parse(localStorage.getItem(`${config.prefix}footer`)) : [],
46 logoImageInfo: JSON.parse(localStorage.getItem(`${config.prefix}logoImageInfo`)) || [], 54 logoImageInfo: JSON.parse(localStorage.getItem(`${config.prefix}logoImageInfo`)) || [],
47 - auxiliaryQty: utils.isJSON(localStorage.getItem(`${config.prefix}auxiliaryQty`)) ? JSON.parse(localStorage.getItem(`${config.prefix}auxiliaryQty`)) : [], 55 + auxiliaryQty: utils.isJSON(localStorage.getItem(`${config.prefix}auxiliaryQty`))
  56 + ? JSON.parse(localStorage.getItem(`${config.prefix}auxiliaryQty`))
  57 + : [],
48 }, 58 },
49 reducers: { 59 reducers: {
50 saveToken(state, { payload: token }) { 60 saveToken(state, { payload: token }) {
51 const currentPane = { 61 const currentPane = {
52 - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940', 62 + paneType: "home",
  63 + title: "主页",
  64 + route: "/indexPage",
  65 + key: "1",
  66 + formId: "11811781131121915101184660940",
53 }; 67 };
54 - const panes = [{  
55 - paneType: 'home', title: '主页', route: '/indexPage', key: '1', formId: '11811781131121915101184660940',  
56 - }]; 68 + const panes = [
  69 + {
  70 + paneType: "home",
  71 + title: "主页",
  72 + route: "/indexPage",
  73 + key: "1",
  74 + formId: "11811781131121915101184660940",
  75 + },
  76 + ];
57 localStorage.setItem(`${config.prefix}token`, JSON.stringify(token)); 77 localStorage.setItem(`${config.prefix}token`, JSON.stringify(token));
58 localStorage.setItem(`${config.prefix}currentPane`, JSON.stringify(currentPane)); 78 localStorage.setItem(`${config.prefix}currentPane`, JSON.stringify(currentPane));
59 localStorage.setItem(`${config.prefix}panes`, JSON.stringify(panes)); 79 localStorage.setItem(`${config.prefix}panes`, JSON.stringify(panes));
@@ -184,7 +204,7 @@ export default { @@ -184,7 +204,7 @@ export default {
184 *changeDiffMap({ payload }, { put }) { 204 *changeDiffMap({ payload }, { put }) {
185 // payload = { sTabId: '', changed: boolean } 205 // payload = { sTabId: '', changed: boolean }
186 yield put({ 206 yield put({
187 - type: 'saveDiffMap', 207 + type: "saveDiffMap",
188 payload, 208 payload,
189 }); 209 });
190 }, 210 },
@@ -192,12 +212,12 @@ export default { @@ -192,12 +212,12 @@ export default {
192 *changePaneData({ payload }, { put, select }) { 212 *changePaneData({ payload }, { put, select }) {
193 /* 待用数据赋值 */ 213 /* 待用数据赋值 */
194 const { 214 const {
195 - parentId, /* 父页面编号 */  
196 - showRender, /* 主表渲染对象 */  
197 - showSlaveRender, /* 从表渲染对象 */  
198 - editTableRender, /* 从表渲染控制 */  
199 - isRender, /* 是否从高阶渲染 */  
200 - isRenderPart, /* 是否进行部分渲染 */ 215 + parentId /* 父页面编号 */,
  216 + showRender /* 主表渲染对象 */,
  217 + showSlaveRender /* 从表渲染对象 */,
  218 + editTableRender /* 从表渲染控制 */,
  219 + isRender /* 是否从高阶渲染 */,
  220 + isRenderPart /* 是否进行部分渲染 */,
201 } = payload; /* 参数接收 */ 221 } = payload; /* 参数接收 */
202 /* 过滤出需要change的pane */ 222 /* 过滤出需要change的pane */
203 const panes = yield select(state => state.app.panes); 223 const panes = yield select(state => state.app.panes);
@@ -213,7 +233,7 @@ export default { @@ -213,7 +233,7 @@ export default {
213 pane.isRenderPart = isRenderPart; 233 pane.isRenderPart = isRenderPart;
214 /* 保存页签 */ 234 /* 保存页签 */
215 yield put({ 235 yield put({
216 - type: 'savePanes', 236 + type: "savePanes",
217 payload: { 237 payload: {
218 panes, 238 panes,
219 }, 239 },
@@ -229,21 +249,21 @@ export default { @@ -229,21 +249,21 @@ export default {
229 /* 判断页签存储个数是否超过容量 */ 249 /* 判断页签存储个数是否超过容量 */
230 if (utils.isNotEmptyArr(panes) && panes.length === config.maxTabSize) { 250 if (utils.isNotEmptyArr(panes) && panes.length === config.maxTabSize) {
231 try { 251 try {
232 - throw new Error(commonFunc.showMessage(app.commonConst, 'TabsNumOverLimit'));/* Tab数量已超过限制 */ 252 + throw new Error(commonFunc.showMessage(app.commonConst, "TabsNumOverLimit")); /* Tab数量已超过限制 */
233 } catch (e) { 253 } catch (e) {
234 - console.log('error', e.message); 254 + console.log("error", e.message);
235 } 255 }
236 } 256 }
237 /* 获取需要新增的页签 */ 257 /* 获取需要新增的页签 */
238 const { pane } = payload; 258 const { pane } = payload;
239 - pane.parentPaneKey = currentPane.key;/* 增加来源页签key */ 259 + pane.parentPaneKey = currentPane.key; /* 增加来源页签key */
240 /* 判断是否添加页签的条件 */ 260 /* 判断是否添加页签的条件 */
241 const index = panes.findIndex(temp => temp.key === pane.key); 261 const index = panes.findIndex(temp => temp.key === pane.key);
242 /* 满足添加条件就添加页签 */ 262 /* 满足添加条件就添加页签 */
243 if (index < 0) { 263 if (index < 0) {
244 panes.push(pane); 264 panes.push(pane);
245 yield put({ 265 yield put({
246 - type: 'savePanesAndCurrentPane', 266 + type: "savePanesAndCurrentPane",
247 payload: { 267 payload: {
248 panes, 268 panes,
249 currentPane: pane, 269 currentPane: pane,
@@ -257,101 +277,98 @@ export default { @@ -257,101 +277,98 @@ export default {
257 const app = yield select(state => state.app); 277 const app = yield select(state => state.app);
258 if (panes.length === config.maxTabSize) { 278 if (panes.length === config.maxTabSize) {
259 try { 279 try {
260 - throw new Error(commonFunc.showMessage(app.commonConst, 'TabsNumOverLimit'));/* Tab数量已超过限制 */ 280 + throw new Error(commonFunc.showMessage(app.commonConst, "TabsNumOverLimit")); /* Tab数量已超过限制 */
261 } catch (e) { 281 } catch (e) {
262 - console.log('error', e.message); 282 + console.log("error", e.message);
263 } 283 }
264 } 284 }
265 const { pane } = payload; 285 const { pane } = payload;
266 - yield put({ type: 'saveCurrentPane', payload: { currentPane: pane } }); 286 + yield put({ type: "saveCurrentPane", payload: { currentPane: pane } });
267 const tempPanes = panes.filter(temp => temp.key === pane.key); 287 const tempPanes = panes.filter(temp => temp.key === pane.key);
268 if (tempPanes.length === 0) { 288 if (tempPanes.length === 0) {
269 panes.push(pane); 289 panes.push(pane);
270 } 290 }
271 - yield put({ type: 'savePanes', payload: { panes } }); 291 + yield put({ type: "savePanes", payload: { panes } });
272 }, 292 },
273 *addppopupPane({ payload }, { put }) { 293 *addppopupPane({ payload }, { put }) {
274 const { pane } = payload; 294 const { pane } = payload;
275 - yield put({ type: 'saveppopupPane', payload: { ppopupPane: pane } }); 295 + yield put({ type: "saveppopupPane", payload: { ppopupPane: pane } });
276 }, 296 },
277 *changePpopupPane({ payload }, { put, select }) { 297 *changePpopupPane({ payload }, { put, select }) {
278 const ppopupPane = yield select(state => state.app.ppopupPane); 298 const ppopupPane = yield select(state => state.app.ppopupPane);
279 const { resultValue } = payload; 299 const { resultValue } = payload;
280 - yield put({ type: 'saveppopupPane', payload: { ppopupPane: { ...ppopupPane, resultValue } } }); 300 + yield put({ type: "saveppopupPane", payload: { ppopupPane: { ...ppopupPane, resultValue } } });
281 }, 301 },
282 *removeModalPane({ payload }, { put }) { 302 *removeModalPane({ payload }, { put }) {
283 const panes = payload.changePanes; 303 const panes = payload.changePanes;
284 - yield put({ type: 'saveppopupPane', payload: { panes } }); 304 + yield put({ type: "saveppopupPane", payload: { panes } });
285 }, 305 },
286 *addSecondPpopupPane({ payload }, { put }) { 306 *addSecondPpopupPane({ payload }, { put }) {
287 const { pane } = payload; 307 const { pane } = payload;
288 - yield put({ type: 'saveSecondPpopupPane', payload: { secondppopupPane: pane } }); 308 + yield put({ type: "saveSecondPpopupPane", payload: { secondppopupPane: pane } });
289 }, 309 },
290 *changeSecondPpopupPane({ payload }, { put, select }) { 310 *changeSecondPpopupPane({ payload }, { put, select }) {
291 const secondppopupPane = yield select(state => state.app.secondppopupPane); 311 const secondppopupPane = yield select(state => state.app.secondppopupPane);
292 const { resultValue } = payload; 312 const { resultValue } = payload;
293 - yield put({ type: 'saveSecondPpopupPane', payload: { secondppopupPane: { ...secondppopupPane, resultValue } } }); 313 + yield put({ type: "saveSecondPpopupPane", payload: { secondppopupPane: { ...secondppopupPane, resultValue } } });
294 }, 314 },
295 *removeSecondModalPane({ payload }, { put }) { 315 *removeSecondModalPane({ payload }, { put }) {
296 const panes = payload.changePanes; 316 const panes = payload.changePanes;
297 - yield put({ type: 'saveSecondPpopupPane', payload: { panes } }); 317 + yield put({ type: "saveSecondPpopupPane", payload: { panes } });
298 }, 318 },
299 *removePane({ payload }, { put }) { 319 *removePane({ payload }, { put }) {
300 const panes = payload.changePanes; 320 const panes = payload.changePanes;
301 const { currentPane } = payload; 321 const { currentPane } = payload;
302 - yield put({ type: 'savePanes', payload: { panes } }); 322 + yield put({ type: "savePanes", payload: { panes } });
303 if (panes.length > 0) { 323 if (panes.length > 0) {
304 - yield put({ type: 'saveCurrentPane', payload: { currentPane } }); 324 + yield put({ type: "saveCurrentPane", payload: { currentPane } });
305 } 325 }
306 }, 326 },
307 *saveCurrentPane({ payload }, { put }) { 327 *saveCurrentPane({ payload }, { put }) {
308 const { currentPane } = payload; 328 const { currentPane } = payload;
309 - yield put({ type: 'setCurrentPane', payload: { currentPane } });  
310 - const routeLine = currentPane.route ? currentPane.route : '/indexPage'; 329 + yield put({ type: "setCurrentPane", payload: { currentPane } });
  330 + const routeLine = currentPane.route ? currentPane.route : "/indexPage";
311 // yield put(history.push(routeLine)); 331 // yield put(history.push(routeLine));
312 - history.push(routeLine) 332 + history.push(routeLine);
313 }, 333 },
314 *throwError({ payload }, { put, select }) { 334 *throwError({ payload }, { put, select }) {
315 const { code, msg, fn } = payload; 335 const { code, msg, fn } = payload;
316 - const ERROR_MSG_DURATION = 5;/* 3秒 */ 336 + const ERROR_MSG_DURATION = 5; /* 3秒 */
317 if (code === -2) { 337 if (code === -2) {
318 const webSocket = yield select(state => state.app.webSocket); 338 const webSocket = yield select(state => state.app.webSocket);
319 commonFunc.onWebSocketClose(webSocket, false, null); 339 commonFunc.onWebSocketClose(webSocket, false, null);
320 - yield put({ type: 'saveWebSocket', payload: { webSocket: null } });  
321 - yield put({ type: 'saveToken', payload: {} });  
322 - if (location.pathname.toLowerCase() === '/loginoee') {  
323 - history.push('/loginOee'); 340 + yield put({ type: "saveWebSocket", payload: { webSocket: null } });
  341 + yield put({ type: "saveToken", payload: {} });
  342 + if (location.pathname.toLowerCase() === "/loginoee") {
  343 + history.push("/loginOee");
324 } else { 344 } else {
325 - history.push('/login'); 345 + history.push("/login");
326 } 346 }
327 message.destroy(); 347 message.destroy();
328 message.error(msg, ERROR_MSG_DURATION); 348 message.error(msg, ERROR_MSG_DURATION);
329 } else { 349 } else {
330 message.destroy(); 350 message.destroy();
331 - if (code === -7 && !location.pathname.toLowerCase().includes('oee')  
332 - && !location.pathname.toLowerCase().includes('mobile')) {  
333 - if (typeof fn === 'function') { 351 + if (code === -7 && !location.pathname.toLowerCase().includes("oee") && !location.pathname.toLowerCase().includes("mobile")) {
  352 + if (typeof fn === "function") {
334 confirm({ 353 confirm({
335 - title: '温馨提示',  
336 - content: <p style={{ whiteSpace: 'pre-wrap', wordWrap: 'break-word' }}>{msg}</p>, 354 + title: "温馨提示",
  355 + content: <p style={{ whiteSpace: "pre-wrap", wordWrap: "break-word" }}>{msg}</p>,
337 onOk() { 356 onOk() {
338 fn(); 357 fn();
339 }, 358 },
340 - onCancel() {  
341 - },  
342 - okText: '确认',  
343 - cancelText: '取消', 359 + onCancel() {},
  360 + okText: "确认",
  361 + cancelText: "取消",
344 }); 362 });
345 } 363 }
346 return; 364 return;
347 } 365 }
348 - if (code === -1 && !location.pathname.toLowerCase().includes('oee')  
349 - && !location.pathname.toLowerCase().includes('mobile')) { 366 + if (code === -1 && !location.pathname.toLowerCase().includes("oee") && !location.pathname.toLowerCase().includes("mobile")) {
350 confirm({ 367 confirm({
351 - title: '温馨提示',  
352 - content: <p style={{ whiteSpace: 'pre-wrap', wordWrap: 'break-word' }}>{msg}</p>,  
353 - okText: '确认',  
354 - cancelText: '取消', 368 + title: "温馨提示",
  369 + content: <p style={{ whiteSpace: "pre-wrap", wordWrap: "break-word" }}>{msg}</p>,
  370 + okText: "确认",
  371 + cancelText: "取消",
355 }); 372 });
356 return; 373 return;
357 } 374 }
@@ -360,13 +377,13 @@ export default { @@ -360,13 +377,13 @@ export default {
360 }, 377 },
361 *throwErrorMobile({ payload }, { put, select }) { 378 *throwErrorMobile({ payload }, { put, select }) {
362 const { code, msg } = payload; 379 const { code, msg } = payload;
363 - const ERROR_MSG_DURATION = 5;/* 3 秒 */ 380 + const ERROR_MSG_DURATION = 5; /* 3 秒 */
364 if (code === -2) { 381 if (code === -2) {
365 const webSocket = yield select(state => state.app.webSocket); 382 const webSocket = yield select(state => state.app.webSocket);
366 commonFunc.onWebSocketClose(webSocket, false, null); 383 commonFunc.onWebSocketClose(webSocket, false, null);
367 - yield put({ type: 'saveWebSocket', payload: { webSocket: null } });  
368 - yield put({ type: 'saveToken', payload: {} });  
369 - history.push('/loginMobile'); 384 + yield put({ type: "saveWebSocket", payload: { webSocket: null } });
  385 + yield put({ type: "saveToken", payload: {} });
  386 + history.push("/loginMobile");
370 message.destroy(); 387 message.destroy();
371 message.error(msg, ERROR_MSG_DURATION); 388 message.error(msg, ERROR_MSG_DURATION);
372 } else { 389 } else {
@@ -376,13 +393,13 @@ export default { @@ -376,13 +393,13 @@ export default {
376 }, 393 },
377 *throwErrorOee({ payload }, { put, select }) { 394 *throwErrorOee({ payload }, { put, select }) {
378 const { code, msg } = payload; 395 const { code, msg } = payload;
379 - const ERROR_MSG_DURATION = 5;/* 3 秒 */ 396 + const ERROR_MSG_DURATION = 5; /* 3 秒 */
380 if (code === -2) { 397 if (code === -2) {
381 const webSocket = yield select(state => state.app.webSocket); 398 const webSocket = yield select(state => state.app.webSocket);
382 commonFunc.onWebSocketClose(webSocket, false, null); 399 commonFunc.onWebSocketClose(webSocket, false, null);
383 - yield put({ type: 'saveWebSocket', payload: { webSocket: null } });  
384 - yield put({ type: 'saveToken', payload: {} });  
385 - history.push('/loginOee'); 400 + yield put({ type: "saveWebSocket", payload: { webSocket: null } });
  401 + yield put({ type: "saveToken", payload: {} });
  402 + history.push("/loginOee");
386 message.destroy(); 403 message.destroy();
387 message.error(msg, ERROR_MSG_DURATION); 404 message.error(msg, ERROR_MSG_DURATION);
388 } else { 405 } else {
@@ -396,23 +413,23 @@ export default { @@ -396,23 +413,23 @@ export default {
396 const webSocket = yield select(state => state.app.webSocket); 413 const webSocket = yield select(state => state.app.webSocket);
397 const { data } = yield call(services.getService, token, url); 414 const { data } = yield call(services.getService, token, url);
398 if (data.code === 1) { 415 if (data.code === 1) {
399 - commonFunc.sendWebSocketMessage(webSocket, 'loginOut', 'noAction', sId, null, sId, sId, null); 416 + commonFunc.sendWebSocketMessage(webSocket, "loginOut", "noAction", sId, null, sId, sId, null);
400 commonFunc.onWebSocketClose(webSocket, false, null); 417 commonFunc.onWebSocketClose(webSocket, false, null);
401 - yield put({ type: 'saveWebSocket', payload: { webSocket: null } });  
402 - yield put({ type: 'saveToken', payload: {} });  
403 - if (loginOutType === 'loginOut') {  
404 - history.push('/login');  
405 - } else if (loginOutType === 'loginMobileOut') {  
406 - history.push('/loginMobile');  
407 - } else if (loginOutType === 'loginOeeOut') {  
408 - history.push('/loginOee'); 418 + yield put({ type: "saveWebSocket", payload: { webSocket: null } });
  419 + yield put({ type: "saveToken", payload: {} });
  420 + if (loginOutType === "loginOut") {
  421 + history.push("/login");
  422 + } else if (loginOutType === "loginMobileOut") {
  423 + history.push("/loginMobile");
  424 + } else if (loginOutType === "loginOeeOut") {
  425 + history.push("/loginOee");
409 } 426 }
410 - } else if (loginOutType === 'loginOut') {  
411 - yield put({ type: 'throwError', payload: data });  
412 - } else if (loginOutType === 'loginMobileOut') {  
413 - yield put({ type: 'throwErrorMobile', payload: data });  
414 - } else if (loginOutType === 'loginOeeOut') {  
415 - yield put({ type: 'throwErrorOee', payload: data }); 427 + } else if (loginOutType === "loginOut") {
  428 + yield put({ type: "throwError", payload: data });
  429 + } else if (loginOutType === "loginMobileOut") {
  430 + yield put({ type: "throwErrorMobile", payload: data });
  431 + } else if (loginOutType === "loginOeeOut") {
  432 + yield put({ type: "throwErrorOee", payload: data });
416 } 433 }
417 }, 434 },
418 *editUser({ payload }, { call, put, select }) { 435 *editUser({ payload }, { call, put, select }) {
@@ -423,36 +440,36 @@ export default { @@ -423,36 +440,36 @@ export default {
423 message.success(data.msg); 440 message.success(data.msg);
424 const userinfo = yield select(state => state.app.userinfo); 441 const userinfo = yield select(state => state.app.userinfo);
425 userinfo.sUserName = value.sUserName; 442 userinfo.sUserName = value.sUserName;
426 - yield put({ type: 'saveUserinfo', payload: userinfo }); 443 + yield put({ type: "saveUserinfo", payload: userinfo });
427 } else { 444 } else {
428 - yield put({ type: 'throwError', payload: data }); 445 + yield put({ type: "throwError", payload: data });
429 } 446 }
430 }, 447 },
431 *editPwd({ payload }, { call, put, select }) { 448 *editPwd({ payload }, { call, put, select }) {
432 const { url, value, editPwdType } = payload; 449 const { url, value, editPwdType } = payload;
433 const token = yield select(state => state.app.token); 450 const token = yield select(state => state.app.token);
434 const { data } = yield call(services.postValueService, token, value, url); 451 const { data } = yield call(services.postValueService, token, value, url);
435 - if (editPwdType === 'mobile') { 452 + if (editPwdType === "mobile") {
436 if (data.code === 1) { 453 if (data.code === 1) {
437 - // Toast.success(data.msg, 1);  
438 - history.push('loginMobile'); 454 + Toast.success(data.msg, 1);
  455 + history.push("loginMobile");
439 } else { 456 } else {
440 - // Toast.fail(data.msg, 1); 457 + Toast.fail(data.msg, 1);
441 // yield put({ type: 'throwError', payload: data }); 458 // yield put({ type: 'throwError', payload: data });
442 } 459 }
443 - } else if (editPwdType === 'window') { 460 + } else if (editPwdType === "window") {
444 if (data.code === 1) { 461 if (data.code === 1) {
445 message.success(data.msg); 462 message.success(data.msg);
446 - history.push('/login'); 463 + history.push("/login");
447 } else { 464 } else {
448 - yield put({ type: 'throwError', payload: data }); 465 + yield put({ type: "throwError", payload: data });
449 } 466 }
450 - } else if (editPwdType === 'oee') { 467 + } else if (editPwdType === "oee") {
451 if (data.code === 1) { 468 if (data.code === 1) {
452 message.success(data.msg); 469 message.success(data.msg);
453 - history.push('/loginOee'); 470 + history.push("/loginOee");
454 } else { 471 } else {
455 - yield put({ type: 'throwError', payload: data }); 472 + yield put({ type: "throwError", payload: data });
456 } 473 }
457 } 474 }
458 }, 475 },
@@ -462,9 +479,9 @@ export default { @@ -462,9 +479,9 @@ export default {
462 const { data } = yield call(services.postValueService, token, value, url); 479 const { data } = yield call(services.postValueService, token, value, url);
463 if (data.code === 1) { 480 if (data.code === 1) {
464 message.success(data.msg); 481 message.success(data.msg);
465 - history.push('/login'); 482 + history.push("/login");
466 } else { 483 } else {
467 - yield put({ type: 'throwError', payload: data }); 484 + yield put({ type: "throwError", payload: data });
468 } 485 }
469 }, 486 },
470 *getAddParameter({ payload }, { call, put, select }) { 487 *getAddParameter({ payload }, { call, put, select }) {
@@ -473,12 +490,12 @@ export default { @@ -473,12 +490,12 @@ export default {
473 const { data } = yield call(services.postValueService, token, value, url); 490 const { data } = yield call(services.postValueService, token, value, url);
474 if (data.code === 1) { 491 if (data.code === 1) {
475 const newData = data.dataset.rows[0]; 492 const newData = data.dataset.rows[0];
476 - document.getElementById(newData.sFormId).classList.add('actionSelect__selected'); 493 + document.getElementById(newData.sFormId).classList.add("actionSelect__selected");
477 const comParameter = yield select(state => state.app.comParameter); 494 const comParameter = yield select(state => state.app.comParameter);
478 comParameter.push(newData); 495 comParameter.push(newData);
479 - yield put({ type: 'saveComParameter', payload: { comParameter } }); 496 + yield put({ type: "saveComParameter", payload: { comParameter } });
480 } else { 497 } else {
481 - yield put({ type: 'throwError', payload: data }); 498 + yield put({ type: "throwError", payload: data });
482 } 499 }
483 }, 500 },
484 *getDelParameter({ payload }, { call, put, select }) { 501 *getDelParameter({ payload }, { call, put, select }) {
@@ -488,17 +505,17 @@ export default { @@ -488,17 +505,17 @@ export default {
488 if (data.code === 1) { 505 if (data.code === 1) {
489 const delData = data.dataset.rows[0]; 506 const delData = data.dataset.rows[0];
490 if (document.getElementById(delData.sFormId) !== null) { 507 if (document.getElementById(delData.sFormId) !== null) {
491 - document.getElementById(delData.sFormId).classList.remove('actionSelect__selected'); 508 + document.getElementById(delData.sFormId).classList.remove("actionSelect__selected");
492 } else { 509 } else {
493 const urls = `${config.server_host}business/getBuMenu?sModelsId=100`; 510 const urls = `${config.server_host}business/getBuMenu?sModelsId=100`;
494 - yield put({ type: 'menuPanel/getMenuPanel', payload: { url: urls } }); 511 + yield put({ type: "menuPanel/getMenuPanel", payload: { url: urls } });
495 } 512 }
496 const comParameter = yield select(state => state.app.comParameter); 513 const comParameter = yield select(state => state.app.comParameter);
497 const index = comParameter.findIndex(item => item.sFormId === delData.sFormId); 514 const index = comParameter.findIndex(item => item.sFormId === delData.sFormId);
498 comParameter.splice(index, 1); 515 comParameter.splice(index, 1);
499 - yield put({ type: 'saveComParameter', payload: { comParameter } }); 516 + yield put({ type: "saveComParameter", payload: { comParameter } });
500 } else { 517 } else {
501 - yield put({ type: 'throwError', payload: data }); 518 + yield put({ type: "throwError", payload: data });
502 } 519 }
503 }, 520 },
504 *getComParameter({ payload }, { call, put, select }) { 521 *getComParameter({ payload }, { call, put, select }) {
@@ -507,9 +524,9 @@ export default { @@ -507,9 +524,9 @@ export default {
507 const { data } = yield call(services.getService, token, url); 524 const { data } = yield call(services.getService, token, url);
508 if (data.code === 1) { 525 if (data.code === 1) {
509 const comParameter = data.dataset.rows; 526 const comParameter = data.dataset.rows;
510 - yield put({ type: 'saveComParameter', payload: { comParameter } }); 527 + yield put({ type: "saveComParameter", payload: { comParameter } });
511 } else { 528 } else {
512 - yield put({ type: 'throwError', payload: data }); 529 + yield put({ type: "throwError", payload: data });
513 } 530 }
514 }, 531 },
515 *getModelCenter({ payload }, { call, put, select }) { 532 *getModelCenter({ payload }, { call, put, select }) {
@@ -519,32 +536,32 @@ export default { @@ -519,32 +536,32 @@ export default {
519 const webSocket = yield select(state => state.app.webSocket); 536 const webSocket = yield select(state => state.app.webSocket);
520 let dataCode = 0; 537 let dataCode = 0;
521 const { data } = yield call(services.postValueService, token, value, url); 538 const { data } = yield call(services.postValueService, token, value, url);
522 - console.log('=====data', data); 539 + console.log("=====data", data);
523 if (utils.isEmpty(webSocket)) { 540 if (utils.isEmpty(webSocket)) {
524 const reStart = true; 541 const reStart = true;
525 - yield put({ type: 'createWebSocket', payload: { reStart, dispatch } }); 542 + yield put({ type: "createWebSocket", payload: { reStart, dispatch } });
526 } 543 }
527 if (data.code === 1) { 544 if (data.code === 1) {
528 const modelCenter = data.dataset.rows[0]; 545 const modelCenter = data.dataset.rows[0];
529 - if (url.indexOf('getModelCenterCalculation') > -1) { 546 + if (url.indexOf("getModelCenterCalculation") > -1) {
530 dataCode = 1; 547 dataCode = 1;
531 } 548 }
532 - yield put({ type: 'saveModelCenter', payload: { modelCenter, dataCode } }); 549 + yield put({ type: "saveModelCenter", payload: { modelCenter, dataCode } });
533 } else { 550 } else {
534 - yield put({ type: 'throwError', payload: data }); 551 + yield put({ type: "throwError", payload: data });
535 } 552 }
536 } catch (error) { 553 } catch (error) {
537 - console.log('=====error', error); 554 + console.log("=====error", error);
538 } 555 }
539 }, 556 },
540 *clearModelCenter(content, { put }) { 557 *clearModelCenter(content, { put }) {
541 - yield put({ type: 'saveModelCenter', payload: { modelCenter: {}, dataCode: null } }); 558 + yield put({ type: "saveModelCenter", payload: { modelCenter: {}, dataCode: null } });
542 }, 559 },
543 /** 返回新页签 */ 560 /** 返回新页签 */
544 *backPane({ payload }, { put }) { 561 *backPane({ payload }, { put }) {
545 const { panes, currentPane } = payload; 562 const { panes, currentPane } = payload;
546 - yield put({ type: 'savePanes', payload: { panes } });  
547 - yield put({ type: 'saveCurrentPane', payload: { currentPane } }); 563 + yield put({ type: "savePanes", payload: { panes } });
  564 + yield put({ type: "saveCurrentPane", payload: { currentPane } });
548 }, 565 },
549 /** 返回新页签 */ 566 /** 返回新页签 */
550 *createWebSocket({ payload }, { put, select }) { 567 *createWebSocket({ payload }, { put, select }) {
@@ -571,19 +588,19 @@ export default { @@ -571,19 +588,19 @@ export default {
571 }; 588 };
572 const start = (ws, config1) => { 589 const start = (ws, config1) => {
573 config1.timerServer = setTimeout(() => { 590 config1.timerServer = setTimeout(() => {
574 - const message = { sendFrom: userinfo.sId, connectTest: 'test' }; // param 存放其它参数 keyName 需要放入Redis的数据key,keyValue 需要放入Redis的数据key 的值 591 + const message = { sendFrom: userinfo.sId, connectTest: "test" }; // param 存放其它参数 keyName 需要放入Redis的数据key,keyValue 需要放入Redis的数据key 的值
575 ws.send(JSON.stringify(message)); 592 ws.send(JSON.stringify(message));
576 }, config1.timeoutServer); 593 }, config1.timeoutServer);
577 }; 594 };
578 const ws = new WebSocket(url); 595 const ws = new WebSocket(url);
579 ws.onopen = function (e) { 596 ws.onopen = function (e) {
580 - console.log('连接上 webscoket 服务端了', e); 597 + console.log("连接上 webscoket 服务端了", e);
581 start(ws, config); 598 start(ws, config);
582 }; 599 };
583 // 全局通用的自定义onmessage的方法 600 // 全局通用的自定义onmessage的方法
584 - ws.homeAction = (msg) => { 601 + ws.homeAction = msg => {
585 const rtmsg = JSON.parse(msg.data); 602 const rtmsg = JSON.parse(msg.data);
586 - if (rtmsg.action === 'showImg' && location.pathname.indexOf('/indexOee') < 0) { 603 + if (rtmsg.action === "showImg" && location.pathname.indexOf("/indexOee") < 0) {
587 const msgData = JSON.parse(msg.data); 604 const msgData = JSON.parse(msg.data);
588 const msgStr = JSON.stringify(msgData.msg); 605 const msgStr = JSON.stringify(msgData.msg);
589 const msgObj = utils.isJSON(msgStr) ? JSON.parse(msgStr) : {}; 606 const msgObj = utils.isJSON(msgStr) ? JSON.parse(msgStr) : {};
@@ -591,8 +608,8 @@ export default { @@ -591,8 +608,8 @@ export default {
591 const msgHeadData = utils.isNotEmptyObject(msgObj.data) ? msgObj.data : []; 608 const msgHeadData = utils.isNotEmptyObject(msgObj.data) ? msgObj.data : [];
592 if (utils.isNotEmptyObject(msgHeadData)) { 609 if (utils.isNotEmptyObject(msgHeadData)) {
593 if (utils.isNotEmptyArr(msgPopupData)) { 610 if (utils.isNotEmptyArr(msgPopupData)) {
594 - if (location.pathname.indexOf('/indexMobile') < 0) {  
595 - msgPopupData.forEach((child) => { 611 + if (location.pathname.indexOf("/indexMobile") < 0) {
  612 + msgPopupData.forEach(child => {
596 // const sFormId = utils.isEmptyObject(child.sFormId) ? '15669750700007338351055957774000' : child.sFormId; 613 // const sFormId = utils.isEmptyObject(child.sFormId) ? '15669750700007338351055957774000' : child.sFormId;
597 // eslint-disable-next-line no-unused-vars 614 // eslint-disable-next-line no-unused-vars
598 // const pane = { 615 // const pane = {
@@ -603,55 +620,57 @@ export default { @@ -603,55 +620,57 @@ export default {
603 notification.info({ 620 notification.info({
604 message: child.sTypeName, 621 message: child.sTypeName,
605 description: child.sContent, 622 description: child.sContent,
606 - className: 'customNotification', 623 + className: "customNotification",
607 // icon: <SmileOutlined style={{ color: '#108ee9' }} />, 624 // icon: <SmileOutlined style={{ color: '#108ee9' }} />,
608 style: { 625 style: {
609 width: 300, 626 width: 300,
610 height: 120, 627 height: 120,
611 }, 628 },
612 - onClick: () => (utils.isNotEmptyObject(pane) ? dispatch({ type: 'app/addPane', payload: { pane } }) : null), 629 + onClick: () => (utils.isNotEmptyObject(pane) ? dispatch({ type: "app/addPane", payload: { pane } }) : null),
613 }); 630 });
614 }); 631 });
615 } 632 }
616 - commonFunc.sendWebSocketMessage(ws, 'noAction', 'usertodo', null, userinfo.sId, userinfo.sUserName, userinfo.sId, userinfo.sId); 633 + commonFunc.sendWebSocketMessage(ws, "noAction", "usertodo", null, userinfo.sId, userinfo.sUserName, userinfo.sId, userinfo.sId);
617 } 634 }
618 - dispatch({ type: 'app/saveMsgCount', payload: { msgCount: msgStr } }); 635 + dispatch({ type: "app/saveMsgCount", payload: { msgCount: msgStr } });
619 } else { 636 } else {
620 - dispatch({ type: 'app/saveMsgCount', payload: { msgCount: msgData.msg } }); 637 + dispatch({ type: "app/saveMsgCount", payload: { msgCount: msgData.msg } });
621 } 638 }
622 - } else if (rtmsg.action === 'loginOut') {  
623 - if (location.pathname.indexOf('/indexOee') > -1) {  
624 - dispatch({ type: 'app/throwErrorOee', payload: { code: -2, msg: rtmsg.msg } });  
625 - } else if (location.pathname.indexOf('/indexMobile') > -1) {  
626 - dispatch({ type: 'app/throwErrorMobile', payload: { code: -2, msg: rtmsg.msg } });  
627 - } else if (location.pathname.indexOf('/indexCssMobile') > -1) {  
628 - dispatch({ type: 'app/throwErrorMobile', payload: { code: -2, msg: rtmsg.msg } });  
629 - } else if (location.pathname.indexOf('/indexSrmMobile') > -1) {  
630 - dispatch({ type: 'app/throwErrorMobile', payload: { code: -2, msg: rtmsg.msg } }); 639 + } else if (rtmsg.action === "loginOut") {
  640 + if (location.pathname.indexOf("/indexOee") > -1) {
  641 + dispatch({ type: "app/throwErrorOee", payload: { code: -2, msg: rtmsg.msg } });
  642 + } else if (location.pathname.indexOf("/indexMobile") > -1) {
  643 + dispatch({ type: "app/throwErrorMobile", payload: { code: -2, msg: rtmsg.msg } });
  644 + } else if (location.pathname.indexOf("/indexCssMobile") > -1) {
  645 + dispatch({ type: "app/throwErrorMobile", payload: { code: -2, msg: rtmsg.msg } });
  646 + } else if (location.pathname.indexOf("/indexSrmMobile") > -1) {
  647 + dispatch({ type: "app/throwErrorMobile", payload: { code: -2, msg: rtmsg.msg } });
631 } else { 648 } else {
632 - dispatch({ type: 'app/throwError', payload: { code: -2, msg: rtmsg.msg } }); 649 + dispatch({ type: "app/throwError", payload: { code: -2, msg: rtmsg.msg } });
633 } 650 }
634 - } else if (rtmsg.action === 'kpimodle') { // 主页数据 651 + } else if (rtmsg.action === "kpimodle") {
  652 + // 主页数据
635 const msgData = JSON.parse(msg.data); 653 const msgData = JSON.parse(msg.data);
636 - dispatch({ type: 'app/saveKpiData', payload: { kpiData: msgData.msg } });  
637 - } else if (rtmsg.action === 'workMsg') { // 工单系统消息 654 + dispatch({ type: "app/saveKpiData", payload: { kpiData: msgData.msg } });
  655 + } else if (rtmsg.action === "workMsg") {
  656 + // 工单系统消息
638 const msgData = JSON.parse(msg.data); 657 const msgData = JSON.parse(msg.data);
639 - dispatch({ type: 'app/saveWorkMsg', payload: { workMsg: msgData.msg } }); 658 + dispatch({ type: "app/saveWorkMsg", payload: { workMsg: msgData.msg } });
640 } 659 }
641 }; 660 };
642 - ws.onmessage = (msg) => { 661 + ws.onmessage = msg => {
643 reset(ws, config); 662 reset(ws, config);
644 ws.homeAction(msg); 663 ws.homeAction(msg);
645 }; 664 };
646 - ws.onclose = (e) => { 665 + ws.onclose = e => {
647 /* 当客户端收到服务器端发送关闭请求,触发onclose事件 */ 666 /* 当客户端收到服务器端发送关闭请求,触发onclose事件 */
648 - console.log('webscoket关闭!!', e); 667 + console.log("webscoket关闭!!", e);
649 }; 668 };
650 - ws.onerror = (e) => { 669 + ws.onerror = e => {
651 /* 如果出现连接、处理、接收、发送数据异常 触发onerror */ 670 /* 如果出现连接、处理、接收、发送数据异常 触发onerror */
652 - console.log('webscoket异常!!', e); 671 + console.log("webscoket异常!!", e);
653 }; 672 };
654 - yield put({ type: 'saveWebSocket', payload: { webSocket: ws } }); 673 + yield put({ type: "saveWebSocket", payload: { webSocket: ws } });
655 }, 674 },
656 }, 675 },
657 subscriptions: {}, 676 subscriptions: {},
src/models/loginMobile.js 0 → 100644
  1 +/* eslint-disable no-param-reassign,no-undef */
  2 +import { history } from 'umi';
  3 +
  4 +export default {
  5 + namespace: 'loginMobile',
  6 + state: {
  7 + loginLoading: false,
  8 + },
  9 + reducers: {
  10 + showLoginLoading(state) {
  11 + return { ...state, loginLoading: true };
  12 + },
  13 + hideLoginLoading(state) {
  14 + return { ...state, loginLoading: false };
  15 + },
  16 + },
  17 + effects: {
  18 + *login({ payload }, { put }) {
  19 + const {
  20 + token, userinfo, commonConst, systemData, decimals, dateFormat, dispatch,
  21 + } = payload;
  22 + const reStart = false;
  23 + yield put({ type: 'app/saveToken', payload: token });
  24 + yield put({ type: 'app/saveCommonConst', payload: commonConst });
  25 + yield put({ type: 'app/saveUserinfo', payload: userinfo });
  26 + yield put({ type: 'app/createWebSocket', payload: { reStart, dispatch } });
  27 + yield put({ type: 'app/saveSystemData', payload: systemData });
  28 + yield put({ type: 'app/saveDecimals', payload: decimals });
  29 + yield put({ type: 'app/saveDateFormat', payload: dateFormat });
  30 + history.push('/indexMobile');
  31 + },
  32 + },
  33 + subscriptions: {
  34 + },
  35 +};
src/routes/mobile/IndexMobile.js
@@ -46,17 +46,19 @@ class IndexMobile extends React.Component { @@ -46,17 +46,19 @@ class IndexMobile extends React.Component {
46 }; 46 };
47 } 47 }
48 componentWillMount() { 48 componentWillMount() {
49 - this.props.dispatch(history.push("/indexMobile")); // 刷新时更新路由,避免底部按钮和返回按钮错乱显示  
50 - if (this.props.routing && this.props.routing) {  
51 - const { state } = this.props.routing;  
52 - if (state) {  
53 - const { sId } = state;  
54 - if (sId === "myself") {  
55 - this.setState({ selectedTab: "myself" });  
56 - // this.renderContent('contacts');  
57 - }  
58 - }  
59 - } 49 + console.log(this.props,'indexMobile');
  50 +
  51 + // this.props.dispatch(history.push("/indexMobile")); // 刷新时更新路由,避免底部按钮和返回按钮错乱显示
  52 + // if (this.props.routing && this.props.routing) {
  53 + // const { state } = this.props.routing;
  54 + // if (state) {
  55 + // const { sId } = state;
  56 + // if (sId === "myself") {
  57 + // this.setState({ selectedTab: "myself" });
  58 + // // this.renderContent('contacts');
  59 + // }
  60 + // }
  61 + // }
60 62
61 // AppUtil.addDrag(); 63 // AppUtil.addDrag();
62 } 64 }
src/routes/mobile/commobileList/commobileList.js
@@ -12,11 +12,11 @@ function commobileList({ @@ -12,11 +12,11 @@ function commobileList({
12 dispatch, app, content, location, sModelsId, sModelsType, 12 dispatch, app, content, location, sModelsId, sModelsType,
13 }) { 13 }) {
14 /* 只有state与sModelsId同时为空时 返回空白页,设备是固定模块id */ 14 /* 只有state与sModelsId同时为空时 返回空白页,设备是固定模块id */
15 - if (location.state === null && commonUtils.isEmptyObject(sModelsId)) { 15 + if (location && location.state === null && commonUtils.isEmptyObject(sModelsId)) {
16 return (<div />); 16 return (<div />);
17 } 17 }
18 let param = {}; 18 let param = {};
19 - if (location.pathname !== '/indexMobile') { 19 + if (location && location.pathname !== '/indexMobile') {
20 if (location.state.sParam) { 20 if (location.state.sParam) {
21 param = commonUtils.convertStrToObj(location.state.sParam); 21 param = commonUtils.convertStrToObj(location.state.sParam);
22 } else { 22 } else {
src/routes/mobile/index.js 0 → 100644
  1 +import React from 'react';
  2 +import { connect } from 'umi';
  3 +
  4 +function LoginMobiles({
  5 + dispatch, app, content, loginMobile,
  6 +}) {
  7 + const LoginProps = {
  8 + app,
  9 + content,
  10 + onLogin: userlogin,
  11 + dispatch,
  12 + loginMobile,
  13 + };
  14 +
  15 + function userlogin(param) {
  16 + dispatch({
  17 + type: 'login/login',
  18 + payload: { ...param, dispatch },
  19 + });
  20 + }
  21 +
  22 + return (
  23 + <div>
  24 + 4555455
  25 + </div>
  26 + );
  27 +}
  28 +
  29 +export default connect(({ app, content }) => ({ app, content }))(LoginMobiles);