Commit 7b1d4f4b2546acdcad8a21438ef91567116b3c11

Authored by 陈鑫涛
1 parent 69de021b

移动端

.umirc.ts
... ... @@ -22,6 +22,7 @@ export default defineConfig({
22 22 path: "/loginMobile",
23 23 component: "@/routes/mobile/login/LoginMobile",
24 24 },
  25 +
25 26 {
26 27 path: '/indexMobile',
27 28 component:'@/routes/mobile/IndexMobile',
... ...
src/components/Common/Typesetting/typesetting.js
... ... @@ -486,6 +486,8 @@ const Typesetting = props => {
486 486 const propsDataWidth = Number(propsData.props.style.width.slice(0, -2));
487 487 const propsDataHeight = Number(propsData.props.style.height.slice(0, -2));
488 488 const propsDataTop = Number(propsData.props.style.top.slice(0, -2));
  489 + console.log(innerDivs,'innerDivs');
  490 +
489 491 const newMaterialLength = propsDataLeft + innerWidthCombined; // 原纸长
490 492 const newMaterialWidth = propsDataTop + propsDataHeight - dSBLB;
491 493 // 计算开数
... ...
src/mobile/common/MessageMobile.js
1 1 import React from 'react';
2 2 // eslint-disable-next-line no-unused-vars
3 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 5 // import ExamineMobile from './ExamineMobile';
6 6 import commonConfig from '../../utils/config';
7 7 import * as commonUtils from '../../utils/utils';
... ... @@ -10,7 +10,7 @@ import CommobileListEvent from './CommobileListEvent';
10 10 import styles from '../../routes/mobile/IndexMobile.less';
11 11 import NewsMobile from './NewsMobile';
12 12 // eslint-disable-next-line no-unused-vars
13   -import ExamineMobile from './ExamineMobile';
  13 +// import ExamineMobile from './ExamineMobile';
14 14 // import CommobileBill from './CommobileBill';
15 15  
16 16  
... ...
src/mobile/login/LoginMobile.js
1 1 import React from 'react';
2 2 import { createForm } from 'rc-form';
3 3 import { InputItem, Button, WhiteSpace, Toast, Modal, Picker, List } from 'antd-mobile-v2';
  4 +import { history } from 'umi';
4 5 import 'antd-mobile-v2/dist/antd-mobile.css';
5 6 import styles from './LoginMobile.less';
6 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 9 const { confirm } = Modal;
10 10  
11 11 export default {
12   - namespace: 'app',
  12 + namespace: "app",
13 13 state: {
14 14 token: JSON.parse(localStorage.getItem(`${config.prefix}token`)) || {},
15 15 rxtx: utils.convertStrToObj(localStorage.getItem(`${config.prefix}rxtx`)), // 获取串口配置
16 16 userinfo: JSON.parse(localStorage.getItem(`${config.prefix}userinfo`)) || {},
17 17 commonConst: JSON.parse(localStorage.getItem(`${config.prefix}commonConst`)) || [],
18 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 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 29 ppopupPane: {},
26 30 secondppopupPane: {},
27 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 41 webSocket: null,
34 42 dataCode: null,
35   - sMachineId: localStorage.getItem(`${config.prefix}sMachineId`) || '',
  43 + sMachineId: localStorage.getItem(`${config.prefix}sMachineId`) || "",
36 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 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 53 footer: utils.isJSON(localStorage.getItem(`${config.prefix}footer`)) ? JSON.parse(localStorage.getItem(`${config.prefix}footer`)) : [],
46 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 59 reducers: {
50 60 saveToken(state, { payload: token }) {
51 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 77 localStorage.setItem(`${config.prefix}token`, JSON.stringify(token));
58 78 localStorage.setItem(`${config.prefix}currentPane`, JSON.stringify(currentPane));
59 79 localStorage.setItem(`${config.prefix}panes`, JSON.stringify(panes));
... ... @@ -184,7 +204,7 @@ export default {
184 204 *changeDiffMap({ payload }, { put }) {
185 205 // payload = { sTabId: '', changed: boolean }
186 206 yield put({
187   - type: 'saveDiffMap',
  207 + type: "saveDiffMap",
188 208 payload,
189 209 });
190 210 },
... ... @@ -192,12 +212,12 @@ export default {
192 212 *changePaneData({ payload }, { put, select }) {
193 213 /* 待用数据赋值 */
194 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 221 } = payload; /* 参数接收 */
202 222 /* 过滤出需要change的pane */
203 223 const panes = yield select(state => state.app.panes);
... ... @@ -213,7 +233,7 @@ export default {
213 233 pane.isRenderPart = isRenderPart;
214 234 /* 保存页签 */
215 235 yield put({
216   - type: 'savePanes',
  236 + type: "savePanes",
217 237 payload: {
218 238 panes,
219 239 },
... ... @@ -229,21 +249,21 @@ export default {
229 249 /* 判断页签存储个数是否超过容量 */
230 250 if (utils.isNotEmptyArr(panes) && panes.length === config.maxTabSize) {
231 251 try {
232   - throw new Error(commonFunc.showMessage(app.commonConst, 'TabsNumOverLimit'));/* Tab数量已超过限制 */
  252 + throw new Error(commonFunc.showMessage(app.commonConst, "TabsNumOverLimit")); /* Tab数量已超过限制 */
233 253 } catch (e) {
234   - console.log('error', e.message);
  254 + console.log("error", e.message);
235 255 }
236 256 }
237 257 /* 获取需要新增的页签 */
238 258 const { pane } = payload;
239   - pane.parentPaneKey = currentPane.key;/* 增加来源页签key */
  259 + pane.parentPaneKey = currentPane.key; /* 增加来源页签key */
240 260 /* 判断是否添加页签的条件 */
241 261 const index = panes.findIndex(temp => temp.key === pane.key);
242 262 /* 满足添加条件就添加页签 */
243 263 if (index < 0) {
244 264 panes.push(pane);
245 265 yield put({
246   - type: 'savePanesAndCurrentPane',
  266 + type: "savePanesAndCurrentPane",
247 267 payload: {
248 268 panes,
249 269 currentPane: pane,
... ... @@ -257,101 +277,98 @@ export default {
257 277 const app = yield select(state => state.app);
258 278 if (panes.length === config.maxTabSize) {
259 279 try {
260   - throw new Error(commonFunc.showMessage(app.commonConst, 'TabsNumOverLimit'));/* Tab数量已超过限制 */
  280 + throw new Error(commonFunc.showMessage(app.commonConst, "TabsNumOverLimit")); /* Tab数量已超过限制 */
261 281 } catch (e) {
262   - console.log('error', e.message);
  282 + console.log("error", e.message);
263 283 }
264 284 }
265 285 const { pane } = payload;
266   - yield put({ type: 'saveCurrentPane', payload: { currentPane: pane } });
  286 + yield put({ type: "saveCurrentPane", payload: { currentPane: pane } });
267 287 const tempPanes = panes.filter(temp => temp.key === pane.key);
268 288 if (tempPanes.length === 0) {
269 289 panes.push(pane);
270 290 }
271   - yield put({ type: 'savePanes', payload: { panes } });
  291 + yield put({ type: "savePanes", payload: { panes } });
272 292 },
273 293 *addppopupPane({ payload }, { put }) {
274 294 const { pane } = payload;
275   - yield put({ type: 'saveppopupPane', payload: { ppopupPane: pane } });
  295 + yield put({ type: "saveppopupPane", payload: { ppopupPane: pane } });
276 296 },
277 297 *changePpopupPane({ payload }, { put, select }) {
278 298 const ppopupPane = yield select(state => state.app.ppopupPane);
279 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 302 *removeModalPane({ payload }, { put }) {
283 303 const panes = payload.changePanes;
284   - yield put({ type: 'saveppopupPane', payload: { panes } });
  304 + yield put({ type: "saveppopupPane", payload: { panes } });
285 305 },
286 306 *addSecondPpopupPane({ payload }, { put }) {
287 307 const { pane } = payload;
288   - yield put({ type: 'saveSecondPpopupPane', payload: { secondppopupPane: pane } });
  308 + yield put({ type: "saveSecondPpopupPane", payload: { secondppopupPane: pane } });
289 309 },
290 310 *changeSecondPpopupPane({ payload }, { put, select }) {
291 311 const secondppopupPane = yield select(state => state.app.secondppopupPane);
292 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 315 *removeSecondModalPane({ payload }, { put }) {
296 316 const panes = payload.changePanes;
297   - yield put({ type: 'saveSecondPpopupPane', payload: { panes } });
  317 + yield put({ type: "saveSecondPpopupPane", payload: { panes } });
298 318 },
299 319 *removePane({ payload }, { put }) {
300 320 const panes = payload.changePanes;
301 321 const { currentPane } = payload;
302   - yield put({ type: 'savePanes', payload: { panes } });
  322 + yield put({ type: "savePanes", payload: { panes } });
303 323 if (panes.length > 0) {
304   - yield put({ type: 'saveCurrentPane', payload: { currentPane } });
  324 + yield put({ type: "saveCurrentPane", payload: { currentPane } });
305 325 }
306 326 },
307 327 *saveCurrentPane({ payload }, { put }) {
308 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 331 // yield put(history.push(routeLine));
312   - history.push(routeLine)
  332 + history.push(routeLine);
313 333 },
314 334 *throwError({ payload }, { put, select }) {
315 335 const { code, msg, fn } = payload;
316   - const ERROR_MSG_DURATION = 5;/* 3秒 */
  336 + const ERROR_MSG_DURATION = 5; /* 3秒 */
317 337 if (code === -2) {
318 338 const webSocket = yield select(state => state.app.webSocket);
319 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 344 } else {
325   - history.push('/login');
  345 + history.push("/login");
326 346 }
327 347 message.destroy();
328 348 message.error(msg, ERROR_MSG_DURATION);
329 349 } else {
330 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 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 356 onOk() {
338 357 fn();
339 358 },
340   - onCancel() {
341   - },
342   - okText: '确认',
343   - cancelText: '取消',
  359 + onCancel() {},
  360 + okText: "确认",
  361 + cancelText: "取消",
344 362 });
345 363 }
346 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 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 373 return;
357 374 }
... ... @@ -360,13 +377,13 @@ export default {
360 377 },
361 378 *throwErrorMobile({ payload }, { put, select }) {
362 379 const { code, msg } = payload;
363   - const ERROR_MSG_DURATION = 5;/* 3 秒 */
  380 + const ERROR_MSG_DURATION = 5; /* 3 秒 */
364 381 if (code === -2) {
365 382 const webSocket = yield select(state => state.app.webSocket);
366 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 387 message.destroy();
371 388 message.error(msg, ERROR_MSG_DURATION);
372 389 } else {
... ... @@ -376,13 +393,13 @@ export default {
376 393 },
377 394 *throwErrorOee({ payload }, { put, select }) {
378 395 const { code, msg } = payload;
379   - const ERROR_MSG_DURATION = 5;/* 3 秒 */
  396 + const ERROR_MSG_DURATION = 5; /* 3 秒 */
380 397 if (code === -2) {
381 398 const webSocket = yield select(state => state.app.webSocket);
382 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 403 message.destroy();
387 404 message.error(msg, ERROR_MSG_DURATION);
388 405 } else {
... ... @@ -396,23 +413,23 @@ export default {
396 413 const webSocket = yield select(state => state.app.webSocket);
397 414 const { data } = yield call(services.getService, token, url);
398 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 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 435 *editUser({ payload }, { call, put, select }) {
... ... @@ -423,36 +440,36 @@ export default {
423 440 message.success(data.msg);
424 441 const userinfo = yield select(state => state.app.userinfo);
425 442 userinfo.sUserName = value.sUserName;
426   - yield put({ type: 'saveUserinfo', payload: userinfo });
  443 + yield put({ type: "saveUserinfo", payload: userinfo });
427 444 } else {
428   - yield put({ type: 'throwError', payload: data });
  445 + yield put({ type: "throwError", payload: data });
429 446 }
430 447 },
431 448 *editPwd({ payload }, { call, put, select }) {
432 449 const { url, value, editPwdType } = payload;
433 450 const token = yield select(state => state.app.token);
434 451 const { data } = yield call(services.postValueService, token, value, url);
435   - if (editPwdType === 'mobile') {
  452 + if (editPwdType === "mobile") {
436 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 456 } else {
440   - // Toast.fail(data.msg, 1);
  457 + Toast.fail(data.msg, 1);
441 458 // yield put({ type: 'throwError', payload: data });
442 459 }
443   - } else if (editPwdType === 'window') {
  460 + } else if (editPwdType === "window") {
444 461 if (data.code === 1) {
445 462 message.success(data.msg);
446   - history.push('/login');
  463 + history.push("/login");
447 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 468 if (data.code === 1) {
452 469 message.success(data.msg);
453   - history.push('/loginOee');
  470 + history.push("/loginOee");
454 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 479 const { data } = yield call(services.postValueService, token, value, url);
463 480 if (data.code === 1) {
464 481 message.success(data.msg);
465   - history.push('/login');
  482 + history.push("/login");
466 483 } else {
467   - yield put({ type: 'throwError', payload: data });
  484 + yield put({ type: "throwError", payload: data });
468 485 }
469 486 },
470 487 *getAddParameter({ payload }, { call, put, select }) {
... ... @@ -473,12 +490,12 @@ export default {
473 490 const { data } = yield call(services.postValueService, token, value, url);
474 491 if (data.code === 1) {
475 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 494 const comParameter = yield select(state => state.app.comParameter);
478 495 comParameter.push(newData);
479   - yield put({ type: 'saveComParameter', payload: { comParameter } });
  496 + yield put({ type: "saveComParameter", payload: { comParameter } });
480 497 } else {
481   - yield put({ type: 'throwError', payload: data });
  498 + yield put({ type: "throwError", payload: data });
482 499 }
483 500 },
484 501 *getDelParameter({ payload }, { call, put, select }) {
... ... @@ -488,17 +505,17 @@ export default {
488 505 if (data.code === 1) {
489 506 const delData = data.dataset.rows[0];
490 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 509 } else {
493 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 513 const comParameter = yield select(state => state.app.comParameter);
497 514 const index = comParameter.findIndex(item => item.sFormId === delData.sFormId);
498 515 comParameter.splice(index, 1);
499   - yield put({ type: 'saveComParameter', payload: { comParameter } });
  516 + yield put({ type: "saveComParameter", payload: { comParameter } });
500 517 } else {
501   - yield put({ type: 'throwError', payload: data });
  518 + yield put({ type: "throwError", payload: data });
502 519 }
503 520 },
504 521 *getComParameter({ payload }, { call, put, select }) {
... ... @@ -507,9 +524,9 @@ export default {
507 524 const { data } = yield call(services.getService, token, url);
508 525 if (data.code === 1) {
509 526 const comParameter = data.dataset.rows;
510   - yield put({ type: 'saveComParameter', payload: { comParameter } });
  527 + yield put({ type: "saveComParameter", payload: { comParameter } });
511 528 } else {
512   - yield put({ type: 'throwError', payload: data });
  529 + yield put({ type: "throwError", payload: data });
513 530 }
514 531 },
515 532 *getModelCenter({ payload }, { call, put, select }) {
... ... @@ -519,32 +536,32 @@ export default {
519 536 const webSocket = yield select(state => state.app.webSocket);
520 537 let dataCode = 0;
521 538 const { data } = yield call(services.postValueService, token, value, url);
522   - console.log('=====data', data);
  539 + console.log("=====data", data);
523 540 if (utils.isEmpty(webSocket)) {
524 541 const reStart = true;
525   - yield put({ type: 'createWebSocket', payload: { reStart, dispatch } });
  542 + yield put({ type: "createWebSocket", payload: { reStart, dispatch } });
526 543 }
527 544 if (data.code === 1) {
528 545 const modelCenter = data.dataset.rows[0];
529   - if (url.indexOf('getModelCenterCalculation') > -1) {
  546 + if (url.indexOf("getModelCenterCalculation") > -1) {
530 547 dataCode = 1;
531 548 }
532   - yield put({ type: 'saveModelCenter', payload: { modelCenter, dataCode } });
  549 + yield put({ type: "saveModelCenter", payload: { modelCenter, dataCode } });
533 550 } else {
534   - yield put({ type: 'throwError', payload: data });
  551 + yield put({ type: "throwError", payload: data });
535 552 }
536 553 } catch (error) {
537   - console.log('=====error', error);
  554 + console.log("=====error", error);
538 555 }
539 556 },
540 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 561 *backPane({ payload }, { put }) {
545 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 567 *createWebSocket({ payload }, { put, select }) {
... ... @@ -571,19 +588,19 @@ export default {
571 588 };
572 589 const start = (ws, config1) => {
573 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 592 ws.send(JSON.stringify(message));
576 593 }, config1.timeoutServer);
577 594 };
578 595 const ws = new WebSocket(url);
579 596 ws.onopen = function (e) {
580   - console.log('连接上 webscoket 服务端了', e);
  597 + console.log("连接上 webscoket 服务端了", e);
581 598 start(ws, config);
582 599 };
583 600 // 全局通用的自定义onmessage的方法
584   - ws.homeAction = (msg) => {
  601 + ws.homeAction = msg => {
585 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 604 const msgData = JSON.parse(msg.data);
588 605 const msgStr = JSON.stringify(msgData.msg);
589 606 const msgObj = utils.isJSON(msgStr) ? JSON.parse(msgStr) : {};
... ... @@ -591,8 +608,8 @@ export default {
591 608 const msgHeadData = utils.isNotEmptyObject(msgObj.data) ? msgObj.data : [];
592 609 if (utils.isNotEmptyObject(msgHeadData)) {
593 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 613 // const sFormId = utils.isEmptyObject(child.sFormId) ? '15669750700007338351055957774000' : child.sFormId;
597 614 // eslint-disable-next-line no-unused-vars
598 615 // const pane = {
... ... @@ -603,55 +620,57 @@ export default {
603 620 notification.info({
604 621 message: child.sTypeName,
605 622 description: child.sContent,
606   - className: 'customNotification',
  623 + className: "customNotification",
607 624 // icon: <SmileOutlined style={{ color: '#108ee9' }} />,
608 625 style: {
609 626 width: 300,
610 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 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 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 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 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 662 reset(ws, config);
644 663 ws.homeAction(msg);
645 664 };
646   - ws.onclose = (e) => {
  665 + ws.onclose = e => {
647 666 /* 当客户端收到服务器端发送关闭请求,触发onclose事件 */
648   - console.log('webscoket关闭!!', e);
  667 + console.log("webscoket关闭!!", e);
649 668 };
650   - ws.onerror = (e) => {
  669 + ws.onerror = e => {
651 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 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 46 };
47 47 }
48 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 63 // AppUtil.addDrag();
62 64 }
... ...
src/routes/mobile/commobileList/commobileList.js
... ... @@ -12,11 +12,11 @@ function commobileList({
12 12 dispatch, app, content, location, sModelsId, sModelsType,
13 13 }) {
14 14 /* 只有state与sModelsId同时为空时 返回空白页,设备是固定模块id */
15   - if (location.state === null && commonUtils.isEmptyObject(sModelsId)) {
  15 + if (location && location.state === null && commonUtils.isEmptyObject(sModelsId)) {
16 16 return (<div />);
17 17 }
18 18 let param = {};
19   - if (location.pathname !== '/indexMobile') {
  19 + if (location && location.pathname !== '/indexMobile') {
20 20 if (location.state.sParam) {
21 21 param = commonUtils.convertStrToObj(location.state.sParam);
22 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);
... ...