Browse Source

update.gitignore

zhaojijng 2 years ago
parent
commit
f7901e6815
100 changed files with 0 additions and 4251 deletions
  1. 0 9
      src/access.ts
  2. 0 202
      src/app.tsx
  3. 0 88
      src/assets/css/antd-reset.less
  4. 0 27
      src/assets/css/antd-tenants.less
  5. 0 174
      src/assets/css/map.less
  6. BIN
      src/assets/fonts/Montserrat-Regular.woff2
  7. 0 165
      src/assets/icons/iconfont.css
  8. 0 275
      src/assets/icons/iconfont.json
  9. BIN
      src/assets/icons/iconfont.ttf
  10. BIN
      src/assets/icons/iconfont.woff
  11. BIN
      src/assets/icons/iconfont.woff2
  12. BIN
      src/assets/images/bg_disable.png
  13. 0 68
      src/assets/images/empty-apply.svg
  14. 0 52
      src/assets/images/empty.svg
  15. BIN
      src/assets/images/logo.png
  16. 0 11
      src/assets/images/message-error.svg
  17. 0 11
      src/assets/images/message-info.svg
  18. 0 10
      src/assets/images/message-success.svg
  19. 0 3
      src/assets/images/page-enviroment/air.svg
  20. 0 8
      src/assets/images/page-enviroment/airMapTop.svg
  21. 0 3
      src/assets/images/page-enviroment/all.svg
  22. 0 3
      src/assets/images/page-enviroment/close.svg
  23. 0 4
      src/assets/images/page-enviroment/co2.svg
  24. BIN
      src/assets/images/page-enviroment/co2MapTop.png
  25. 0 3
      src/assets/images/page-enviroment/curtain.svg
  26. 0 3
      src/assets/images/page-enviroment/humidification.svg
  27. 0 9
      src/assets/images/page-enviroment/jiaquan.svg
  28. 0 3
      src/assets/images/page-enviroment/lamp.svg
  29. 0 8
      src/assets/images/page-enviroment/lampMapTop.svg
  30. 0 9
      src/assets/images/page-enviroment/office.svg
  31. 0 8
      src/assets/images/page-enviroment/pm25.svg
  32. BIN
      src/assets/images/page-enviroment/rule-co2.png
  33. BIN
      src/assets/images/page-enviroment/rule-co21.png
  34. BIN
      src/assets/images/page-enviroment/rule-hcho.png
  35. BIN
      src/assets/images/page-enviroment/rule-pm25.png
  36. BIN
      src/assets/images/page-enviroment/temperMapTop.png
  37. 0 3
      src/assets/images/page-enviroment/temperature.svg
  38. 0 5
      src/assets/images/page-enviroment/tvoc.svg
  39. 0 4
      src/assets/images/page-enviroment/water.svg
  40. 0 3
      src/assets/images/page-enviroment/wet.svg
  41. BIN
      src/assets/images/page-equipment/airClose.png
  42. BIN
      src/assets/images/page-equipment/airOpen.png
  43. 0 3
      src/assets/images/page-equipment/arrow-down.svg
  44. 0 3
      src/assets/images/page-equipment/arrow-up.svg
  45. 0 3
      src/assets/images/page-equipment/curtain-close-icon-row.svg
  46. 0 3
      src/assets/images/page-equipment/curtain-open-icon-row.svg
  47. BIN
      src/assets/images/page-equipment/curtain-open-row.png
  48. 0 3
      src/assets/images/page-equipment/expend-down.svg
  49. 0 3
      src/assets/images/page-equipment/expend-up.svg
  50. BIN
      src/assets/images/page-equipment/lamp-close.png
  51. BIN
      src/assets/images/page-equipment/lamp-open.png
  52. 0 3
      src/assets/images/page-equipment/temp-down.svg
  53. BIN
      src/assets/images/page-equipment/temp-keep.png
  54. 0 19
      src/assets/images/page-equipment/temp-keep.svg
  55. 0 3
      src/assets/images/page-equipment/temp-up.svg
  56. 0 3
      src/assets/images/page-equipment/wind-down.svg
  57. 0 3
      src/assets/images/page-equipment/wind-up.svg
  58. 0 3
      src/config/api.js
  59. 0 57
      src/config/image.js
  60. 0 19
      src/config/user.ts
  61. 0 45
      src/e2e/baseLayout.e2e.spec.ts
  62. 0 91
      src/global.tsx
  63. 0 20
      src/hooks/useMenuList.ts
  64. 0 139
      src/layouts/index.jsx
  65. 0 60
      src/layouts/index.less
  66. 0 13
      src/locales/en-US.ts
  67. 0 5
      src/locales/en-US/component.ts
  68. 0 17
      src/locales/en-US/globalHeader.ts
  69. 0 52
      src/locales/en-US/menu.ts
  70. 0 70
      src/locales/en-US/pages.ts
  71. 0 60
      src/locales/en-US/settings.ts
  72. 0 13
      src/locales/zh-CN.ts
  73. 0 5
      src/locales/zh-CN/component.ts
  74. 0 17
      src/locales/zh-CN/globalHeader.ts
  75. 0 56
      src/locales/zh-CN/menu.ts
  76. 0 67
      src/locales/zh-CN/pages.ts
  77. 0 55
      src/locales/zh-CN/settings.ts
  78. 0 22
      src/manifest.json
  79. 0 17
      src/models/controller.ts
  80. 0 30
      src/models/searchInfo.ts
  81. 0 60
      src/models/spaceFunc.ts
  82. 0 117
      src/pages/Environment/components/chartModal/index.jsx
  83. 0 115
      src/pages/Environment/components/chartModal/index.less
  84. 0 126
      src/pages/Environment/components/chartModal/lineChart.jsx
  85. 0 33
      src/pages/Environment/index.less
  86. 0 360
      src/pages/Environment/index.tsx
  87. 0 73
      src/pages/Equipment/checLampStatus.js
  88. 0 172
      src/pages/Equipment/components/deviceModal/airEq/index.jsx
  89. 0 117
      src/pages/Equipment/components/deviceModal/airEq/index.less
  90. 0 12
      src/pages/Equipment/components/deviceModal/anSwitch/index.jsx
  91. 0 35
      src/pages/Equipment/components/deviceModal/anSwitch/index.less
  92. 0 110
      src/pages/Equipment/components/deviceModal/common.less
  93. 0 100
      src/pages/Equipment/components/deviceModal/curtainEq/curtainBtn.jsx
  94. 0 105
      src/pages/Equipment/components/deviceModal/curtainEq/index.jsx
  95. 0 6
      src/pages/Equipment/components/deviceModal/curtainEq/index.less
  96. 0 280
      src/pages/Equipment/components/deviceModal/index.jsx
  97. 0 126
      src/pages/Equipment/components/deviceModal/index.less
  98. 0 145
      src/pages/Equipment/components/deviceModal/lampEq/index.jsx
  99. 0 6
      src/pages/Equipment/components/deviceModal/lampEq/index.less
  100. 0 0
      src/pages/Equipment/components/topNavRight/index.less

+ 0 - 9
src/access.ts

@@ -1,9 +0,0 @@
-/**
- * @see https://umijs.org/zh-CN/plugins/plugin-access
- * */
-export default function access(initialState: { currentUser?: API.CurrentUser | undefined }) {
-  const { currentUser } = initialState || {};
-  return {
-    canAdmin: currentUser && currentUser.access === 'admin',
-  };
-}

+ 0 - 202
src/app.tsx

@@ -1,202 +0,0 @@
-import { PageLoading } from '@ant-design/pro-layout';
-import { history, useModel } from 'umi';
-import { checkToken, reFreshCheckToken } from '@/services/sgservice/environment';
-import { projectId } from '@/config/api.js';
-import UserStorage from '@/config/user';
-const loginPath = '/noAuth';
-
-/** 获取用户信息比较慢的时候会展示一个 loading */
-export const initialStateConfig = {
-  loading: <PageLoading />,
-};
-
-/**
- * @see  https://umijs.org/zh-CN/plugins/plugin-initial-state
- * */
-export async function getInitialState(): Promise<{
-  // settings?: Partial<LayoutSettings>;
-  currentUser?: API.CurrentUser;
-  fetchUser?: () => Promise<API.CurrentUser | undefined>;
-  //loading?: boolean;
-  //fetchUserInfo?: () => Promise<API.CurrentUser | undefined>;
-}> {
-  const { location } = history;
-
-  let access_token: any = location.query.access_token;
-  let refresh_token: any = location.query.refresh_token;
-
-  //如果有值 存起来
-  if (access_token) {
-    localStorage.setItem('access_token', access_token);
-    console.log("localStorage.getItem('access_token')", localStorage.getItem('access_token'));
-  }
-  if (refresh_token) {
-    localStorage.setItem('refresh_token', refresh_token);
-  }
-  console.log('getInitialState');
-  //如果没有  取缓存
-  //   if (!refresh_token) {
-  //     refresh_token = localStorage.getItem('refresh_token');
-  //   }
-
-  const fetchUser = async () => {
-    try {
-      access_token = localStorage.getItem('access_token');
-      //if (!access_token) return; //随后去掉
-      //验证acces_token 获取用户数据
-      const res = await checkToken({ token: access_token });
-
-      var resUser = res.data;
-    } catch (err) {
-      history.push(loginPath);
-    }
-    if (resUser) {
-      //获取用户信息 并储存
-      var userObj = UserStorage.getInstance();
-      userObj.setUser(resUser);
-      return resUser;
-    } else {
-      history.push(loginPath);
-      return undefined;
-    }
-  };
-
-  let currentUser = {};
-  //之江项目 验证token
-  if (projectId == 'Pj3301100002') {
-    currentUser = await fetchUser();
-  } else {
-    let tempUser = {
-      name: '行政测试',
-      phone: '17611228068',
-      id: '9a1ecfbacb6b4f249bf2dd3ec7793ead',
-    };
-    var userObj = UserStorage.getInstance();
-    userObj.setUser(tempUser);
-  }
-
-  const reFreshUser = async () => {
-    refresh_token = localStorage.getItem('refresh_token');
-    //刷新token 续约token
-    const res = await reFreshCheckToken({
-      zjfreshtoken: refresh_token,
-    });
-    if (res.refresh_token) {
-      console.log('refresh_token', res.refresh_token);
-      localStorage.setItem('refresh_token', res.refresh_token);
-      localStorage.setItem('access_token', res.access_token);
-    } else {
-      //如果刷新token失败
-      //history.push(loginPath);
-    }
-    //1分钟后再执行
-    setTimeout(() => {
-      // reFreshUser();
-    }, 60000);
-  };
-
-  //await reFreshUser();
-
-  // || {
-  //   companyId: '245e7060643811eb934c0237aedb39a6',
-  //   createDate: 1642388952000,
-  //   depName: '[["研发算法组","上格云","博锐尚格科技股份有限公司"]]',
-  //   firstUseTime: '2020-10-16 18:37:05',
-  //   id: '2d2440710d4548f3afa55c4e8244538e',
-  //   job: '研发工程师',
-  //   manageUserType: 1,
-  //   name: '赵小静',
-  //   phone: '18801040736',
-  //   projectId: 'Pj1101080259',
-  //   status: 2,
-  //   type: 1,
-  //   updateDate: 1642388952000,
-  // };
-
-  return {
-    currentUser,
-    fetchUser,
-  };
-}
-
-export const request = {
-  requestInterceptors: [
-    (url: any, options: any) => {
-      return {
-        url,
-        options: {
-          ...options,
-          interceptors: true,
-        },
-      };
-    },
-  ],
-  responseInterceptors: [
-    async (response: any) => {
-      return response;
-    },
-  ],
-  errorHandler: (error: any) => {
-    const { response } = error;
-    if (!response) {
-      // message.error('您的网络发生异常,无法连接服务器');
-    }
-    throw error;
-  },
-};
-
-// ProLayout 支持的api https://procomponents.ant.design/components/layout
-// export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => {
-//   return {
-//     rightContentRender: () => <RightContent />,
-//     disableContentMargin: false,
-//     waterMarkProps: {
-//       content: initialState?.currentUser?.name,
-//     },
-//     footerRender: () => <Footer />,
-//     onPageChange: () => {
-//       const { location } = history;
-//       // 如果没有登录,重定向到 login
-//       if (!initialState?.currentUser && location.pathname !== loginPath) {
-//         history.push(loginPath);
-//       }
-//     },
-//     links: isDev
-//       ? [
-//           <Link to="/umi/plugin/openapi" target="_blank">
-//             <LinkOutlined />
-//             <span>OpenAPI 文档</span>
-//           </Link>,
-//           <Link to="/~docs">
-//             <BookOutlined />
-//             <span>业务组件文档</span>
-//           </Link>,
-//         ]
-//       : [],
-//     menuHeaderRender: undefined,
-//     // 自定义 403 页面
-//     // unAccessible: <div>unAccessible</div>,
-//     // 增加一个 loading 的状态
-//     childrenRender: (children, props) => {
-//       // if (initialState?.loading) return <PageLoading />;
-//       return (
-//         <>
-//           {children}
-//           {!props.location?.pathname?.includes('/login') && (
-//             <SettingDrawer
-//               enableDarkTheme
-//               settings={initialState?.settings}
-//               onSettingChange={(settings) => {
-//                 setInitialState((preInitialState) => ({
-//                   ...preInitialState,
-//                   settings,
-//                 }));
-//               }}
-//             />
-//           )}
-//         </>
-//       );
-//     },
-//     ...initialState?.settings,
-//   };
-// };

+ 0 - 88
src/assets/css/antd-reset.less

@@ -1,88 +0,0 @@
-.ten {
-  .ant-modal-confirm-confirm {
-    width: 360px !important;
-    .ant-modal-content {
-      background: #fff;
-      border-radius: 20px;
-    }
-    .ant-modal-confirm-body > .anticon {
-      //display: none;
-    }
-    .ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content {
-      margin: 20px auto;
-      font-size: 16px;
-    }
-    .ant-modal-confirm-btns {
-      float: none;
-      margin-top: 50px;
-      text-align: center;
-    }
-  }
-
-  .ant-select-dropdown {
-    padding: 0;
-    border-radius: 10px;
-  }
-  .ant-select-item {
-    line-height: 34px;
-    border-bottom: 1px solid #f7f7f7;
-    &:first-child {
-      border-radius: 10px 10px 0 0;
-    }
-    &:last-child {
-      border-bottom: none;
-      border-radius: 0 0 10px 10px 0;
-    }
-  }
-  .ant-select-item-option:not(.ant-select-item-option-disabled) {
-    color: #000;
-    &:hover {
-      background: @primary-color;
-    }
-  }
-  .ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
-    background: @primary-color;
-  }
-  .ant-select-arrow {
-    font-size: 16px;
-  }
-  .ant-modal-content {
-    background: transparent;
-    box-shadow: none;
-  }
-  .ant-modal-body {
-    padding: 0;
-    background: transparent;
-    border-radius: 20px;
-  }
-
-  .ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector {
-    height: 50px;
-    &:hover {
-      color: #000;
-    }
-  }
-  .ant-select:not(.ant-select-customize-input) .ant-select-selector {
-    border: 1px solid #c4c4c4;
-  }
-  .ant-select:not(.ant-select-disabled):hover .ant-select-selector {
-    border: 1px solid #9c9c9c;
-  }
-  .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input)
-    .ant-select-selector {
-    border: 1px solid #9c9c9c;
-    box-shadow: none;
-  }
-  .ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after,
-  .ant-select-single.ant-select-lg:not(.ant-select-customize-input)
-    .ant-select-selector
-    .ant-select-selection-item,
-  .ant-select-single.ant-select-lg:not(.ant-select-customize-input)
-    .ant-select-selector
-    .ant-select-selection-placeholder {
-    line-height: 48px;
-  }
-  .ant-select {
-    color: #4f5055;
-  }
-}

+ 0 - 27
src/assets/css/antd-tenants.less

@@ -1,27 +0,0 @@
-@font-variant-base: none;
-@font-feature-settings-base: normal;
-
-//@body-background: #eef1f2;
-@body-background: #f7f8fa;
-
-@primary-color: #f0da21;
-@text-color: #4d5262;
-
-@height-lg: 50px;
-
-// @btn-text-hover-bg: #fff;
-@btn-primary-color: #000;
-@btn-primary-bg: #eef1f2;
-@btn-primary-shadow: 0px 4px 6px rgba(0, 0, 0, 0.07), 0px 0px 1px rgba(0, 0, 0, 0.15);
-@btn-font-size-lg: 14px;
-@btn-padding-horizontal-lg: 30px;
-@btn-border-radius-base: 30px;
-@btn-text-shadow: none;
-@btn-default-hover-bg: rgba(196, 196, 196);
-
-@table-bg: transparent;
-@table-header-bg: transparent;
-@table-padding-vertical: 8px;
-@table-header-cell-split-color: transparent;
-
-@popover-arrow-width: 0px;

+ 0 - 174
src/assets/css/map.less

@@ -1,174 +0,0 @@
-.spinnclass {
-  height: calc(100% - 245px);
-}
-
-:global {
-  .ant-spin-container {
-    height: 100%;
-  }
-}
-
-.mapwrap {
-  position: relative;
-  // height: calc(100% - 285px);
-  height: 100%;
-  overflow: hidden;
-  .mapControl {
-    position: absolute;
-    right: 20px;
-    bottom: 20px;
-    z-index: 1;
-
-    .zoom {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      width: 40px;
-      height: 40px;
-      margin-bottom: 7px;
-      font-size: 25px;
-      background: #fff;
-      border-radius: 4px;
-
-      cursor: pointer;
-    }
-    .zoom:hover {
-      box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 4px 15px rgba(0, 0, 0, 0.05);
-    }
-    .zoom.disable {
-      opacity: 0.4;
-    }
-  }
-}
-.map {
-  position: relative;
-  width: 3000px;
-  height: 1200px;
-  transform-origin: 0% 0%;
-  cursor: pointer;
-  .houseWrap {
-    position: absolute;
-    box-sizing: border-box;
-    padding: 3px;
-  }
-  .house {
-    position: relative;
-    box-sizing: border-box;
-    width: 100%;
-    height: 100%;
-    border: 2px solid #fff;
-    border-radius: 6px;
-    // .noDevice {
-    //   position: absolute;
-    //   top: 0;
-    //   left: 0;
-    //   box-sizing: border-box;
-    //   width: 100%;
-    //   height: 100%;
-    //   padding: 4px;
-    //   white-space: nowrap;
-    //   //   background: rgba(255, 255, 255, 0.8);
-    //   .noText {
-    //     padding: 4px 6px;
-    //     background-color: #ccc;
-    //     border-radius: 5px;
-    //   }
-    // }
-    .allDevice {
-      position: absolute;
-      top: 6px;
-      left: 6px;
-      z-index: 1;
-      display: flex;
-      width: 100%;
-      .icon {
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        width: 22px;
-        height: 22px;
-        margin-right: 3px;
-        color: #ffffff;
-        font-size: 11px;
-        background: transparent;
-        border-radius: 22px;
-      }
-    }
-    .allTime {
-      position: absolute;
-      top: 4px;
-      left: 4px;
-      z-index: 1;
-      display: flex;
-      width: 100%;
-      color: #4d5262;
-      font-size: 10px;
-      text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;
-      .overworkTime {
-        color: #5e8bcf;
-      }
-      .meetTime {
-        color: #00dc23;
-      }
-    }
-    .content {
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-      height: 100%;
-      .name {
-        box-sizing: border-box;
-        width: 100%;
-        padding: 0 3px;
-        color: #000000;
-        font-size: 13px;
-        text-align: center;
-        //text-shadow: 1px 1px 1px #ffffff;
-        text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;
-      }
-    }
-    .contentDiv {
-      display: inline-block;
-      //   padding: 6px;
-      text-align: center;
-    }
-  }
-
-  .notclick {
-    background: url(../images/bg_disable.png) repeat;
-    border-color: #dfe3ed;
-    cursor: default;
-    .contentDiv {
-      background-color: #eceff4;
-    }
-  }
-
-  .searchSel {
-    border-color: rgba(77, 148, 255, 0.8);
-  }
-}
-
-.equipmentMap {
-  .house {
-    cursor: pointer;
-    .showModal {
-      position: absolute;
-      right: 6px;
-      bottom: 7px;
-      z-index: 2;
-      display: flex;
-      display: none;
-      align-items: center;
-      justify-content: center;
-      width: 22px;
-      height: 22px;
-      font-size: 12px;
-      background: #ffffff;
-      border-radius: 22px;
-    }
-    &:hover .showModal {
-      display: flex;
-    }
-  }
-}

BIN
src/assets/fonts/Montserrat-Regular.woff2


+ 0 - 165
src/assets/icons/iconfont.css

@@ -1,165 +0,0 @@
-@font-face {
-  font-family: 'iconfont'; /* Project id 3184967 */
-  src: url('./iconfont.woff2') format('woff2'), url('./iconfont.woff') format('woff'),
-    url('./iconfont.ttf') format('truetype');
-}
-
-.iconfont {
-  font-size: 16px;
-  font-family: 'iconfont' !important;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-manageperson:before {
-  content: '\e62d';
-}
-
-.icon-manageintroduce:before {
-  content: '\e62b';
-}
-
-.icon-managecloth:before {
-  content: '\e62a';
-}
-
-.icon-manageswim:before {
-  content: '\e629';
-}
-
-.icon-managebook:before {
-  content: '\e628';
-}
-
-.icon-manageexperiment:before {
-  content: '\e627';
-}
-
-.icon-managereception:before {
-  content: '\e626';
-}
-
-.icon-manageactivity:before {
-  content: '\e625';
-}
-
-.icon-managecontrol:before {
-  content: '\e624';
-}
-
-.icon-managesport:before {
-  content: '\e623';
-}
-
-.icon-managepublic:before {
-  content: '\e622';
-}
-
-.icon-managedevice:before {
-  content: '\e620';
-}
-
-.icon-managelift:before {
-  content: '\e61f';
-}
-
-.icon-managedining:before {
-  content: '\e61e';
-}
-
-.icon-managewashroom:before {
-  content: '\e61c';
-}
-
-.icon-managereduce:before {
-  content: '\e61b';
-}
-
-.icon-managezoom:before {
-  content: '\e61a';
-}
-
-.icon-manageenvironment:before {
-  content: '\e619';
-}
-
-.icon-manageequipment:before {
-  content: '\e618';
-}
-
-.icon-manageruntime:before {
-  content: '\e617';
-}
-
-.icon-managenotify:before {
-  content: '\e615';
-}
-
-.icon-managework:before {
-  content: '\e614';
-}
-
-.icon-managehover:before {
-  content: '\e613';
-}
-
-.icon-managelight:before {
-  content: '\e611';
-}
-
-.icon-managecurtain:before {
-  content: '\e610';
-}
-
-.icon-manageairConditioner:before {
-  content: '\e60f';
-}
-
-.icon-managewalk:before {
-  content: '\e60e';
-}
-
-.icon-managestair:before {
-  content: '\e60d';
-}
-
-.icon-managerest:before {
-  content: '\e60c';
-}
-
-.icon-manageoffice:before {
-  content: '\e60b';
-}
-
-.icon-managemeeting:before {
-  content: '\e60a';
-}
-
-.icon-manageletter:before {
-  content: '\e609';
-}
-
-.icon-managedocument:before {
-  content: '\e608';
-}
-
-.icon-managewarning:before {
-  content: '\ea51';
-}
-
-.icon-managecloseall:before {
-  content: '\e607';
-}
-
-.icon-managesearch:before {
-  content: '\e606';
-}
-
-.icon-manageclose:before {
-  content: '\e605';
-}
-
-.icon-managebackward:before {
-  content: '\e604';
-}

+ 0 - 275
src/assets/icons/iconfont.json

@@ -1,275 +0,0 @@
-{
-  "id": "3184967",
-  "name": "managecontrol",
-  "font_family": "iconfont",
-  "css_prefix_text": "icon-manage",
-  "description": "行政管理所用图片",
-  "glyphs": [
-    {
-      "icon_id": "29802519",
-      "name": "person",
-      "font_class": "person",
-      "unicode": "e62d",
-      "unicode_decimal": 58925
-    },
-    {
-      "icon_id": "29802295",
-      "name": "introduce",
-      "font_class": "introduce",
-      "unicode": "e62b",
-      "unicode_decimal": 58923
-    },
-    {
-      "icon_id": "28976686",
-      "name": "cloth",
-      "font_class": "cloth",
-      "unicode": "e62a",
-      "unicode_decimal": 58922
-    },
-    {
-      "icon_id": "28976672",
-      "name": "swim",
-      "font_class": "swim",
-      "unicode": "e629",
-      "unicode_decimal": 58921
-    },
-    {
-      "icon_id": "28976650",
-      "name": "book",
-      "font_class": "book",
-      "unicode": "e628",
-      "unicode_decimal": 58920
-    },
-    {
-      "icon_id": "28976637",
-      "name": "experiment",
-      "font_class": "experiment",
-      "unicode": "e627",
-      "unicode_decimal": 58919
-    },
-    {
-      "icon_id": "28976620",
-      "name": "reception",
-      "font_class": "reception",
-      "unicode": "e626",
-      "unicode_decimal": 58918
-    },
-    {
-      "icon_id": "28976599",
-      "name": "activity",
-      "font_class": "activity",
-      "unicode": "e625",
-      "unicode_decimal": 58917
-    },
-    {
-      "icon_id": "28976561",
-      "name": "control",
-      "font_class": "control",
-      "unicode": "e624",
-      "unicode_decimal": 58916
-    },
-    {
-      "icon_id": "28975871",
-      "name": "体育课sport 2",
-      "font_class": "sport",
-      "unicode": "e623",
-      "unicode_decimal": 58915
-    },
-    {
-      "icon_id": "28973376",
-      "name": "公共public",
-      "font_class": "public",
-      "unicode": "e622",
-      "unicode_decimal": 58914
-    },
-    {
-      "icon_id": "28254404",
-      "name": "类型=repair, 线条=400device",
-      "font_class": "device",
-      "unicode": "e620",
-      "unicode_decimal": 58912
-    },
-    {
-      "icon_id": "28254396",
-      "name": "类型=lift, 线条=400elevator",
-      "font_class": "lift",
-      "unicode": "e61f",
-      "unicode_decimal": 58911
-    },
-    {
-      "icon_id": "28254360",
-      "name": "类型=cutlery, 线条=400dining",
-      "font_class": "dining",
-      "unicode": "e61e",
-      "unicode_decimal": 58910
-    },
-    {
-      "icon_id": "28253957",
-      "name": "类型=restroom, 线条=400washroom",
-      "font_class": "washroom",
-      "unicode": "e61c",
-      "unicode_decimal": 58908
-    },
-    {
-      "icon_id": "28037752",
-      "name": "TUI-iconfontreduce",
-      "font_class": "reduce",
-      "unicode": "e61b",
-      "unicode_decimal": 58907
-    },
-    {
-      "icon_id": "28037745",
-      "name": "TUI-iconfontzoom",
-      "font_class": "zoom",
-      "unicode": "e61a",
-      "unicode_decimal": 58906
-    },
-    {
-      "icon_id": "27977233",
-      "name": "TUI-iconfontenviroment",
-      "font_class": "environment",
-      "unicode": "e619",
-      "unicode_decimal": 58905
-    },
-    {
-      "icon_id": "27977222",
-      "name": "TUI-iconfontdevice",
-      "font_class": "equipment",
-      "unicode": "e618",
-      "unicode_decimal": 58904
-    },
-    {
-      "icon_id": "27977163",
-      "name": "TUI-iconfonttime",
-      "font_class": "runtime",
-      "unicode": "e617",
-      "unicode_decimal": 58903
-    },
-    {
-      "icon_id": "27960522",
-      "name": "TUI-iconfontnotify",
-      "font_class": "notify",
-      "unicode": "e615",
-      "unicode_decimal": 58901
-    },
-    {
-      "icon_id": "27790782",
-      "name": "work",
-      "font_class": "work",
-      "unicode": "e614",
-      "unicode_decimal": 58900
-    },
-    {
-      "icon_id": "27710574",
-      "name": "TUI-iconfonthover",
-      "font_class": "hover",
-      "unicode": "e613",
-      "unicode_decimal": 58899
-    },
-    {
-      "icon_id": "27693456",
-      "name": "light",
-      "font_class": "light",
-      "unicode": "e611",
-      "unicode_decimal": 58897
-    },
-    {
-      "icon_id": "27693440",
-      "name": "curtain",
-      "font_class": "curtain",
-      "unicode": "e610",
-      "unicode_decimal": 58896
-    },
-    {
-      "icon_id": "27693407",
-      "name": "air",
-      "font_class": "airConditioner",
-      "unicode": "e60f",
-      "unicode_decimal": 58895
-    },
-    {
-      "icon_id": "27693388",
-      "name": "walk",
-      "font_class": "walk",
-      "unicode": "e60e",
-      "unicode_decimal": 58894
-    },
-    {
-      "icon_id": "27693355",
-      "name": "stair",
-      "font_class": "stair",
-      "unicode": "e60d",
-      "unicode_decimal": 58893
-    },
-    {
-      "icon_id": "27693304",
-      "name": "Iconrest",
-      "font_class": "rest",
-      "unicode": "e60c",
-      "unicode_decimal": 58892
-    },
-    {
-      "icon_id": "27693282",
-      "name": "office",
-      "font_class": "office",
-      "unicode": "e60b",
-      "unicode_decimal": 58891
-    },
-    {
-      "icon_id": "27693270",
-      "name": "Iconmeeting",
-      "font_class": "meeting",
-      "unicode": "e60a",
-      "unicode_decimal": 58890
-    },
-    {
-      "icon_id": "27693217",
-      "name": "letter",
-      "font_class": "letter",
-      "unicode": "e609",
-      "unicode_decimal": 58889
-    },
-    {
-      "icon_id": "27645303",
-      "name": "document",
-      "font_class": "document",
-      "unicode": "e608",
-      "unicode_decimal": 58888
-    },
-    {
-      "icon_id": "27093212",
-      "name": "类型=warning, 线条=400",
-      "font_class": "warning",
-      "unicode": "ea51",
-      "unicode_decimal": 59985
-    },
-    {
-      "icon_id": "27639602",
-      "name": "closeall",
-      "font_class": "closeall",
-      "unicode": "e607",
-      "unicode_decimal": 58887
-    },
-    {
-      "icon_id": "27635623",
-      "name": "search",
-      "font_class": "search",
-      "unicode": "e606",
-      "unicode_decimal": 58886
-    },
-    {
-      "icon_id": "27635605",
-      "name": "close",
-      "font_class": "close",
-      "unicode": "e605",
-      "unicode_decimal": 58885
-    },
-    {
-      "icon_id": "27635439",
-      "name": "backward",
-      "font_class": "backward",
-      "unicode": "e604",
-      "unicode_decimal": 58884
-    }
-  ]
-}

BIN
src/assets/icons/iconfont.ttf


BIN
src/assets/icons/iconfont.woff


BIN
src/assets/icons/iconfont.woff2


BIN
src/assets/images/bg_disable.png


File diff suppressed because it is too large
+ 0 - 68
src/assets/images/empty-apply.svg


File diff suppressed because it is too large
+ 0 - 52
src/assets/images/empty.svg


BIN
src/assets/images/logo.png


+ 0 - 11
src/assets/images/message-error.svg

@@ -1,11 +0,0 @@
-<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
-<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="60" height="60">
-<circle cx="30" cy="30" r="30" fill="#F0DA21"/>
-</mask>
-<g mask="url(#mask0)">
-<circle cx="30" cy="30" r="30" fill="white"/>
-<circle cx="30" cy="30" r="22" fill="#FF4D5E"/>
-<circle cx="30" cy="41" r="3" fill="white"/>
-<path d="M28.0317 17.9997C28.0143 16.9005 28.9006 16 30 16C31.0994 16 31.9857 16.9005 31.9683 17.9997L31.7415 32.2859C31.7264 33.237 30.9511 34 30 34C29.0489 34 28.2736 33.237 28.2585 32.2859L28.0317 17.9997Z" fill="white"/>
-</g>
-</svg>

+ 0 - 11
src/assets/images/message-info.svg

@@ -1,11 +0,0 @@
-<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
-<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="60" height="60">
-<circle cx="30" cy="30" r="30" fill="#F0DA21"/>
-</mask>
-<g mask="url(#mask0)">
-<circle cx="30" cy="30" r="30" fill="white"/>
-<circle cx="30" cy="30" r="22" fill="#F0DA21"/>
-<circle cx="30" cy="23" r="4" fill="white"/>
-<path d="M27 36C27 34.3431 28.3431 33 30 33C31.6569 33 33 34.3431 33 36V57C33 58.6569 31.6569 60 30 60C28.3431 60 27 58.6569 27 57V36Z" fill="white"/>
-</g>
-</svg>

+ 0 - 10
src/assets/images/message-success.svg

@@ -1,10 +0,0 @@
-<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
-<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="60" height="60">
-<circle cx="30" cy="30" r="30" fill="#F0DA21"/>
-</mask>
-<g mask="url(#mask0)">
-<circle cx="30" cy="30" r="30" fill="white"/>
-<circle cx="30" cy="30" r="22" fill="#07C160"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M53.3117 10.4902C54.1455 11.2147 54.2342 12.4779 53.5098 13.3117L30.9216 39.3117C30.5593 39.7287 30.0406 39.9773 29.4886 39.9986C28.9366 40.0198 28.4004 39.8117 28.0071 39.4237L18.5954 30.138C17.8091 29.3623 17.8005 28.096 18.5763 27.3097C19.3521 26.5234 20.6184 26.5148 21.4046 27.2906L29.2995 35.0797L50.4902 10.6883C51.2146 9.85451 52.4778 9.76581 53.3117 10.4902Z" fill="white"/>
-</g>
-</svg>

File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/air.svg


File diff suppressed because it is too large
+ 0 - 8
src/assets/images/page-enviroment/airMapTop.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/all.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/close.svg


File diff suppressed because it is too large
+ 0 - 4
src/assets/images/page-enviroment/co2.svg


BIN
src/assets/images/page-enviroment/co2MapTop.png


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/curtain.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/humidification.svg


File diff suppressed because it is too large
+ 0 - 9
src/assets/images/page-enviroment/jiaquan.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/lamp.svg


File diff suppressed because it is too large
+ 0 - 8
src/assets/images/page-enviroment/lampMapTop.svg


+ 0 - 9
src/assets/images/page-enviroment/office.svg

@@ -1,9 +0,0 @@
-<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M26.4483 18.375H1.35327C0.874938 18.375 0.478271 17.9783 0.478271 17.5C0.478271 17.0217 0.874938 16.625 1.35327 16.625H26.4483C26.9266 16.625 27.3233 17.0217 27.3233 17.5C27.3233 17.9783 26.9266 18.375 26.4483 18.375Z" fill="#140050"/>
-<path d="M24.395 22.4117H3.3833C2.90497 22.4117 2.5083 22.015 2.5083 21.5367C2.5083 21.0583 2.90497 20.6617 3.3833 20.6617H24.395C24.8733 20.6617 25.27 21.0583 25.27 21.5367C25.27 22.015 24.885 22.4117 24.395 22.4117Z" fill="#140050"/>
-<path d="M4.31665 14.875C3.82665 14.875 3.44165 14.4783 3.44165 14V9.74167C3.44165 9.26334 3.83832 8.86667 4.31665 8.86667C4.79498 8.86667 5.19165 9.26334 5.19165 9.74167V14C5.19165 14.4783 4.79498 14.875 4.31665 14.875Z" fill="#140050"/>
-<path d="M7.57153 14.875C7.0932 14.875 6.69653 14.4783 6.69653 14V11.1883C6.69653 10.71 7.0932 10.3133 7.57153 10.3133C8.04987 10.3133 8.44653 10.71 8.44653 11.1883V14C8.44653 14.4783 8.04987 14.875 7.57153 14.875Z" fill="#140050"/>
-<path d="M2.15821 27.7083C2.08821 27.7083 2.02987 27.6967 1.95987 27.685C1.4932 27.58 1.18987 27.1017 1.30654 26.635L3.46487 17.3017C3.56987 16.835 4.0482 16.5317 4.51487 16.6483C4.98153 16.7533 5.28487 17.2317 5.1682 17.6983L3.00987 27.0317C2.91654 27.44 2.55487 27.7083 2.15821 27.7083Z" fill="#140050"/>
-<path d="M25.8532 27.7083C25.4565 27.7083 25.0948 27.44 25.0015 27.0317L22.8432 17.6983C22.7382 17.2317 23.0298 16.7533 23.4965 16.6483C23.9632 16.5317 24.4415 16.835 24.5465 17.3017L26.7048 26.635C26.8098 27.1017 26.5182 27.58 26.0515 27.685C25.9815 27.6967 25.9115 27.7083 25.8532 27.7083Z" fill="#140050"/>
-<path d="M22.6216 14.875H11.8533C11.3749 14.875 10.9783 14.4783 10.9783 14V7C10.9783 6.52167 11.3749 6.125 11.8533 6.125H22.6216C23.0999 6.125 23.4966 6.52167 23.4966 7V14C23.4966 14.4783 23.0999 14.875 22.6216 14.875ZM12.7283 13.125H21.7466V7.875H12.7283V13.125Z" fill="#140050"/>
-</svg>

File diff suppressed because it is too large
+ 0 - 8
src/assets/images/page-enviroment/pm25.svg


BIN
src/assets/images/page-enviroment/rule-co2.png


BIN
src/assets/images/page-enviroment/rule-co21.png


BIN
src/assets/images/page-enviroment/rule-hcho.png


BIN
src/assets/images/page-enviroment/rule-pm25.png


BIN
src/assets/images/page-enviroment/temperMapTop.png


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/temperature.svg


+ 0 - 5
src/assets/images/page-enviroment/tvoc.svg

@@ -1,5 +0,0 @@
-<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M6.66675 2.29175C4.2505 2.29175 2.29175 4.2505 2.29175 6.66675C2.29175 9.08299 4.2505 11.0417 6.66675 11.0417C9.08299 11.0417 11.0417 9.08299 11.0417 6.66675C11.0417 4.2505 9.08299 2.29175 6.66675 2.29175ZM1.04175 6.66675C1.04175 3.56015 3.56015 1.04175 6.66675 1.04175C9.77335 1.04175 12.2917 3.56015 12.2917 6.66675C12.2917 9.77335 9.77335 12.2917 6.66675 12.2917C3.56015 12.2917 1.04175 9.77335 1.04175 6.66675Z" fill="#2D553E"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0001 12.2917C13.5043 12.2917 12.2917 13.5043 12.2917 15.0001C12.2917 16.4959 13.5043 17.7084 15.0001 17.7084C16.4959 17.7084 17.7084 16.4959 17.7084 15.0001C17.7084 13.5043 16.4959 12.2917 15.0001 12.2917ZM11.0417 15.0001C11.0417 12.814 12.814 11.0417 15.0001 11.0417C17.1862 11.0417 18.9584 12.814 18.9584 15.0001C18.9584 17.1862 17.1862 18.9584 15.0001 18.9584C12.814 18.9584 11.0417 17.1862 11.0417 15.0001Z" fill="#2D553E"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M16.6667 4.79175C16.0914 4.79175 15.625 5.25812 15.625 5.83341C15.625 6.40871 16.0914 6.87508 16.6667 6.87508C17.242 6.87508 17.7083 6.40871 17.7083 5.83341C17.7083 5.25812 17.242 4.79175 16.6667 4.79175ZM14.375 5.83341C14.375 4.56776 15.401 3.54175 16.6667 3.54175C17.9323 3.54175 18.9583 4.56776 18.9583 5.83341C18.9583 7.09907 17.9323 8.12508 16.6667 8.12508C15.401 8.12508 14.375 7.09907 14.375 5.83341Z" fill="#2D553E"/>
-</svg>

File diff suppressed because it is too large
+ 0 - 4
src/assets/images/page-enviroment/water.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-enviroment/wet.svg


BIN
src/assets/images/page-equipment/airClose.png


BIN
src/assets/images/page-equipment/airOpen.png


+ 0 - 3
src/assets/images/page-equipment/arrow-down.svg

@@ -1,3 +0,0 @@
-<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M10.6251 2.5C10.6251 2.15482 10.3453 1.875 10.0001 1.875C9.6549 1.875 9.37508 2.15482 9.37508 2.5V15.9911L4.60869 11.2247C4.36461 10.9806 3.96888 10.9806 3.72481 11.2247C3.48073 11.4688 3.48073 11.8645 3.72481 12.1086L9.55814 17.9419C9.80222 18.186 10.1979 18.186 10.442 17.9419L16.2754 12.1086C16.5194 11.8645 16.5194 11.4688 16.2754 11.2247C16.0313 10.9806 15.6356 10.9806 15.3915 11.2247L10.6251 15.9911V2.5Z" fill="#4D5262"/>
-</svg>

+ 0 - 3
src/assets/images/page-equipment/arrow-up.svg

@@ -1,3 +0,0 @@
-<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M15.3915 8.77528C15.6356 9.01935 16.0313 9.01935 16.2754 8.77528C16.5194 8.5312 16.5194 8.13547 16.2754 7.89139L10.442 2.05806C10.1979 1.81398 9.80222 1.81398 9.55814 2.05806L3.72481 7.89139C3.48073 8.13547 3.48073 8.5312 3.72481 8.77528C3.96888 9.01935 4.36461 9.01935 4.60869 8.77528L9.37508 4.00888V17.5C9.37508 17.8452 9.6549 18.125 10.0001 18.125C10.3453 18.125 10.6251 17.8452 10.6251 17.5V4.00888L15.3915 8.77528Z" fill="#4D5262"/>
-</svg>

File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-equipment/curtain-close-icon-row.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-equipment/curtain-open-icon-row.svg


BIN
src/assets/images/page-equipment/curtain-open-row.png


+ 0 - 3
src/assets/images/page-equipment/expend-down.svg

@@ -1,3 +0,0 @@
-<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M5.93055 8.68055C6.19904 8.41207 6.63434 8.41207 6.90282 8.68055L11 12.7777L15.0972 8.68055C15.3657 8.41207 15.801 8.41207 16.0695 8.68055C16.338 8.94904 16.338 9.38434 16.0695 9.65282L11.4862 14.2362C11.2177 14.5046 10.7824 14.5046 10.5139 14.2362L5.93055 9.65282C5.66207 9.38434 5.66207 8.94904 5.93055 8.68055Z" fill="#9FB7CD"/>
-</svg>

+ 0 - 3
src/assets/images/page-equipment/expend-up.svg

@@ -1,3 +0,0 @@
-<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M5.93055 13.3195C6.19904 13.588 6.63434 13.588 6.90282 13.3195L11 9.22227L15.0972 13.3195C15.3657 13.588 15.801 13.588 16.0695 13.3195C16.338 13.051 16.338 12.6157 16.0695 12.3472L11.4862 7.76386C11.2177 7.49538 10.7824 7.49538 10.5139 7.76386L5.93055 12.3472C5.66207 12.6157 5.66207 13.051 5.93055 13.3195Z" fill="#9FB7CD"/>
-</svg>

BIN
src/assets/images/page-equipment/lamp-close.png


BIN
src/assets/images/page-equipment/lamp-open.png


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-equipment/temp-down.svg


BIN
src/assets/images/page-equipment/temp-keep.png


+ 0 - 19
src/assets/images/page-equipment/temp-keep.svg

@@ -1,19 +0,0 @@
-<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g filter="url(#filter0_d_8_13543)">
-<path d="M10.9 4.5H4.5C4.225 4.5 4 4.275 4 4C4 3.725 4.225 3.5 4.5 3.5H10.9C11.47 3.5 11.9 3.07 11.9 2.5C11.9 1.93 11.47 1.5 10.9 1.5C10.47 1.5 10.11 1.76 9.975 2.16C9.89 2.42 9.605 2.565 9.345 2.475C9.085 2.39 8.94 2.105 9.03 1.845C9.295 1.04 10.045 0.5 10.9 0.5C12.02 0.5 12.9 1.38 12.9 2.5C12.9 3.62 12.02 4.5 10.9 4.5Z" fill="#00DC23"/>
-<path d="M7.9 11.5C7.045 11.5 6.295 10.96 6.025 10.16C5.94 9.9 6.08 9.615 6.34 9.53C6.605 9.44 6.885 9.585 6.975 9.845C7.11 10.24 7.47 10.5 7.9 10.5C8.47 10.5 8.9 10.07 8.9 9.5C8.9 8.93 8.47 8.5 7.9 8.5H4.5C4.225 8.5 4 8.275 4 8C4 7.725 4.225 7.5 4.5 7.5H7.9C9.02 7.5 9.9 8.38 9.9 9.5C9.9 10.62 9.02 11.5 7.9 11.5Z" fill="#00DC23"/>
-<path d="M14 9.5C13.145 9.5 12.395 8.96 12.125 8.16C12.04 7.9 12.18 7.615 12.44 7.53C12.705 7.44 12.985 7.585 13.075 7.845C13.21 8.24 13.57 8.5 14 8.5C14.57 8.5 15 8.07 15 7.5C15 6.93 14.57 6.5 14 6.5H4.5C4.225 6.5 4 6.275 4 6C4 5.725 4.225 5.5 4.5 5.5H14C15.12 5.5 16 6.38 16 7.5C16 8.62 15.12 9.5 14 9.5Z" fill="#00DC23"/>
-</g>
-<defs>
-<filter id="filter0_d_8_13543" x="0" y="0" width="20" height="20" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
-<feFlood flood-opacity="0" result="BackgroundImageFix"/>
-<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
-<feOffset dy="4"/>
-<feGaussianBlur stdDeviation="2"/>
-<feComposite in2="hardAlpha" operator="out"/>
-<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
-<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_8_13543"/>
-<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_8_13543" result="shape"/>
-</filter>
-</defs>
-</svg>

File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-equipment/temp-up.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-equipment/wind-down.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/images/page-equipment/wind-up.svg


+ 0 - 3
src/config/api.js

@@ -1,3 +0,0 @@
-export const BASE_PATH = '/api';
-export const projectId = 'Pj3301100002';//之江
-//export const projectId = 'Pj1101080259';

+ 0 - 57
src/config/image.js

@@ -1,57 +0,0 @@
-import envir_temperature from '@/assets/images/page-enviroment/temperature.svg';
-import envir_wet from '@/assets/images/page-enviroment/wet.svg';
-import envir_co2 from '@/assets/images/page-enviroment/co2.svg';
-import envir_pm25 from '@/assets/images/page-enviroment/pm25.svg';
-import envir_jiaquan from '@/assets/images/page-enviroment/jiaquan.svg';
-import envir_tvoc from '@/assets/images/page-enviroment/tvoc.svg';
-export const equipImageMap = {
-    //   temperMapTop: require('@/assets/images/page-enviroment/temperMapTop.png'),
-    //   co2MapTop: require('@/assets/images/page-enviroment/co2MapTop.png'),
-    //   maptemp1: require('@/assets/images/page-enviroment/maptemp1.png'),
-    //   maptemp2: require('@/assets/images/page-enviroment/maptemp2.png'),
-    envir_temperature: envir_temperature,
-    envir_wet: envir_wet,
-    envir_co2: envir_co2,
-    envir_pm25: envir_pm25,
-    envir_jiaquan: envir_jiaquan,
-    envir_tvoc: envir_tvoc,
-
-    officeImg: require('@/assets/images/page-enviroment/office.svg'),
-    //   airMapTop: require('@/assets/images/page-enviroment/airMapTop.svg'),
-    //   lampMapTop: require('@/assets/images/page-enviroment/lampMapTop.svg'),
-    //   maptemp3: require('@/assets/images/page-enviroment/maptemp3.png'),
-    //   maptemp4: require('@/assets/images/page-enviroment/maptemp4.png'),
-    //   maptemp5: require('@/assets/images/page-enviroment/maptemp5.png'),
-
-    envir_all: require('@/assets/images/page-enviroment/all.svg'),
-    equip_air: require('@/assets/images/page-enviroment/air.svg'),
-    equip_lamp: require('@/assets/images/page-enviroment/lamp.svg'),
-    equip_water: require('@/assets/images/page-enviroment/water.svg'),
-    envir_curtain: require('@/assets/images/page-enviroment/curtain.svg'),
-    envir_humidification: require('@/assets/images/page-enviroment/humidification.svg'),
-
-    //   maptemp6: require('@/assets/images/page-enviroment/maptemp6.png'),
-
-    // 环境指数说明
-    ruleCo2: require('@/assets/images/page-enviroment/rule-co2.png'),
-    ruleHcho: require('@/assets/images/page-enviroment/rule-hcho.png'),
-    rulePm25: require('@/assets/images/page-enviroment/rule-pm25.png'),
-
-    // 设备
-    airClose: require('@/assets/images/page-equipment/airClose.png'),
-    airOpen: require('@/assets/images/page-equipment/airOpen.png'),
-    temp_down: require('@/assets/images/page-equipment/temp-down.svg'),
-    temp_up: require('@/assets/images/page-equipment/temp-up.svg'),
-    temp_keep: require('@/assets/images/page-equipment/temp-keep.png'),
-    arrow_down: require('@/assets/images/page-equipment/arrow-down.svg'),
-    arrow_up: require('@/assets/images/page-equipment/arrow-up.svg'),
-    wind_up: require('@/assets/images/page-equipment/wind-up.svg'),
-    wind_down: require('@/assets/images/page-equipment/wind-down.svg'),
-    lamp_open: require('@/assets/images/page-equipment/lamp-open.png'),
-    lamp_close: require('@/assets/images/page-equipment/lamp-close.png'),
-    expend_down: require('@/assets/images/page-equipment/expend-down.svg'),
-    expend_up: require('@/assets/images/page-equipment/expend-up.svg'),
-    curtain_open_row: require('@/assets/images/page-equipment/curtain-open-row.png'),
-    curtain_open_icon_row: require('@/assets/images/page-equipment/curtain-open-icon-row.svg'),
-    curtain_close_icon_row: require('@/assets/images/page-equipment/curtain-close-icon-row.svg'),
-};

+ 0 - 19
src/config/user.ts

@@ -1,19 +0,0 @@
-class UserStorage {
-  private static instance: UserStorage;
-  private constructor() {}
-  private user: any = { name: '', id: '' };
-
-  static getInstance() {
-    if (!this.instance) {
-      this.instance = new UserStorage();
-    }
-    return this.instance;
-  }
-  public setUser(user: any) {
-    this.user = user;
-  }
-  public getUser() {
-    return this.user;
-  }
-}
-export default UserStorage;

+ 0 - 45
src/e2e/baseLayout.e2e.spec.ts

@@ -1,45 +0,0 @@
-import type { Page } from '@playwright/test';
-import { test, expect } from '@playwright/test';
-const { uniq } = require('lodash');
-const RouterConfig = require('../../config/routes').default;
-
-const BASE_URL = `http://localhost:${process.env.PORT || 8001}`;
-
-function formatter(routes: any, parentPath = ''): string[] {
-  const fixedParentPath = parentPath.replace(/\/{1,}/g, '/');
-  let result: string[] = [];
-  routes.forEach((item: { path: string; routes: string }) => {
-    if (item.path && !item.path.startsWith('/')) {
-      result.push(`${fixedParentPath}/${item.path}`.replace(/\/{1,}/g, '/'));
-    }
-    if (item.path && item.path.startsWith('/')) {
-      result.push(`${item.path}`.replace(/\/{1,}/g, '/'));
-    }
-    if (item.routes) {
-      result = result.concat(
-        formatter(item.routes, item.path ? `${fixedParentPath}/${item.path}` : parentPath),
-      );
-    }
-  });
-  return uniq(result.filter((item) => !!item));
-}
-
-const testPage = (path: string, page: Page) => async () => {
-  await page.evaluate(() => {
-    localStorage.setItem('antd-pro-authority', '["admin"]');
-  });
-  await page.goto(`${BASE_URL}${path}`);
-  await page.waitForSelector('footer', {
-    timeout: 2000,
-  });
-  const haveFooter = await page.evaluate(() => document.getElementsByTagName('footer').length > 0);
-  expect(haveFooter).toBeTruthy();
-};
-
-const routers = formatter(RouterConfig);
-
-routers.forEach((route) => {
-  test(`test route page ${route}`, async ({ page }) => {
-    await testPage(route, page);
-  });
-});

+ 0 - 91
src/global.tsx

@@ -1,91 +0,0 @@
-import { Button, message, notification } from 'antd';
-import { useIntl } from 'umi';
-import defaultSettings from '../config/defaultSettings';
-
-const { pwa } = defaultSettings;
-const isHttps = document.location.protocol === 'https:';
-
-const clearCache = () => {
-  // remove all caches
-  if (window.caches) {
-    caches
-      .keys()
-      .then((keys) => {
-        keys.forEach((key) => {
-          caches.delete(key);
-        });
-      })
-      .catch((e) => console.log(e));
-  }
-};
-
-// if pwa is true
-if (pwa) {
-  // Notify user if offline now
-  window.addEventListener('sw.offline', () => {
-    message.warning(useIntl().formatMessage({ id: 'app.pwa.offline' }));
-  });
-
-  // Pop up a prompt on the page asking the user if they want to use the latest version
-  window.addEventListener('sw.updated', (event: Event) => {
-    const e = event as CustomEvent;
-    const reloadSW = async () => {
-      // Check if there is sw whose state is waiting in ServiceWorkerRegistration
-      // https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
-      const worker = e.detail && e.detail.waiting;
-      if (!worker) {
-        return true;
-      }
-      // Send skip-waiting event to waiting SW with MessageChannel
-      await new Promise((resolve, reject) => {
-        const channel = new MessageChannel();
-        channel.port1.onmessage = (msgEvent) => {
-          if (msgEvent.data.error) {
-            reject(msgEvent.data.error);
-          } else {
-            resolve(msgEvent.data);
-          }
-        };
-        worker.postMessage({ type: 'skip-waiting' }, [channel.port2]);
-      });
-
-      clearCache();
-      window.location.reload();
-      return true;
-    };
-    const key = `open${Date.now()}`;
-    const btn = (
-      <Button
-        type="primary"
-        onClick={() => {
-          notification.close(key);
-          reloadSW();
-        }}
-      >
-        {useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.ok' })}
-      </Button>
-    );
-    notification.open({
-      message: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated' }),
-      description: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.hint' }),
-      btn,
-      key,
-      onClose: async () => null,
-    });
-  });
-} else if ('serviceWorker' in navigator && isHttps) {
-  // unregister service worker
-  const { serviceWorker } = navigator;
-  if (serviceWorker.getRegistrations) {
-    serviceWorker.getRegistrations().then((sws) => {
-      sws.forEach((sw) => {
-        sw.unregister();
-      });
-    });
-  }
-  serviceWorker.getRegistration().then((sw) => {
-    if (sw) sw.unregister();
-  });
-
-  clearCache();
-}

+ 0 - 20
src/hooks/useMenuList.ts

@@ -1,20 +0,0 @@
-import { useState, useEffect } from 'react';
-
-export type menutype = {
-  name: string;
-  id?: string;
-};
-export default function () {
-  const [menuList, setMenuList] = useState<menutype[]>();
-  //进入时赋值
-  useEffect(() => {
-    //debugger;
-    setMenuList([
-      { name: '环境信息', id: 'environment' },
-      { name: '设备管理', id: 'equipment' },
-      { name: '运行时间', id: 'runtime' },
-    ]);
-  }, []);
-
-  return { menuList };
-}

+ 0 - 139
src/layouts/index.jsx

@@ -1,139 +0,0 @@
-import React, { useState, useEffect } from 'react';
-import { useModel, useLocation, useIntl } from 'umi';
-import styles from './index.less';
-import { MenuFoldOutlined, SmileOutlined } from '@ant-design/icons';
-import Icon from '@/tenants-ui/SgIcon';
-
-import { Drawer, notification } from 'antd';
-import NavMenu from '@/sgcomponents/navMenu';
-
-export default (props) => {
-  const { menuVisible, closeMenu, toggleMenu } = useModel('controller');
-  const { initialState, setInitialState } = useModel('@@initialState');
-  const [notifyList] = useState([
-    {
-      title: '管理员操作指南',
-      id: 'notify1',
-      content: '具体介绍管理员权限下的管理功能及相关操作说明。',
-      name: '行政端操作指南.pdf',
-      url: 'http://10.100.28.79/image-service/common/file_get?systemId=dataPlatform&key=%E8%A1%8C%E6%94%BF%E7%AB%AF%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8C20220419.pdf',
-      iconName: 'book',
-    },
-    {
-      title: 'sagacare介绍',
-      id: 'notify2',
-      content: '环境健康主动管理服务',
-      name: 'saga销售手册.pdf',
-      url: 'http://10.100.28.79/image-service/common/file_get?systemId=dataPlatform&key=sagacare%E4%BB%8B%E7%BB%8D.pdf',
-      iconName: 'introduce',
-    },
-  ]);
-  const showMenuClick = () => {
-    toggleMenu();
-  };
-
-  const openNotification = () => {
-    //打开通知框
-    notifyList.map((item, index) => {
-      notification.open({
-        key: item.id,
-        message: item.title,
-        description: item.content,
-        duration: 0,
-        className: 'custom-class',
-        onClick: () => {
-          console.log('Notification Clicked!', item);
-          // 下载pdf 需产品给出
-          //const downLoadUrl = '';
-          const a = document.createElement('a');
-          a.href = item.url;
-          a.target = '_blank';
-          a.download = item.name;
-          a.click();
-        },
-        icon: <Icon type={item.iconName} style={{ fontSize: 32, color: '#108ee9' }}></Icon>,
-        style: {
-          width: 400,
-          borderRadius: 30,
-          cursor: 'pointer',
-        },
-        closeIcon: <></>,
-      });
-    });
-  };
-  //关闭提醒框
-  const closeNotify = () => {
-    //console.log('close-notify');
-    notifyList.map((item, index) => {
-      notification.close(item.id);
-    });
-  };
-
-  useEffect(async () => {
-    // debugger;
-    // console.log('enviroment-layout', initialState);
-    // const currentUser = await initialState?.fetchUser?.();
-    // debugger;
-    // if (currentUser) {
-    //   setInitialState((s) => {
-    //     return { ...s, currentUser: currentUser };
-    //   });
-    // }
-
-    //关闭
-    document.querySelector('#root').addEventListener('click', closeNotify, true);
-    const { REACT_APP_ENV } = process.env;
-    console.log('REACT_APP_ENV', REACT_APP_ENV);
-    return () => {
-      console.log('layout-useEffect-off');
-      document.querySelector('#root').removeEventListener('click', closeNotify, true);
-    };
-  }, []);
-
-  return (
-    <div className={styles.layout}>
-      <div className={styles.header}>
-        <div className={styles.title}>之江项目</div>
-        <div className={styles.right}>
-          <div className={styles.picture}>
-            <Icon type="person" style={{ fontSize: 28 }}></Icon>
-          </div>
-          <div
-            className={styles.notify}
-            onClick={(event) => {
-              event.stopPropagation();
-              openNotification();
-            }}
-          >
-            <Icon className={styles.notify} type="notify" style={{ fontSize: 21 }}></Icon>
-          </div>
-          <MenuFoldOutlined style={{ fontSize: 24 }} onClick={showMenuClick} />
-        </div>
-      </div>
-
-      {props.children}
-      <Drawer
-        title=""
-        placement="right"
-        closable={false}
-        onClose={closeMenu}
-        visible={menuVisible}
-        drawerStyle={
-          {
-            //   height: 340,
-            //   width: 380,
-            //   background: 'transparent',
-            //   transform: 'translate(-50px,20px)',
-            // top: 100,
-            //right: 20,
-          }
-        }
-        maskStyle={{ background: 'transparent' }}
-        contentWrapperStyle={{ boxShadow: 'none' }}
-        bodyStyle={{ transform: 'translate(-20px,20px)' }}
-      >
-        <NavMenu></NavMenu>
-      </Drawer>
-    </div>
-  );
-};

+ 0 - 60
src/layouts/index.less

@@ -1,60 +0,0 @@
-.layout {
-  box-sizing: border-box;
-  width: 1340px;
-  height: 100%;
-  margin: 0 auto;
-  padding: 20px;
-  user-select: none;
-}
-
-:global {
-  .ant-drawer-content {
-    overflow: visible;
-    //  border-radius: 10px;
-    background: transparent;
-  }
-  .ant-drawer-content-wrapper {
-    // border-radius: 10px;
-  }
-  .ant-notification-notice-icon {
-    top: 30px;
-  }
-}
-
-.header {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  box-sizing: border-box;
-  height: 75px;
-  padding: 15px 0 20px 0;
-  .title {
-    color: #000000;
-    font-weight: 600;
-    font-size: 24px;
-  }
-  .right {
-    display: flex;
-    align-items: center;
-    .picture {
-      width: 40px;
-      height: 40px;
-      margin-right: 24px;
-      //   background-color: #4f4f4f;
-      //   border-radius: 40px;
-    }
-    .notify {
-      margin-right: 24px;
-      cursor: pointer;
-      :global {
-        .ant-notification-notice-message {
-          color: #656872;
-          font-size: 14px;
-        }
-        .ant-notification-notice-description {
-          color: #c4c4c4;
-        }
-      }
-    }
-  }
-}

+ 0 - 13
src/locales/en-US.ts

@@ -1,13 +0,0 @@
-import component from './zh-CN/component';
-import globalHeader from './zh-CN/globalHeader';
-import menu from './zh-CN/menu';
-import settings from './zh-CN/settings';
-import pages from './zh-CN/pages';
-
-export default {
-  ...pages,
-  ...globalHeader,
-  ...menu,
-  ...settings,
-  ...component,
-};

+ 0 - 5
src/locales/en-US/component.ts

@@ -1,5 +0,0 @@
-export default {
-  'component.tagSelect.expand': 'Expand',
-  'component.tagSelect.collapse': 'Collapse',
-  'component.tagSelect.all': 'All',
-};

+ 0 - 17
src/locales/en-US/globalHeader.ts

@@ -1,17 +0,0 @@
-export default {
-  'component.globalHeader.search': 'Search',
-  'component.globalHeader.search.example1': 'Search example 1',
-  'component.globalHeader.search.example2': 'Search example 2',
-  'component.globalHeader.search.example3': 'Search example 3',
-  'component.globalHeader.help': 'Help',
-  'component.globalHeader.notification': 'Notification',
-  'component.globalHeader.notification.empty': 'You have viewed all notifications.',
-  'component.globalHeader.message': 'Message',
-  'component.globalHeader.message.empty': 'You have viewed all messsages.',
-  'component.globalHeader.event': 'Event',
-  'component.globalHeader.event.empty': 'You have viewed all events.',
-  'component.noticeIcon.clear': 'Clear',
-  'component.noticeIcon.cleared': 'Cleared',
-  'component.noticeIcon.empty': 'No notifications',
-  'component.noticeIcon.view-more': 'View more',
-};

+ 0 - 52
src/locales/en-US/menu.ts

@@ -1,52 +0,0 @@
-export default {
-  'menu.welcome': 'Welcome',
-  'menu.more-blocks': 'More Blocks',
-  'menu.home': 'Home',
-  'menu.admin': 'Admin',
-  'menu.admin.sub-page': 'Sub-Page',
-  'menu.login': 'Login',
-  'menu.register': 'Register',
-  'menu.register-result': 'Register Result',
-  'menu.dashboard': 'Dashboard',
-  'menu.dashboard.analysis': 'Analysis',
-  'menu.dashboard.monitor': 'Monitor',
-  'menu.dashboard.workplace': 'Workplace',
-  'menu.exception.403': '403',
-  'menu.exception.404': '404',
-  'menu.exception.500': '500',
-  'menu.form': 'Form',
-  'menu.form.basic-form': 'Basic Form',
-  'menu.form.step-form': 'Step Form',
-  'menu.form.step-form.info': 'Step Form(write transfer information)',
-  'menu.form.step-form.confirm': 'Step Form(confirm transfer information)',
-  'menu.form.step-form.result': 'Step Form(finished)',
-  'menu.form.advanced-form': 'Advanced Form',
-  'menu.list': 'List',
-  'menu.list.table-list': 'Search Table',
-  'menu.list.basic-list': 'Basic List',
-  'menu.list.card-list': 'Card List',
-  'menu.list.search-list': 'Search List',
-  'menu.list.search-list.articles': 'Search List(articles)',
-  'menu.list.search-list.projects': 'Search List(projects)',
-  'menu.list.search-list.applications': 'Search List(applications)',
-  'menu.profile': 'Profile',
-  'menu.profile.basic': 'Basic Profile',
-  'menu.profile.advanced': 'Advanced Profile',
-  'menu.result': 'Result',
-  'menu.result.success': 'Success',
-  'menu.result.fail': 'Fail',
-  'menu.exception': 'Exception',
-  'menu.exception.not-permission': '403',
-  'menu.exception.not-find': '404',
-  'menu.exception.server-error': '500',
-  'menu.exception.trigger': 'Trigger',
-  'menu.account': 'Account',
-  'menu.account.center': 'Account Center',
-  'menu.account.settings': 'Account Settings',
-  'menu.account.trigger': 'Trigger Error',
-  'menu.account.logout': 'Logout',
-  'menu.editor': 'Graphic Editor',
-  'menu.editor.flow': 'Flow Editor',
-  'menu.editor.mind': 'Mind Editor',
-  'menu.editor.koni': 'Koni Editor',
-};

+ 0 - 70
src/locales/en-US/pages.ts

@@ -1,70 +0,0 @@
-export default {
-  'pages.layouts.userLayout.title':
-    'Ant Design is the most influential web design specification in Xihu district',
-  'pages.login.accountLogin.tab': 'Account Login',
-  'pages.login.accountLogin.errorMessage': 'Incorrect username/password(admin/ant.design)',
-  'pages.login.failure': 'Login failed, please try again!',
-  'pages.login.success': 'Login successful!',
-  'pages.login.username.placeholder': 'Username: admin or user',
-  'pages.login.username.required': 'Please input your username!',
-  'pages.login.password.placeholder': 'Password: ant.design',
-  'pages.login.password.required': 'Please input your password!',
-  'pages.login.phoneLogin.tab': 'Phone Login',
-  'pages.login.phoneLogin.errorMessage': 'Verification Code Error',
-  'pages.login.phoneNumber.placeholder': 'Phone Number',
-  'pages.login.phoneNumber.required': 'Please input your phone number!',
-  'pages.login.phoneNumber.invalid': 'Phone number is invalid!',
-  'pages.login.captcha.placeholder': 'Verification Code',
-  'pages.login.captcha.required': 'Please input verification code!',
-  'pages.login.phoneLogin.getVerificationCode': 'Get Code',
-  'pages.getCaptchaSecondText': 'sec(s)',
-  'pages.login.rememberMe': 'Remember me',
-  'pages.login.forgotPassword': 'Forgot Password ?',
-  'pages.login.submit': 'Login',
-  'pages.login.loginWith': 'Login with :',
-  'pages.login.registerAccount': 'Register Account',
-  'pages.welcome.advancedComponent': 'Advanced Component',
-  'pages.welcome.link': 'Welcome',
-  'pages.welcome.advancedLayout': 'Advanced Layout',
-  'pages.welcome.alertMessage': 'Faster and stronger heavy-duty components have been released.',
-  'pages.admin.subPage.title': 'This page can only be viewed by Admin',
-  'pages.admin.subPage.alertMessage':
-    'Umi ui is now released, welcome to use npm run ui to start the experience.',
-  'pages.searchTable.createForm.newRule': 'New Rule',
-  'pages.searchTable.updateForm.ruleConfig': 'Rule configuration',
-  'pages.searchTable.updateForm.basicConfig': 'Basic Information',
-  'pages.searchTable.updateForm.ruleName.nameLabel': 'Rule Name',
-  'pages.searchTable.updateForm.ruleName.nameRules': 'Please enter the rule name!',
-  'pages.searchTable.updateForm.ruleDesc.descLabel': 'Rule Description',
-  'pages.searchTable.updateForm.ruleDesc.descPlaceholder': 'Please enter at least five characters',
-  'pages.searchTable.updateForm.ruleDesc.descRules':
-    'Please enter a rule description of at least five characters!',
-  'pages.searchTable.updateForm.ruleProps.title': 'Configure Properties',
-  'pages.searchTable.updateForm.object': 'Monitoring Object',
-  'pages.searchTable.updateForm.ruleProps.templateLabel': 'Rule Template',
-  'pages.searchTable.updateForm.ruleProps.typeLabel': 'Rule Type',
-  'pages.searchTable.updateForm.schedulingPeriod.title': 'Set Scheduling Period',
-  'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'Starting Time',
-  'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'Please choose a start time!',
-  'pages.searchTable.titleDesc': 'Description',
-  'pages.searchTable.ruleName': 'Rule name is required',
-  'pages.searchTable.titleCallNo': 'Number of Service Calls',
-  'pages.searchTable.titleStatus': 'Status',
-  'pages.searchTable.nameStatus.default': 'default',
-  'pages.searchTable.nameStatus.running': 'running',
-  'pages.searchTable.nameStatus.online': 'online',
-  'pages.searchTable.nameStatus.abnormal': 'abnormal',
-  'pages.searchTable.titleUpdatedAt': 'Last Scheduled at',
-  'pages.searchTable.exception': 'Please enter the reason for the exception!',
-  'pages.searchTable.titleOption': 'Option',
-  'pages.searchTable.config': 'Configuration',
-  'pages.searchTable.subscribeAlert': 'Subscribe to alerts',
-  'pages.searchTable.title': 'Enquiry Form',
-  'pages.searchTable.new': 'New',
-  'pages.searchTable.chosen': 'chosen',
-  'pages.searchTable.item': 'item',
-  'pages.searchTable.totalServiceCalls': 'Total Number of Service Calls',
-  'pages.searchTable.tenThousand': '0000',
-  'pages.searchTable.batchDeletion': 'bacth deletion',
-  'pages.searchTable.batchApproval': 'batch approval',
-};

+ 0 - 60
src/locales/en-US/settings.ts

@@ -1,60 +0,0 @@
-export default {
-  'app.settings.menuMap.basic': 'Basic Settings',
-  'app.settings.menuMap.security': 'Security Settings',
-  'app.settings.menuMap.binding': 'Account Binding',
-  'app.settings.menuMap.notification': 'New Message Notification',
-  'app.settings.basic.avatar': 'Avatar',
-  'app.settings.basic.change-avatar': 'Change avatar',
-  'app.settings.basic.email': 'Email',
-  'app.settings.basic.email-message': 'Please input your email!',
-  'app.settings.basic.nickname': 'Nickname',
-  'app.settings.basic.nickname-message': 'Please input your Nickname!',
-  'app.settings.basic.profile': 'Personal profile',
-  'app.settings.basic.profile-message': 'Please input your personal profile!',
-  'app.settings.basic.profile-placeholder': 'Brief introduction to yourself',
-  'app.settings.basic.country': 'Country/Region',
-  'app.settings.basic.country-message': 'Please input your country!',
-  'app.settings.basic.geographic': 'Province or city',
-  'app.settings.basic.geographic-message': 'Please input your geographic info!',
-  'app.settings.basic.address': 'Street Address',
-  'app.settings.basic.address-message': 'Please input your address!',
-  'app.settings.basic.phone': 'Phone Number',
-  'app.settings.basic.phone-message': 'Please input your phone!',
-  'app.settings.basic.update': 'Update Information',
-  'app.settings.security.strong': 'Strong',
-  'app.settings.security.medium': 'Medium',
-  'app.settings.security.weak': 'Weak',
-  'app.settings.security.password': 'Account Password',
-  'app.settings.security.password-description': 'Current password strength',
-  'app.settings.security.phone': 'Security Phone',
-  'app.settings.security.phone-description': 'Bound phone',
-  'app.settings.security.question': 'Security Question',
-  'app.settings.security.question-description':
-    'The security question is not set, and the security policy can effectively protect the account security',
-  'app.settings.security.email': 'Backup Email',
-  'app.settings.security.email-description': 'Bound Email',
-  'app.settings.security.mfa': 'MFA Device',
-  'app.settings.security.mfa-description':
-    'Unbound MFA device, after binding, can be confirmed twice',
-  'app.settings.security.modify': 'Modify',
-  'app.settings.security.set': 'Set',
-  'app.settings.security.bind': 'Bind',
-  'app.settings.binding.taobao': 'Binding Taobao',
-  'app.settings.binding.taobao-description': 'Currently unbound Taobao account',
-  'app.settings.binding.alipay': 'Binding Alipay',
-  'app.settings.binding.alipay-description': 'Currently unbound Alipay account',
-  'app.settings.binding.dingding': 'Binding DingTalk',
-  'app.settings.binding.dingding-description': 'Currently unbound DingTalk account',
-  'app.settings.binding.bind': 'Bind',
-  'app.settings.notification.password': 'Account Password',
-  'app.settings.notification.password-description':
-    'Messages from other users will be notified in the form of a station letter',
-  'app.settings.notification.messages': 'System Messages',
-  'app.settings.notification.messages-description':
-    'System messages will be notified in the form of a station letter',
-  'app.settings.notification.todo': 'To-do Notification',
-  'app.settings.notification.todo-description':
-    'The to-do list will be notified in the form of a letter from the station',
-  'app.settings.open': 'Open',
-  'app.settings.close': 'Close',
-};

+ 0 - 13
src/locales/zh-CN.ts

@@ -1,13 +0,0 @@
-import component from './zh-CN/component';
-import globalHeader from './zh-CN/globalHeader';
-import menu from './zh-CN/menu';
-import settings from './zh-CN/settings';
-import pages from './zh-CN/pages';
-
-export default {
-  ...pages,
-  ...globalHeader,
-  ...menu,
-  ...settings,
-  ...component,
-};

+ 0 - 5
src/locales/zh-CN/component.ts

@@ -1,5 +0,0 @@
-export default {
-  'component.tagSelect.expand': '展开',
-  'component.tagSelect.collapse': '收起',
-  'component.tagSelect.all': '全部',
-};

+ 0 - 17
src/locales/zh-CN/globalHeader.ts

@@ -1,17 +0,0 @@
-export default {
-  'component.globalHeader.search': '站内搜索',
-  'component.globalHeader.search.example1': '搜索提示一',
-  'component.globalHeader.search.example2': '搜索提示二',
-  'component.globalHeader.search.example3': '搜索提示三',
-  'component.globalHeader.help': '使用文档',
-  'component.globalHeader.notification': '通知',
-  'component.globalHeader.notification.empty': '你已查看所有通知',
-  'component.globalHeader.message': '消息',
-  'component.globalHeader.message.empty': '您已读完所有消息',
-  'component.globalHeader.event': '待办',
-  'component.globalHeader.event.empty': '你已完成所有待办',
-  'component.noticeIcon.clear': '清空',
-  'component.noticeIcon.cleared': '清空了',
-  'component.noticeIcon.empty': '暂无数据',
-  'component.noticeIcon.view-more': '查看更多',
-};

+ 0 - 56
src/locales/zh-CN/menu.ts

@@ -1,56 +0,0 @@
-export default {
-  'menu.environment': '环境信息',
-  'menu.equipment': '设备管理',
-  'menu.runtime': '运行时间',
-  'menu.recordList': '加班记录',
-  'menu.welcome': '欢迎',
-  'menu.more-blocks': '更多区块',
-  'menu.home': '首页',
-  'menu.admin': '管理页',
-  'menu.admin.sub-page': '二级管理页',
-  'menu.login': '登录',
-  'menu.register': '注册',
-  'menu.register-result': '注册结果',
-  'menu.dashboard': 'Dashboard',
-  'menu.dashboard.analysis': '分析页',
-  'menu.dashboard.monitor': '监控页',
-  'menu.dashboard.workplace': '工作台',
-  'menu.exception.403': '403',
-  'menu.exception.404': '404',
-  'menu.exception.500': '500',
-  'menu.form': '表单页',
-  'menu.form.basic-form': '基础表单',
-  'menu.form.step-form': '分步表单',
-  'menu.form.step-form.info': '分步表单(填写转账信息)',
-  'menu.form.step-form.confirm': '分步表单(确认转账信息)',
-  'menu.form.step-form.result': '分步表单(完成)',
-  'menu.form.advanced-form': '高级表单',
-  'menu.list': '列表页',
-  'menu.list.table-list': '查询表格',
-  'menu.list.basic-list': '标准列表',
-  'menu.list.card-list': '卡片列表',
-  'menu.list.search-list': '搜索列表',
-  'menu.list.search-list.articles': '搜索列表(文章)',
-  'menu.list.search-list.projects': '搜索列表(项目)',
-  'menu.list.search-list.applications': '搜索列表(应用)',
-  'menu.profile': '详情页',
-  'menu.profile.basic': '基础详情页',
-  'menu.profile.advanced': '高级详情页',
-  'menu.result': '结果页',
-  'menu.result.success': '成功页',
-  'menu.result.fail': '失败页',
-  'menu.exception': '异常页',
-  'menu.exception.not-permission': '403',
-  'menu.exception.not-find': '404',
-  'menu.exception.server-error': '500',
-  'menu.exception.trigger': '触发错误',
-  'menu.account': '个人页',
-  'menu.account.center': '个人中心',
-  'menu.account.settings': '个人设置',
-  'menu.account.trigger': '触发报错',
-  'menu.account.logout': '退出登录',
-  'menu.editor': '图形编辑器',
-  'menu.editor.flow': '流程编辑器',
-  'menu.editor.mind': '脑图编辑器',
-  'menu.editor.koni': '拓扑编辑器',
-};

+ 0 - 67
src/locales/zh-CN/pages.ts

@@ -1,67 +0,0 @@
-export default {
-  'pages.layouts.userLayout.title': 'Ant Design 是西湖区最具影响力的 Web 设计规范',
-  'pages.login.accountLogin.tab': '账户密码登录',
-  'pages.login.accountLogin.errorMessage': '错误的用户名和密码(admin/ant.design)',
-  'pages.login.failure': '登录失败,请重试!',
-  'pages.login.success': '登录成功!',
-  'pages.login.username.placeholder': '用户名: admin or user',
-  'pages.login.username.required': '用户名是必填项!',
-  'pages.login.password.placeholder': '密码: ant.design',
-  'pages.login.password.required': '密码是必填项!',
-  'pages.login.phoneLogin.tab': '手机号登录',
-  'pages.login.phoneLogin.errorMessage': '验证码错误',
-  'pages.login.phoneNumber.placeholder': '请输入手机号!',
-  'pages.login.phoneNumber.required': '手机号是必填项!',
-  'pages.login.phoneNumber.invalid': '不合法的手机号!',
-  'pages.login.captcha.placeholder': '请输入验证码!',
-  'pages.login.captcha.required': '验证码是必填项!',
-  'pages.login.phoneLogin.getVerificationCode': '获取验证码',
-  'pages.getCaptchaSecondText': '秒后重新获取',
-  'pages.login.rememberMe': '自动登录',
-  'pages.login.forgotPassword': '忘记密码 ?',
-  'pages.login.submit': '登录',
-  'pages.login.loginWith': '其他登录方式 :',
-  'pages.login.registerAccount': '注册账户',
-  'pages.welcome.advancedComponent': '高级表格',
-  'pages.welcome.link': '欢迎使用',
-  'pages.welcome.advancedLayout': '高级布局',
-  'pages.welcome.alertMessage': '更快更强的重型组件,已经发布。',
-  'pages.admin.subPage.title': ' 这个页面只有 admin 权限才能查看',
-  'pages.admin.subPage.alertMessage': 'umi ui 现已发布,欢迎使用 npm run ui 启动体验。',
-  'pages.searchTable.createForm.newRule': '新建规则',
-  'pages.searchTable.updateForm.ruleConfig': '规则配置',
-  'pages.searchTable.updateForm.basicConfig': '基本信息',
-  'pages.searchTable.updateForm.ruleName.nameLabel': '规则名称',
-  'pages.searchTable.updateForm.ruleName.nameRules': '请输入规则名称!',
-  'pages.searchTable.updateForm.ruleDesc.descLabel': '规则描述',
-  'pages.searchTable.updateForm.ruleDesc.descPlaceholder': '请输入至少五个字符',
-  'pages.searchTable.updateForm.ruleDesc.descRules': '请输入至少五个字符的规则描述!',
-  'pages.searchTable.updateForm.ruleProps.title': '配置规则属性',
-  'pages.searchTable.updateForm.object': '监控对象',
-  'pages.searchTable.updateForm.ruleProps.templateLabel': '规则模板',
-  'pages.searchTable.updateForm.ruleProps.typeLabel': '规则类型',
-  'pages.searchTable.updateForm.schedulingPeriod.title': '设定调度周期',
-  'pages.searchTable.updateForm.schedulingPeriod.timeLabel': '开始时间',
-  'pages.searchTable.updateForm.schedulingPeriod.timeRules': '请选择开始时间!',
-  'pages.searchTable.titleDesc': '描述',
-  'pages.searchTable.ruleName': '规则名称为必填项',
-  'pages.searchTable.titleCallNo': '服务调用次数',
-  'pages.searchTable.titleStatus': '状态',
-  'pages.searchTable.nameStatus.default': '关闭',
-  'pages.searchTable.nameStatus.running': '运行中',
-  'pages.searchTable.nameStatus.online': '已上线',
-  'pages.searchTable.nameStatus.abnormal': '异常',
-  'pages.searchTable.titleUpdatedAt': '上次调度时间',
-  'pages.searchTable.exception': '请输入异常原因!',
-  'pages.searchTable.titleOption': '操作',
-  'pages.searchTable.config': '配置',
-  'pages.searchTable.subscribeAlert': '订阅警报',
-  'pages.searchTable.title': '查询表格',
-  'pages.searchTable.new': '新建',
-  'pages.searchTable.chosen': '已选择',
-  'pages.searchTable.item': '项',
-  'pages.searchTable.totalServiceCalls': '服务调用次数总计',
-  'pages.searchTable.tenThousand': '万',
-  'pages.searchTable.batchDeletion': '批量删除',
-  'pages.searchTable.batchApproval': '批量审批',
-};

+ 0 - 55
src/locales/zh-CN/settings.ts

@@ -1,55 +0,0 @@
-export default {
-  'app.settings.menuMap.basic': '基本设置',
-  'app.settings.menuMap.security': '安全设置',
-  'app.settings.menuMap.binding': '账号绑定',
-  'app.settings.menuMap.notification': '新消息通知',
-  'app.settings.basic.avatar': '头像',
-  'app.settings.basic.change-avatar': '更换头像',
-  'app.settings.basic.email': '邮箱',
-  'app.settings.basic.email-message': '请输入您的邮箱!',
-  'app.settings.basic.nickname': '昵称',
-  'app.settings.basic.nickname-message': '请输入您的昵称!',
-  'app.settings.basic.profile': '个人简介',
-  'app.settings.basic.profile-message': '请输入个人简介!',
-  'app.settings.basic.profile-placeholder': '个人简介',
-  'app.settings.basic.country': '国家/地区',
-  'app.settings.basic.country-message': '请输入您的国家或地区!',
-  'app.settings.basic.geographic': '所在省市',
-  'app.settings.basic.geographic-message': '请输入您的所在省市!',
-  'app.settings.basic.address': '街道地址',
-  'app.settings.basic.address-message': '请输入您的街道地址!',
-  'app.settings.basic.phone': '联系电话',
-  'app.settings.basic.phone-message': '请输入您的联系电话!',
-  'app.settings.basic.update': '更新基本信息',
-  'app.settings.security.strong': '强',
-  'app.settings.security.medium': '中',
-  'app.settings.security.weak': '弱',
-  'app.settings.security.password': '账户密码',
-  'app.settings.security.password-description': '当前密码强度',
-  'app.settings.security.phone': '密保手机',
-  'app.settings.security.phone-description': '已绑定手机',
-  'app.settings.security.question': '密保问题',
-  'app.settings.security.question-description': '未设置密保问题,密保问题可有效保护账户安全',
-  'app.settings.security.email': '备用邮箱',
-  'app.settings.security.email-description': '已绑定邮箱',
-  'app.settings.security.mfa': 'MFA 设备',
-  'app.settings.security.mfa-description': '未绑定 MFA 设备,绑定后,可以进行二次确认',
-  'app.settings.security.modify': '修改',
-  'app.settings.security.set': '设置',
-  'app.settings.security.bind': '绑定',
-  'app.settings.binding.taobao': '绑定淘宝',
-  'app.settings.binding.taobao-description': '当前未绑定淘宝账号',
-  'app.settings.binding.alipay': '绑定支付宝',
-  'app.settings.binding.alipay-description': '当前未绑定支付宝账号',
-  'app.settings.binding.dingding': '绑定钉钉',
-  'app.settings.binding.dingding-description': '当前未绑定钉钉账号',
-  'app.settings.binding.bind': '绑定',
-  'app.settings.notification.password': '账户密码',
-  'app.settings.notification.password-description': '其他用户的消息将以站内信的形式通知',
-  'app.settings.notification.messages': '系统消息',
-  'app.settings.notification.messages-description': '系统消息将以站内信的形式通知',
-  'app.settings.notification.todo': '待办任务',
-  'app.settings.notification.todo-description': '待办任务将以站内信的形式通知',
-  'app.settings.open': '开',
-  'app.settings.close': '关',
-};

+ 0 - 22
src/manifest.json

@@ -1,22 +0,0 @@
-{
-  "name": "Ant Design Pro",
-  "short_name": "Ant Design Pro",
-  "display": "standalone",
-  "start_url": "./?utm_source=homescreen",
-  "theme_color": "#002140",
-  "background_color": "#001529",
-  "icons": [
-    {
-      "src": "icons/icon-192x192.png",
-      "sizes": "192x192"
-    },
-    {
-      "src": "icons/icon-128x128.png",
-      "sizes": "128x128"
-    },
-    {
-      "src": "icons/icon-512x512.png",
-      "sizes": "512x512"
-    }
-  ]
-}

+ 0 - 17
src/models/controller.ts

@@ -1,17 +0,0 @@
-import React, { useState, useCallback } from 'react';
-
-export default function () {
-  const [menuVisible, setMenuVisible] = useState<boolean>(false);
-
-  const closeMenu: () => void = () => {
-    setMenuVisible(false);
-  };
-  const toggleMenu: () => void = () => {
-    setMenuVisible(!menuVisible);
-  };
-  return {
-    menuVisible,
-    toggleMenu,
-    closeMenu,
-  };
-}

+ 0 - 30
src/models/searchInfo.ts

@@ -1,30 +0,0 @@
-import React, { useState, useCallback } from 'react';
-
-export default function () {
-  const [searchBuildId, setSearchBuildId] = useState<string>(); //搜索的建筑id
-  const [searchFloorId, setSearchFloorId] = useState<string>(); //搜索的楼层id
-  const [searchText, setSearchText] = useState<any>({}); //搜索的空间名字
-  const [searchSpace, setSearchSpace] = useState<any>({}); //搜索的空间信息
-  const changeSearchBuildId = useCallback((value: string) => {
-    setSearchBuildId(value);
-  }, []);
-  const changeSearchFloorId = useCallback((value: string) => {
-    setSearchFloorId(value);
-  }, []);
-  const changeSearchText = useCallback((value: any) => {
-    setSearchText(value);
-  }, []);
-  const changeSearchSpace = useCallback((value: any) => {
-    setSearchSpace(value);
-  }, []);
-  return {
-    searchBuildId,
-    searchFloorId,
-    searchText,
-    searchSpace,
-    changeSearchBuildId,
-    changeSearchFloorId,
-    changeSearchText,
-    changeSearchSpace,
-  };
-}

+ 0 - 60
src/models/spaceFunc.ts

@@ -1,60 +0,0 @@
-import React, { useState, useCallback } from 'react';
-
-export default function () {
-  const allFunc = {
-    office: ['140', '311', '312', '310'],
-    work: ['300', '314', '313', '315', '921', '922', '923', '924', '925', '926'],
-    meeting: ['321', '322', '323'],
-    rest: ['170', '331', '931', '932', '933', '934', '935', '936', '937', '938'], //休闲
-    device: [
-      '211',
-      '212',
-      '221',
-      '222',
-      '223',
-      '231',
-      '232',
-      '233',
-      '234',
-      '235',
-      '236',
-      '237',
-      '241',
-      '242',
-      '243',
-      '244',
-      '245',
-      '251',
-      '252',
-      '253',
-      '254',
-    ], //设备
-    washroom: ['111', '112'], //卫生间
-    lift: ['130', '120'], //电梯
-    stair: ['140'], //楼梯
-    dining: ['441', '442', '443', '451', '452', '453', '461', '462', '471', '472'], //用餐
-
-    public: ['100', '1A0', '0'], //公共
-    sport: ['690', '932', '934'], //运动
-    swim: ['933', '6A0'],
-    reception: ['331', '160'], //接待
-    book: ['935'], //图书馆
-    activity: ['936', '937', '938', '915'], //活动 学生活动室等
-    experiment: ['921', '922', '923', '920', '926', '924', '925'], //实验室
-    cloth: ['112'], //更衣室
-    control: ['243', '332'], //中控 值班室
-  };
-  //获取房间类型 来显示相应的图片
-  const getSpaceFunc = useCallback((spaceCode: any) => {
-    for (var key in allFunc) {
-      var codeArr = allFunc[key];
-      if (codeArr.indexOf(spaceCode) > -1) {
-        return key;
-      }
-    }
-  }, []);
-
-  return {
-    getSpaceFunc,
-  };
-}

File diff suppressed because it is too large
+ 0 - 117
src/pages/Environment/components/chartModal/index.jsx


+ 0 - 115
src/pages/Environment/components/chartModal/index.less

@@ -1,115 +0,0 @@
-.main {
-  //   height: 680px;
-  background-color: #fff;
-  border-radius: 20px;
-  .header {
-    position: relative;
-    z-index: 1;
-    display: flex;
-    align-items: center;
-    height: 90px;
-    padding: 0 40px;
-    background: #f3f3f3;
-    border-radius: 20px 20px 0 0;
-  }
-
-  .close {
-    position: absolute;
-    top: 15px;
-    right: 15px;
-    z-index: 2;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    width: 36px;
-    height: 36px;
-    color: #c4c4c4;
-    font-size: 20px;
-    border-radius: 100%;
-    cursor: pointer;
-    transition: background-color 0.1s cubic-bezier(0.075, 0.82, 0.165, 1);
-    &:hover {
-      background-color: #fff;
-    }
-  }
-
-  .title {
-    color: #000;
-    font-weight: 600;
-    font-size: 20px;
-  }
-  .content {
-    padding: 0px 50px;
-
-    .navigator {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      height: 110px;
-      .nitem {
-        width: 80px;
-        height: 40px;
-        margin: 0 6px;
-        color: #c4c4c4;
-        font-size: 18px;
-        line-height: 40px;
-        text-align: center;
-        cursor: pointer;
-        &.sel {
-          color: #fff;
-          background-color: #00dc23;
-        }
-      }
-    }
-    .chart {
-      height: 220px;
-    }
-  }
-
-  .foot {
-    display: flex;
-    margin-top: 47px;
-    .l {
-      width: 65px;
-      height: 86px;
-      color: #000;
-      font-size: 18px;
-      line-height: 86px;
-      text-align: center;
-      background: rgba(0, 220, 35, 0.2);
-      border-radius: 5px;
-    }
-    .r {
-      flex: 1;
-      padding-left: 22px;
-      color: #4d5262;
-      line-height: 22px;
-      text-align: justify;
-    }
-  }
-  .chartText {
-    padding: 10px 0;
-    color: #c4c4c4;
-  }
-  .leveSt {
-    padding-top: 40px;
-    color: #140050;
-    font-weight: 500;
-    line-height: 12px;
-  }
-  .ruleBox {
-    display: flex;
-    justify-content: center;
-    padding: 20px 0;
-    .ruleImg {
-      width: 305px;
-      height: 96px;
-    }
-  }
-
-  .noNum {
-    color: #c4c4c4;
-    line-height: 220px;
-    text-align: center;
-  }
-}

+ 0 - 126
src/pages/Environment/components/chartModal/lineChart.jsx

@@ -1,126 +0,0 @@
-import React, { useState, useEffect, useRef } from 'react';
-import { Line } from '@ant-design/plots';
-import { Spin } from 'antd';
-import styles from './index.less';
-import { queryPropertyData } from '@/services/sgservice/environment';
-export default ({ paramObj, spaceId }) => {
-  let [data, setData] = useState([]);
-  let [levelMax, setLevelMax] = useState(0);
-  const dealTime = (date) => {
-    const str = date.substr(8, 4);
-    const time = str.slice(0, 2) + ':' + str.slice(2);
-    return time;
-  };
-  useEffect(() => {
-    if (paramObj.id && spaceId) {
-      fn();
-    }
-  }, [paramObj, spaceId]);
-  const fn = async () => {
-    setData([]);
-    let dataArr = [];
-    if (paramObj.id == 'Tdb,RH') {
-      const arrId = paramObj.id.split(',');
-      let resArr = [];
-      arrId.forEach((item, idx) => {
-        const type = item == 'Tdb' ? '温度' : '湿度';
-        const resData = getChartData(item, type);
-        resArr.push(resData);
-      });
-      Promise.all(resArr).then((res) => {
-        const resData = [...res[0], ...res[1]];
-        setData(resData);
-      });
-    } else {
-      const resData = await getChartData(paramObj.id, paramObj.name);
-      setData(resData);
-    }
-  };
-  const getChartData = (objId, type) => {
-    const params = {
-      spaceId: spaceId,
-      funcid: objId,
-    };
-    return queryPropertyData(params).then((res) => {
-      let chartArr = [];
-      if (res.dayTarget) {
-        let scalesCheckArr = [];
-        let arr = [];
-        const max = res.dayTarget[0] && res.dayTarget[0][paramObj.maxType];
-        setLevelMax(max); // 最大值
-        res.propertyData.shift();
-        arr = res.propertyData;
-        arr.forEach((itemArr) => {
-          let scales = '--';
-          if (itemArr[1] == '-9999') {
-            scalesCheckArr.push(itemArr[1]);
-            scales = '--';
-          } else {
-            scales = Number(itemArr[1].toFixed(paramObj.pointNum));
-          }
-          //   const scales =
-          //     itemArr[1] == '-9999' ? '--' : Number(itemArr[1].toFixed(paramObj.pointNum));
-          chartArr.push({ Date: dealTime(itemArr[0]), scales: scales, type: type });
-        });
-        if (scalesCheckArr.length == arr.length) {
-          // 有返回时间且数据都是-9999 显示暂无数据
-          return ['noNum'];
-        }
-      } else {
-        // 无返回数据 显示 该空间数据未配置
-        return ['notDeploy'];
-      }
-
-      return chartArr;
-    });
-  };
-  const config = {
-    data,
-    xField: 'Date',
-    yField: 'scales',
-    seriesField: 'type',
-    xAxis: {
-      range: [0, 1],
-    },
-    yAxis: {
-      tickCount: 6,
-    },
-    legend: {
-      layout: 'horizontal',
-      position: 'top-right',
-    },
-    annotations: [
-      // 辅助线
-      {
-        type: 'line',
-        start: [0, levelMax],
-        end: [data.length - 1, levelMax],
-        top: true,
-        style: {
-          stroke: paramObj.id == 'Tdb,RH' ? 'white' : 'red',
-          lineWidth: 1,
-        },
-      },
-    ],
-  };
-  if (data[0] == 'notDeploy') {
-    return <div className={styles.noNum}>该空间数据未配置</div>;
-  } else if (data[0] == 'noNum') {
-    return <div className={styles.noNum}>暂无数据</div>;
-  } else if (data.length > 3) {
-    return (
-      <>
-        <Line {...config} />
-        <div className={styles.chartText}>
-          <span>{paramObj.id == 'Tdb,RH' ? '温湿度逐时分布' : '浓度逐时分布'}</span>
-        </div>
-      </>
-    );
-  } else {
-    return (
-      <div className={styles.noNum}>
-        <Spin />
-      </div>
-    );
-  }
-};

+ 0 - 33
src/pages/Environment/index.less

@@ -1,33 +0,0 @@
-.label {
-  color: #c4c4c4;
-}
-.maptop {
-  box-sizing: border-box;
-  height: 39px;
-  padding-top: 10px;
-  padding-right: 20px;
-  .right {
-    display: flex;
-    float: right;
-    .indicatorBox {
-      .text {
-        padding-bottom: 7px;
-        color: #4d5262;
-        font-size: 11px;
-        line-height: 1;
-      }
-      .color {
-        width: 40px;
-        height: 4px;
-      }
-    }
-  }
-}
-
-//   .specialRoom {
-//     position: absolute;
-//     top: 0;
-//     right: 0;
-//     width: 180px;
-//     height: 170px;
-//   }

+ 0 - 360
src/pages/Environment/index.tsx

@@ -1,360 +0,0 @@
-import React, { useState, useEffect } from 'react';
-import { FormattedMessage, useModel, useRequest } from 'umi';
-import PageHeader from '@/sgcomponents/PageHeader';
-import Map from '@/sgcomponents/map';
-import SearchInput from '@/sgcomponents/SearchInput';
-import TopNavigator from '@/sgcomponents/topNavigator';
-import ChartModal from './components/chartModal';
-import moment from 'moment';
-import { getMapList, queryEnvironmentParam } from '@/services/sgservice/environment';
-import { projectId } from '@/config/api.js';
-import { equipImageMap } from '@/config/image.js';
-import { Spin } from 'antd';
-import Icon from '@/tenants-ui/SgIcon';
-
-import cx from 'classnames';
-import styles from './index.less';
-import mapstyles from '@/assets/css/map.less';
-
-export type navigatorItem = {
-  name: string;
-  id: string;
-  src: any;
-  unit?: string;
-  num?: number;
-  color: string;
-  colorStr: string;
-  opacity?: number;
-  indicator?: number[];
-  [key: string]: any;
-};
-const Environment: React.FC = () => {
-  const { searchSpace } = useModel('searchInfo');
-  const { envir_temperature, envir_wet, envir_co2, envir_pm25, envir_jiaquan } = equipImageMap;
-
-  const [showChart, setShowChart] = useState(false);
-  const [selFloorId, setSelFloorId] = useState<string>();
-  const [selBuildId, setSelBuildId] = useState<string>();
-  const [showSpace, setShowSpace] = useState<API.MapInfo>({}); //当前弹框选中的空间
-  const [navigatorList] = useState<navigatorItem[]>([
-    {
-      name: '温度',
-      id: 'Tdb',
-      src: envir_temperature,
-      unit: '℃',
-      color: '#E5574F',
-      colorStr: '229,87,79,',
-      opacity: 0.2, //透明度基数
-      indicator: [18, 21, 24, 27, 30],
-      fixed: 1,
-    },
-    {
-      name: '湿度',
-      id: 'RH',
-      src: envir_wet,
-      unit: '%',
-      color: '#9FB7CD',
-      colorStr: '159,183,205,',
-      opacity: 0.2,
-      indicator: [25, 35, 45, 55, 65],
-      fixed: 1,
-    },
-    {
-      name: 'CO₂',
-      id: 'CO2',
-      src: envir_co2,
-      unit: 'ppm',
-      color: '#00DC23',
-      colorStr: '0,220,35,',
-      opacity: 0.2,
-      indicator: [500, 700, 1000, 2000, 3000],
-      fixed: 0,
-    },
-    {
-      name: 'PM2.5',
-      id: 'PM2d5',
-      src: envir_pm25,
-      unit: 'ug/m³',
-      color: '#E89E32',
-      colorStr: '232,158,50,',
-      opacity: 0.2,
-      indicator: [15, 25, 35, 75, 90],
-      fixed: 1,
-    },
-    {
-      name: '甲醛',
-      id: 'HCHO',
-      src: envir_jiaquan,
-      unit: 'mg/m³',
-      color: '#140050',
-      colorStr: '20,0,80,',
-      opacity: 0.25,
-      indicator: [0.02, 0.05, 0.1, 0.15], //指标梯度
-      fixed: 2,
-    },
-  ]);
-  const [loading, setLoading] = useState<boolean>(false);
-  const [selNav, setSelNav] = useState<navigatorItem>(navigatorList[0]);
-  const [selNavId, setSelNavId] = useState<string>(navigatorList[0].id);
-  const [mapList, setMapList] = useState<API.MapInfo[]>([]);
-  const [mapSize, setMapSize] = useState<any>({});
-
-  const [envirMapList, setEnvirMapList] = useState<API.MapInfo[]>([]);
-  const [mapCombineList, setMapCombineList] = useState<any[]>([]);
-  const { getSpaceFunc } = useModel('spaceFunc');
-
-  const changeFloorId = (data: string) => {
-    setSelFloorId(data);
-  };
-  const changeBuildId = (data: string) => {
-    setSelBuildId(data);
-  };
-  //导航切换时
-  const navigatorChange = (item: navigatorItem) => {
-    setSelNav(item);
-    setSelNavId(item.id);
-  };
-
-  //根据指标的值  得到不同的透明度等级 第一级0.2 第二级0.4 依次往后
-  const getColorOpacity = (value: number): number => {
-    var indicator: number[] = selNav.indicator || []; //指标梯度
-    var number = indicator.length;
-    var res = 1;
-    for (var i = 0; i < number; i++) {
-      if (value >= indicator[i] && value < indicator[i + 1]) {
-        res = i + 1;
-        break;
-      }
-    }
-    return res;
-  };
-
-  //获取地图 mapList
-  useEffect(() => {
-    if (selFloorId) {
-      setLoading(true);
-      getMapList({
-        //floorId: 'Fl11010802593241ec348ecb4148806b9034c8957454',
-        floorId: selFloorId,
-      })
-        .then((res) => {
-          setLoading(false);
-          var data: API.MapInfo[] = (res.data || {}).spaceList || [];
-          var mapSize = {
-            width: (res.data || {}).width,
-            height: (res.data || {}).height,
-          };
-          setMapSize(mapSize);
-          //   data.forEach((item) => {
-          //     console.log('item', item);
-          //   });
-          setMapList(data);
-        })
-        .catch(() => {
-          setLoading(false);
-        });
-    } else {
-      setMapList([]);
-    }
-  }, [selFloorId]);
-  //请求环境数据
-  useEffect(() => {
-    if (selNavId && selFloorId) {
-      //setLoading(true);
-      var floorParams = [{ id: selFloorId, projectId: projectId }];
-      var endTime = moment();
-      var startTime = moment().subtract(30, 'minutes');
-      var startStr = startTime.format('YYYYMMDDHHmmss');
-      var endStr = endTime.format('YYYYMMDDHHmmss');
-
-      queryEnvironmentParam(floorParams, {
-        endTime: endStr,
-        startTime: startStr,
-        param: selNavId,
-      })
-        .then((res) => {
-          //setLoading(false);
-          var avgValues = (res.data || {}).avgValues;
-          avgValues = avgValues ? avgValues.toFixed(selNav.fixed) : avgValues;
-          var navTemp = { ...selNav, avgValues: avgValues };
-          setSelNav(navTemp);
-          //空间环境数据
-          var dataSpaces = ((res.data || {}).floors[0] || {}).dataSpaces || [];
-          setEnvirMapList(dataSpaces);
-        })
-        .catch(() => {
-          // setLoading(false);
-        });
-    }
-  }, [selNavId, selFloorId]);
-  //合并空间环境数据 和 空间数据
-  useEffect(() => {
-    var combineList: any = [];
-    mapList.map(function (mitem) {
-      var spaceId = mitem.spaceId;
-      var filterSpace = envirMapList.filter((ele) => {
-        return ele.id == spaceId;
-      });
-
-      var combine = Object.assign({}, mitem, filterSpace[0]);
-      combineList.push(combine);
-    });
-    setMapCombineList(combineList);
-  }, [envirMapList, mapList]);
-
-  const showChartModal = (item) => {
-    if (!item.roomFuncType) return;
-    setShowChart(true);
-    setShowSpace(item);
-  };
-  let firtTime: number = 0;
-  let lastTime: number = 0;
-  return (
-    <>
-      <PageHeader
-        title={<FormattedMessage id="menu.environment" />}
-        action={
-          <SearchInput />
-
-          //   <Input.Search
-          //     size="large"
-          //     allowClear
-          //     style={{ width: '230px' }}
-          //     placeholder={'搜索空间'}
-          //     onSearch={(s) => {
-          //       setSearchText(s);
-          //     }}
-          //   />
-        }
-      />
-
-      <TopNavigator
-        navigatorList={navigatorList}
-        type={'enviroment'}
-        navigatorChange={navigatorChange}
-        changeFloorId={changeFloorId}
-        changeBuildId={changeBuildId}
-        selParamObj={selNav}
-      ></TopNavigator>
-      <div className={styles.maptop}>
-        <div className={styles.right}>
-          {(selNav.indicator || []).map((item, index) => {
-            return (
-              <div className={styles.indicatorBox} key={index + 'indicator'}>
-                <div className={styles.text}>{item}</div>
-                <div
-                  className={styles.color}
-                  style={{
-                    backgroundColor:
-                      'rgba(' + selNav.colorStr + (selNav.opacity as number) * (index + 1) + ')',
-                  }}
-                ></div>
-              </div>
-            );
-          })}
-        </div>
-      </div>
-      <Spin spinning={loading} wrapperClassName={mapstyles.spinnclass}>
-        <Map
-          type={'enviroment'}
-          mapList={mapCombineList}
-          mapSize={mapSize}
-          selFloorId={selFloorId}
-          render={(item: API.MapInfo, index: number) => {
-            return (
-              <div
-                className={cx(mapstyles.houseWrap)}
-                key={index + 'house'}
-                style={{
-                  left: item.left,
-                  top: item.top,
-                  width: item.width,
-                  height: item.height,
-                }}
-              >
-                <div
-                  className={cx(mapstyles.house, {
-                    [mapstyles.notclick]:
-                      !item.roomFuncType || (!item.avgValues && item.avgValues != 0),
-                    [mapstyles.searchSel]: item.spaceId && item.spaceId === searchSpace.spaceId,
-                  })}
-                  style={{
-                    background: item.roomFuncType
-                      ? item.avgValues || item.avgValues == 0
-                        ? 'rgba(' +
-                          selNav.colorStr +
-                          (selNav.opacity as number) * getColorOpacity(item.avgValues) +
-                          ')'
-                        : ''
-                      : '',
-                  }}
-                  onClick={(event) => {
-                    event.stopPropagation();
-                    if (lastTime - firtTime < 200) {
-                      showChartModal(item);
-                    }
-                  }}
-                  onMouseDown={(event) => {
-                    //event.stopPropagation();
-                    firtTime = new Date().getTime();
-                  }}
-                  onMouseUp={(event) => {
-                    //event.stopPropagation();
-                    lastTime = new Date().getTime();
-                  }}
-                >
-                  <div className={mapstyles.content}>
-                    <div className={mapstyles.contentDiv}>
-                      <Icon
-                        className=""
-                        type={getSpaceFunc(item.roomFuncType)}
-                        style={{ fontSize: 20 }}
-                      ></Icon>
-                      <div className={mapstyles.name}>{item.localName}</div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            );
-          }}
-        ></Map>
-      </Spin>
-      {/* {mapList.map(function (item, index) {
-              return (
-                <div
-                  key={index + 'house'}
-                  className={mapstyles.house}
-                  style={{
-                    left: item.left,
-                    top: item.top,
-                    width: item.width,
-                    height: item.height,
-                    backgroundColor:
-                      'rgba(' +
-                      selNav.colorStr +
-                      (selNav.opacity as number) * getColorOpacity(item.value) +
-                      ')',
-                  }}
-                >
-                  <div className={mapstyles.content}>
-                    <Icon className="" type={item.type} style={{ fontSize: 20 }}></Icon>
-                    <div className={mapstyles.name}>{item.name}</div>
-                  </div>
-                </div>
-              );
-            })} */}
-
-      {showChart && (
-        <ChartModal
-          showSpace={showSpace}
-          selNav={selNav}
-          onClose={() => {
-            setShowChart(false);
-          }}
-        ></ChartModal>
-      )}
-    </>
-  );
-};
-
-export default Environment;

+ 0 - 73
src/pages/Equipment/checLampStatus.js

@@ -1,73 +0,0 @@
-import { setallLampHttp, getStatusHttp } from '@/services/sgservice/equipment';
-// import { message } from 'antd';
-
-// 定时调用 查询指令接口
-export const checkChangeLightStatusSuccess = (paramsArr, resultArr, fn) => {
-    let checkParams = paramsArr;
-    checkParams.forEach((item) => {
-        for (let i = 0; i < resultArr.length; i++) {
-            if ((item.id = resultArr[i].id)) {
-                item.orderSeqNum = resultArr[i].orderSeqNum;
-            }
-        }
-    });
-    getStatusHttp(checkParams).then((res) => {
-        judgeChangeResponeseSuccess(res, paramsArr, fn);
-    });
-};
-
-//   检查开关指令下发状态
-export const judgeChangeResponeseSuccess = (response, paramsArr, fn) => {
-    let resFlag = false;
-    let resultArr = JSON.parse(JSON.stringify(response.content));
-    resultArr &&
-        resultArr.forEach((item) => {
-            if (
-                (item.state === 200 && item.exeResult === 'processing:rcvd') ||
-                (item.state === 202 && !item.exeResult)
-            ) {
-                resFlag = true;
-            } else {
-                resultArr.splice(item, 1);
-            }
-        });
-    // if (resFlag) {
-    //     setTimeout(() => {
-    //         checkChangeLightStatusSuccess(paramsArr, resultArr, fn);
-    //     }, 500);
-    // } else {
-    fn && fn(); // 查询灯设备
-    // }
-    /*
-    if (result.result === 'success') {
-      if (!resFlag && result.state === 200 && result.exeResult === 'success') {
-        console.log('成功了');
-        fn(); // 查询灯设备
-      } else if (
-        (resFlag && result.state === 200 && result.exeResult === 'processing:rcvd') ||
-        (resFlag && result.state === 202 && !result.exeResult)
-      ) {
-        setTimeout(() => {
-          checkChangeLightStatusSuccess(paramsArr, resultArr, fn);
-        }, 500);
-      } else if (result.state === 200 && result.exeResult === 'fail:timeout') {
-        message.error('网络超时,请重试');
-      } else {
-        message.error('操作失败,请重试');
-      }
-    } else {
-      message.error('操作失败,请重试');
-    }
-    */
-};
-
-//  开关
-export const setallLamps = (paramsArr, fn, waitSetResultFlag) => {
-    //debugger;
-    setallLampHttp(paramsArr).then((res) => {
-        //debugger;
-        waitSetResultFlag && (waitSetResultFlag.current = false);
-        judgeChangeResponeseSuccess(res, paramsArr, fn);
-    });
-};
-

+ 0 - 172
src/pages/Equipment/components/deviceModal/airEq/index.jsx

@@ -1,172 +0,0 @@
-import React, { useState, useEffect, useRef } from 'react';
-import { message } from 'antd';
-import styles from './index.less';
-import commonStyles from '../common.less';
-import { equipImageMap } from '@/config/image.js';
-import AnSwitch from '../anSwitch';
-import { getFeedbackDocumentsHttp, changeAirHttp } from '@/services/sgservice/equipment';
-
-export default ({ spaceId, projectId }) => {
-  const {
-    airOpen,
-    airClose,
-    temp_down,
-    temp_up,
-    temp_keep,
-    arrow_down,
-    arrow_up,
-    wind_up,
-    wind_down,
-  } = equipImageMap;
-  const hasAir = true;
-  const [isOpen, setIsOpen] = useState(true);
-  const [imgSrc, setImgSrc] = useState(null);
-  let timer = useRef(null);
-  const [spaceStatus, setStatusText] = useState('null');
-  const airExpend = [
-    {
-      title: '温度调节',
-      type: 'temp',
-      downType: 4,
-      upType: 2,
-      leftImg: arrow_down,
-      rightImg: arrow_up,
-    },
-    {
-      title: '风量调节',
-      type: 'wind',
-      downType: 5,
-      upType: 6,
-      leftImg: wind_down,
-      rightImg: wind_up,
-    },
-  ];
-  const statusImg = (icon) => {
-    switch (icon) {
-      case 1:
-        return setImgSrc(temp_keep);
-        break;
-      case 2:
-        return setImgSrc(temp_down);
-        break;
-      case 3:
-        return setImgSrc(temp_up);
-        break;
-
-      default:
-        break;
-    }
-  };
-
-  function timerGetAirInfo(timeLong) {
-    clearInterval(timer.current);
-    timer.current = setInterval(() => {
-      getAirInfo(); // 获取空调状态
-    }, timeLong);
-  }
-
-  function changeSwitch(val) {
-    const itemIdSum = val ? 12 : 10; // 10关闭 12开启
-    clearInterval(timer.current);
-    changeAir(itemIdSum);
-  }
-
-  const getAirInfo = () => {
-    const paramsObj = {
-      objectId: spaceId,
-      projectId: projectId,
-    };
-    getFeedbackDocumentsHttp(paramsObj).then((res) => {
-      const val = res.icon == 7 ? false : true;
-      setIsOpen(val); // 开关
-      setStatusText(res.spaceStatus); // 状态文案
-      statusImg(res.icon); // icon
-    });
-  };
-
-  const changeAir = (itemId) => {
-    const paramsObj = {
-      objectId: spaceId, // 空间id
-      valueType: 1, // 固定为1
-      itemId: itemId,
-    };
-    changeAirHttp(paramsObj).then((res) => {
-      if (res.result == 'success') {
-        message.success('指令下发成功');
-        getAirInfo();
-        timerGetAirInfo(3000);
-      } else {
-        message.error('操作失败,请重试');
-      }
-    });
-  };
-
-  useEffect(() => {
-    getAirInfo(); // 获取空调状态
-    timerGetAirInfo(3000);
-    return () => {
-      clearInterval(timer.current);
-    };
-  }, []);
-
-  const AirExpend = () => {
-    if (isOpen) {
-      return (
-        <>
-          <div className={styles.expend}>
-            {airExpend.map((items, idx) => {
-              return (
-                <div className={styles.item} key={idx}>
-                  <div>{items.title}</div>
-                  <div className={styles.itemRight}>
-                    <div className={styles.itemBg} onClick={() => changeAir(items.downType)}>
-                      <img className={styles.itemImg} src={items.leftImg} />
-                    </div>
-                    <div className={styles.itemBg} onClick={() => changeAir(items.upType)}>
-                      <img className={styles.itemImg} src={items.rightImg} />
-                    </div>
-                  </div>
-                </div>
-              );
-            })}
-          </div>
-        </>
-      );
-    } else {
-      return <></>;
-    }
-  };
-
-  return (
-    <div className={styles.box}>
-      <div className={styles.content}>
-        <div className={styles.env}>
-          <div className={styles.envLeft}>
-            <span className={commonStyles.eqTitle}>空调</span>
-            <div className={styles.airStatus}>
-              <span className={styles.airStatusText}>{isOpen ? '空调已开启' : '空调已关闭'}</span>
-              {isOpen && (
-                <div className={styles.airStatusbox}>
-                  <img className={styles.airStatusImg} src={imgSrc} />
-                  <span className={styles.statusText}>{spaceStatus}</span>
-                </div>
-              )}
-            </div>
-          </div>
-          <div className={styles.envRight}>
-            <img className={styles.roomAirImg} src={isOpen ? airOpen : airClose} />
-          </div>
-          <div
-            onClick={() => {
-              changeSwitch(!isOpen);
-            }}
-            className={commonStyles.eqBtn}
-          >
-            <AnSwitch isOpen={isOpen} />
-          </div>
-        </div>
-      </div>
-      <AirExpend></AirExpend>
-    </div>
-  );
-};

+ 0 - 117
src/pages/Equipment/components/deviceModal/airEq/index.less

@@ -1,117 +0,0 @@
-.box {
-  width: 331px;
-  margin-bottom: 15px;
-  background: hsl(0, 0%, 100%);
-  border-radius: 25px;
-  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.07), 0px 4px 10px rgba(0, 0, 0, 0.05);
-  .content {
-    .env {
-      position: relative;
-      display: flex;
-      .envLeft {
-        flex: 1 1 auto;
-        height: 140px;
-        padding-top: 24px;
-        padding-left: 30px;
-        // .envnum {
-        //   display: flex;
-        //   flex-direction: row;
-        //   align-items: flex-start;
-        //   padding-top: 5px;
-        //   padding-bottom: 5px;
-        //   color: #1b144e;
-        //   font-weight: 400;
-        //   font-size: 32px;
-        //   font-family: Montserrat;
-        //   line-height: 32px;
-        //   .unit {
-        //     color: #c4c4c4;
-        //     font-weight: 800;
-        //     font-size: 12px;
-        //     font-family: Mulish;
-        //     font-style: normal;
-        //     line-height: 15px;
-        //   }
-        // }
-      }
-      .envRight {
-        width: 165px;
-        height: 140px;
-        .roomAirImg {
-          width: 165px;
-          height: 140px;
-        }
-      }
-    }
-    .airStatus {
-      color: rgba(196, 196, 196, 1);
-      font-weight: 400;
-      font-size: 14px;
-      font-family: PingFang SC;
-      line-height: 20px;
-      .airStatusText {
-        display: inline-block;
-        padding-top: 10px;
-      }
-      .airStatusbox {
-        display: flex;
-        align-items: center;
-        padding-top: 28px;
-        .airStatusImg {
-          width: 12px;
-          height: 12px;
-          margin-right: 3px;
-        }
-        .statusText {
-          display: inline-block;
-          width: 120px;
-          overflow: hidden;
-          font-size: 11px;
-          line-height: 18px;
-          white-space: nowrap;
-          text-overflow: ellipsis;
-        }
-      }
-    }
-    .airBtn {
-      position: absolute;
-      top: 103px;
-      right: 15px;
-    }
-  }
-  .expend {
-    .item {
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      height: 60px;
-      padding-right: 14px;
-      padding-left: 27px;
-      color: rgba(196, 196, 196, 1);
-      font-weight: 400;
-
-      font-size: 14px;
-      line-height: 20px;
-      border-top: 1px solid rgba(196, 196, 196, 0.4);
-      .itemRight {
-        display: flex;
-      }
-      .itemBg {
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        width: 42px;
-        height: 42px;
-        background: rgba(196, 196, 196, 0.2);
-        border-radius: 50%;
-      }
-      .itemBg:nth-child(1) {
-        margin-right: 20px;
-      }
-      .itemImg {
-        width: 20px;
-        height: 20px;
-      }
-    }
-  }
-}

+ 0 - 12
src/pages/Equipment/components/deviceModal/anSwitch/index.jsx

@@ -1,12 +0,0 @@
-import React, { useState, useEffect } from 'react';
-import './index.less';
-
-export default ({ isOpen }) => {
-  return (
-    <div className="box">
-      <div className={`content ${isOpen ? null : 'closeBg'}`}>
-        <div className={`point  ${isOpen ? null : 'closePt'}`}></div>
-      </div>
-    </div>
-  );
-};

+ 0 - 35
src/pages/Equipment/components/deviceModal/anSwitch/index.less

@@ -1,35 +0,0 @@
-.box {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 54px;
-  height: 30px;
-  .content {
-    position: relative;
-    width: 48px;
-    height: 24px;
-    padding: 3px;
-    background: #ffe823;
-    border-radius: 12px;
-    transition: background-color 0.3s;
-    &.closeBg {
-      background: #c4c4c433;
-      transition: background-color 0.3s;
-    }
-    .point {
-      position: absolute;
-      top: 0;
-      width: 24px;
-      height: 24px;
-      background: #ffffff;
-      border: 1px solid #c4c4c4;
-      border-radius: 50%;
-      box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.03);
-      transform: translate(90%, 0%);
-      transition: transform 0.3s cubic-bezier(0.3, 1.05, 0.4, 1.05);
-      &.closePt {
-        transform: translate(-10%, 0%);
-      }
-    }
-  }
-}

+ 0 - 110
src/pages/Equipment/components/deviceModal/common.less

@@ -1,110 +0,0 @@
-.box {
-  width: 331px;
-  margin-bottom: 15px;
-  background: hsl(0, 0%, 100%);
-  border-radius: 25px;
-  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.07), 0px 4px 10px rgba(0, 0, 0, 0.05);
-  .content {
-    .env {
-      position: relative;
-      display: flex;
-      .envLeft {
-        flex: 1 1 auto;
-        height: 140px;
-        padding-top: 24px;
-        padding-left: 30px;
-      }
-      .envRight {
-        width: 165px;
-        height: 140px;
-        .roomEqImg {
-          width: 165px;
-          height: 140px;
-        }
-      }
-    }
-  }
-}
-
-.eqTitle {
-  color: #4d5262;
-  font-weight: 600;
-  font-size: 16px;
-  font-family: PingFang SC;
-  font-style: normal;
-  line-height: 22px;
-  letter-spacing: 0em;
-  text-align: left;
-}
-.eqStatus {
-  padding-top: 5px;
-  color: rgba(196, 196, 196, 1);
-  font-weight: 400;
-  font-size: 14px;
-  font-family: PingFang SC;
-  line-height: 20px;
-}
-
-.eqBtn {
-  position: absolute;
-  top: 103px;
-  right: 15px;
-}
-
-.flexBetween {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-
-.showAll {
-  display: flex;
-  padding-top: 30px;
-  color: #c4c4c4;
-  .showAllText {
-    font-weight: 400;
-    font-size: 14px;
-    line-height: 20px;
-  }
-  .showImg {
-    width: 22px;
-    height: 22px;
-    margin-right: 5px;
-  }
-}
-
-.pdt10 {
-  padding-top: 10px;
-}
-
-.dsflex {
-  display: flex;
-}
-
-.eqCirculBtn {
-  position: absolute;
-  top: 86px;
-  right: 15px;
-  display: flex;
-}
-
-.mgr20 {
-  margin-right: 20px;
-}
-
-.circulBtn {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 40px;
-  height: 40px;
-  background: rgba(196, 196, 196, 0.2);
-  border-radius: 50%;
-  &.yell {
-    background: #ffe823;
-  }
-  .btnIcon {
-    width: 20px;
-    height: 20px;
-  }
-}

+ 0 - 100
src/pages/Equipment/components/deviceModal/curtainEq/curtainBtn.jsx

@@ -1,100 +0,0 @@
-import React, { useState, useEffect, useCallback, useRef } from 'react';
-import commonStyles from '../common.less';
-import { equipImageMap } from '@/config/image.js';
-import { setEquipeHttp } from '@/services/sgservice/equipment';
-
-const { curtain_close_icon_row, curtain_open_icon_row } = equipImageMap;
-
-export default ({
-  id,
-  isTotal,
-  preTime,
-  changePreTime,
-  changeCurtainTex,
-  curtainArr,
-  projectId,
-}) => {
-  const [downFlag, setDownFlag] = useState(false);
-  const [upFlag, setUpFlag] = useState(false);
-  const [count, setCount] = useState();
-  let setTimer = useRef(null);
-  const sendData = (setType, id) => {
-    let arr = [];
-    if (isTotal) {
-      curtainArr.forEach((item) => {
-        arr.push({
-          equipmentCategory: 'CFSSES',
-          infoCode: setType,
-          value: 1,
-          objectId: item.id,
-        });
-      });
-    } else {
-      const params = {
-        projectId: projectId,
-        objectId: id, // 设备ID/窗帘组ID
-        equipmentCategory: 'CFSSES', // 设备编码 窗帘:CFSSES
-        infoCode: setType, // 窗帘开设定:EquipOnSet 窗帘关设定:EquipOffSet
-        value: 1, // 窗帘 1 移动/停止
-      };
-      arr.push(params);
-    }
-    return arr;
-  };
-  const handleCurtain = (setType, id, index) => {
-    const nowTime = Date.now();
-    if (nowTime - preTime <= 2000) return; // 请求间隔 2秒
-    changePreTime(Date.now());
-    const paramsArr = sendData(setType, id);
-    setEquipeHttp(paramsArr);
-    if (setType == 'EquipOffSet') {
-      setDownFlag(true);
-      setUpFlag(false);
-    } else {
-      setUpFlag(true);
-      setDownFlag(false);
-    }
-    setCount(2);
-    setTimer.current = setInterval(() => {
-      setCount((count) => {
-        return count - 1;
-      });
-    }, 1000);
-  };
-
-  useEffect(() => {
-    if (count == 2) changeCurtainTex('指令下发中…');
-    if (count == 1) changeCurtainTex('再次点击停止窗帘');
-    if (count === 0) {
-      changeCurtainTex('');
-      setDownFlag(false);
-      setUpFlag(false);
-      clearInterval(setTimer.current);
-    }
-  }, [count]);
-  return (
-    <>
-      <div
-        onClick={() => {
-          handleCurtain('EquipOffSet', id, 1);
-        }}
-        className={`${commonStyles.circulBtn} ${commonStyles.mgr20} ${
-          downFlag ? commonStyles.yell : ''
-        }`}
-      >
-        {downFlag && <div>{count}</div>}
-        {!downFlag && <img className={commonStyles.btnIcon} src={curtain_close_icon_row}></img>}
-      </div>
-
-      <div
-        onClick={() => {
-          handleCurtain('EquipOnSet', id, 2);
-        }}
-        className={`${commonStyles.circulBtn}  ${upFlag ? commonStyles.yell : ''}`}
-      >
-        {upFlag && <div>{count}</div>}
-        {!upFlag && <img className={commonStyles.btnIcon} src={curtain_open_icon_row}></img>}
-      </div>
-    </>
-  );
-};

+ 0 - 105
src/pages/Equipment/components/deviceModal/curtainEq/index.jsx

@@ -1,105 +0,0 @@
-import React, { useState, useEffect, useCallback } from 'react';
-import styles from './index.less';
-import commonStyles from '../common.less';
-import { equipImageMap } from '@/config/image.js';
-import CurtainBtn from './curtainBtn';
-import { getObjectDataEqpGroupHttp } from '@/services/sgservice/equipment';
-
-const { curtain_open_row, expend_down, expend_up } = equipImageMap;
-
-export default ({ spaceId, projectId }) => {
-  const [isMore, setIsMore] = useState(false); // 可以展开
-  const [flagSvg, setFlagSvg] = useState(false); // 箭头方向
-  const [suspendDownFlag, setSuspendDownFlag] = useState(true); // 总向下暂停
-  const [suspendUpFlag, setSuspendUpFlag] = useState(false); // 总向下暂停
-  const [count, setCount] = useState(2); // 倒计时
-  const [countText, setCountText] = useState(); // 倒计时文案
-  const [curtainArr, setCurtainArr] = useState([]); // 窗帘数据
-  const [preTime, setPreTime] = useState(Date.now());
-  const [curtainText, setCurtainText] = useState('');
-  function handleExpend() {
-    setFlagSvg(!flagSvg);
-  }
-  const changePreTime = useCallback((val) => {
-    setPreTime(val);
-  });
-  const changeCurtainTex = useCallback((val) => {
-    setCurtainText(val);
-  });
-  useEffect(() => {
-    const params = {
-      criteria: {
-        projectId: projectId,
-        spaceId: spaceId,
-        type: 0,
-      },
-      orders: [{ column: 'sortNum', asc: true }],
-    };
-    getObjectDataEqpGroupHttp(params).then((res) => {
-      let arr = res.content;
-      if (arr.length > 1) {
-        setIsMore(true);
-      } else {
-        setIsMore(false);
-      }
-      setCurtainArr(arr);
-    });
-  }, []);
-
-  return (
-    <div className={commonStyles.box}>
-      <div className={commonStyles.content}>
-        <div className={commonStyles.env}>
-          <div className={commonStyles.envLeft}>
-            <span className={commonStyles.eqTitle}>{isMore ? '窗帘' : curtainArr[0]?.name}</span>
-            <div className={`${commonStyles.eqStatus} ${commonStyles.pdt10}`}>
-              <span>{curtainText}</span>
-            </div>
-            {isMore && (
-              <div className={commonStyles.showAll} onClick={handleExpend}>
-                <img className={commonStyles.showImg} src={flagSvg ? expend_up : expend_down}></img>
-                <div className={commonStyles.showAllText}>显示全部</div>
-              </div>
-            )}
-          </div>
-          <div className={commonStyles.envRight}>
-            <img className={commonStyles.roomEqImg} src={curtain_open_row} />
-          </div>
-          {!flagSvg && (
-            <div className={commonStyles.eqCirculBtn}>
-              <CurtainBtn
-                id=""
-                isTotal={true}
-                preTime={preTime}
-                changePreTime={changePreTime}
-                changeCurtainTex={changeCurtainTex}
-                curtainArr={curtainArr}
-                projectId={projectId}
-              ></CurtainBtn>
-            </div>
-          )}
-        </div>
-      </div>
-      {curtainArr.map((item, idx) => {
-        if (flagSvg) {
-          return (
-            <div className={`${styles.lampChild} ${commonStyles.flexBetween}`} key={item.id}>
-              <div className={commonStyles.eqTitle}>{item.name}</div>
-              <div className={commonStyles.dsflex}>
-                <CurtainBtn
-                  id={item.id}
-                  isTotal={false}
-                  preTime={preTime}
-                  changePreTime={changePreTime}
-                  changeCurtainTex={changeCurtainTex}
-                  curtainArr={curtainArr}
-                  projectId={projectId}
-                ></CurtainBtn>
-              </div>
-            </div>
-          );
-        }
-      })}
-    </div>
-  );
-};

+ 0 - 6
src/pages/Equipment/components/deviceModal/curtainEq/index.less

@@ -1,6 +0,0 @@
-.lampChild {
-  height: 60px;
-  padding-right: 12px;
-  padding-left: 30px;
-  border-top: 1px solid rgba(196, 196, 196, 0.4);
-}

+ 0 - 280
src/pages/Equipment/components/deviceModal/index.jsx

@@ -1,280 +0,0 @@
-import React, { useState, useEffect, useMemo } from 'react';
-import { Modal, Row, Col } from 'antd';
-import Icon from '@/tenants-ui/SgIcon';
-import styles from './index.less';
-import { equipImageMap } from '@/config/image.js';
-import AirEq from './airEq';
-import LampEq from './lampEq';
-import CurtainEq from './curtainEq';
-import { getSpaceAdjustList } from '@/services/sgservice/equipment';
-import { useRef } from 'react';
-import { useModel } from 'umi';
-import { projectId } from '@/config/api.js';
-
-export default ({ onClose, showSpace }) => {
-  const envArr = [
-    {
-      name: '温度',
-      id: 'temperature',
-      num: '0',
-      describe: '--',
-    },
-    {
-      name: 'CO₂',
-      id: 'co2',
-      num: '0',
-      describe: '--',
-    },
-    {
-      name: 'PM2.5',
-      id: 'pm25',
-      num: '0',
-      describe: '--',
-    },
-    {
-      name: '甲醛',
-      id: 'hcho',
-      num: '0',
-      describe: '--',
-    },
-    {
-      name: '湿度',
-      id: 'humidity',
-      num: '0',
-      unit: '%',
-      describe: '--',
-    },
-  ];
-  const checkLevel = (value, name) => {
-    if (value || value == 0) {
-      let objList = {
-        temperature: {
-          range: [20, 24],
-          text: ['偏冷', '舒适', '偏热'],
-        },
-        humidity: {
-          range: [30, 70],
-          text: ['干燥', '健康', '潮湿'],
-        },
-        co2: {
-          range: [800, 1000, 1500],
-          text: ['健康', '达标', '略高', '超标'],
-        },
-        pm25: {
-          range: [35, 75, 115, 150, 250],
-          text: ['健康', '良', '轻度污染', '中度污染', '重度污染', '严重污染'],
-        },
-        hcho: {
-          range: [0.1],
-          text: ['健康', '超标'],
-        },
-      };
-      let sortArr = [value, ...objList[name].range].sort((a, b) => {
-        return a - b;
-      });
-
-      let level = sortArr.findIndex((item) => item === value);
-      let levelTxt = objList[name].text[level];
-      return { level, levelTxt };
-    } else {
-      return { level: '--', levelTxt: '--' };
-    }
-  };
-  const { officeImg } = equipImageMap;
-  const [currentType, setCurrentType] = useState('3s');
-  const [spaceName, setSpaceName] = useState('');
-  const [paramList, setParamList] = useState([]);
-  const [timeArr, setTimeArr] = useState([]);
-  let timer = useRef(null);
-  function showEqCard(type) {
-    let flag = false;
-    showSpace.equipList &&
-      showSpace.equipList.forEach((item) => {
-        if (item.equipType === type) return (flag = true);
-      });
-    return flag;
-  }
-
-  const getData = () => {
-    const paramsObj = {
-      criteria: {
-        spaceId: showSpace.id,
-        projectId: projectId,
-      },
-    };
-    getSpaceAdjustList(paramsObj).then((res) => {
-      res.content &&
-        res.content.forEach((item, idx) => {
-          envArr.forEach((jtem, jdx) => {
-            jtem.describe = checkLevel(item[jtem.id], jtem.id).levelTxt;
-            if (!item[jtem.id]) {
-              jtem.num = '--';
-              return;
-            }
-            if (jtem.id == 'humidity') {
-              jtem.num = item[jtem.id].toFixed(0);
-            } else if (jtem.id == 'hcho') {
-              jtem.num = item[jtem.id].toFixed(2);
-            } else if (jtem.id == 'temperature') {
-              jtem.num = item[jtem.id].toFixed(1);
-            } else {
-              jtem.num = item[jtem.id];
-            }
-          });
-          setParamList(envArr);
-        });
-    });
-  };
-
-  const operateTime = () => {
-    // 使用时间
-    let timeArr = [];
-    if (showSpace.meetTime && showSpace.workTimeStartTime) {
-      let arr = [];
-      const meetingArr = JSON.parse(JSON.stringify(showSpace.meetTime));
-
-      let startBetween = false; // 会议时间是否跨在 工作头部
-      let endBetween = false; // 会议时间是否跨在 工作尾部
-      let workTimeStartTime = showSpace.workTimeStartTime; // 工作开始时间
-      let workTimeEndTime = showSpace.workTimeEndTime; // 工作开始时间
-      workTimeStartTime = workTimeStartTime.replace(':', '');
-      workTimeEndTime = workTimeEndTime.replace(':', '');
-      for (let i = meetingArr.length - 1; i >= 0; i--) {
-        let element = meetingArr[i];
-        let elementStartTime = element.meetTimeStartTime.replace(':', '');
-        let elementEndTime = element.meetTimeEndTime.replace(':', '');
-        if (elementEndTime > workTimeEndTime) {
-          // 比较工作时间的尾巴
-          if (elementStartTime > workTimeEndTime) {
-            arr.unshift(elementEndTime);
-            arr.unshift(elementStartTime);
-          } else {
-            arr.unshift(elementEndTime);
-            endBetween = true;
-          }
-        }
-
-        if (elementStartTime < workTimeStartTime) {
-          // 比较工作时间的头
-          if (elementEndTime < workTimeStartTime) {
-            arr.unshift(elementEndTime);
-            arr.unshift(elementStartTime);
-          } else {
-            arr.unshift(elementStartTime);
-            startBetween = true;
-          }
-        }
-      }
-      if (!startBetween && endBetween) {
-        // 尾巴交集
-        arr.push(workTimeStartTime);
-      }
-      if (startBetween && !endBetween) {
-        // 头部交集
-        arr.push(workTimeEndTime);
-      }
-      if (!startBetween && !endBetween) {
-        //无交集
-        arr.push(workTimeStartTime);
-        arr.push(workTimeEndTime);
-      }
-      arr = [...new Set(arr)].sort();
-      for (let j = 0; j < arr.length; j += 2) {
-        const element = arr[j].slice(0, 2) + ':' + arr[j].slice(2);
-        const elemNext = arr[j + 1].slice(0, 2) + ':' + arr[j + 1].slice(2);
-        timeArr.push(`${element}-${elemNext}`);
-      }
-    } else {
-      // 会议时间
-      showSpace.meetTime &&
-        showSpace.meetTime.forEach((item) => {
-          timeArr.push(`${item.meetTimeStartTime}-${item.meetTimeEndTime}`);
-        });
-      // 工作时间
-      showSpace.workTimeStartTime &&
-        timeArr.push(`${showSpace.workTimeStartTime}-${showSpace.workTimeEndTime}`);
-    }
-
-    // 加班时间
-    showSpace.overTimeStartTime &&
-      timeArr.push(`${showSpace.overTimeStartTime}-${showSpace.overTimeEndTime}`);
-
-    if (timeArr.length == 0) timeArr = ['--'];
-    return timeArr;
-  };
-
-  useEffect(() => {
-    getData();
-    timer = setInterval(() => {
-      getData();
-    }, 1000 * 60 * 5);
-    return () => {
-      clearInterval(timer);
-    };
-  }, []);
-
-  return (
-    <>
-      <Modal width={810} visible maskClosable={false} closable={false} footer={null}>
-        <div className={styles.main}>
-          <div className={styles.header}>
-            <div className={styles.show}>
-              <div className={styles.tileline}>
-                <img src={officeImg} className={styles.titleIcon}></img>
-                <span>{showSpace.localName}</span>
-              </div>
-              <div className={styles.timeLine}>
-                使用时间:
-                {operateTime().map((item, idx) => {
-                  return (
-                    <span className={styles.pdr10} key={idx}>
-                      {item}
-                    </span>
-                  );
-                })}
-              </div>
-            </div>
-            <div className={styles.close} onClick={onClose}>
-              <Icon type="close" />
-            </div>
-          </div>
-          <div className={styles.content}>
-            <div className={styles.infoList}>
-              {paramList.map((item, index) => {
-                return (
-                  <div className={styles.item} key={'navc' + item.id}>
-                    <div className={styles.title}>{item.name}</div>
-                    <div className={styles.num}>
-                      {item.num}
-                      {item.unit}
-                    </div>
-                    <div className={styles.describe}>{item.describe}</div>
-                  </div>
-                );
-              })}
-            </div>
-            <div className={styles.devices}>
-              <Row gutter={[12, 18]}>
-                {showEqCard('airConditioner') && (
-                  <Col span={12}>
-                    <AirEq spaceId={showSpace.id} projectId={projectId}></AirEq>
-                  </Col>
-                )}
-                {showEqCard('light') && (
-                  <Col span={12}>
-                    <LampEq spaceId={showSpace.id} projectId={projectId}></LampEq>
-                  </Col>
-                )}
-                {showEqCard('curtain') && (
-                  <Col span={12}>
-                    <CurtainEq spaceId={showSpace.id} projectId={projectId}></CurtainEq>
-                  </Col>
-                )}
-              </Row>
-            </div>
-          </div>
-        </div>
-      </Modal>
-    </>
-  );
-};

+ 0 - 126
src/pages/Equipment/components/deviceModal/index.less

@@ -1,126 +0,0 @@
-.main {
-  width: 100%;
-  height: 600px;
-  .header {
-    position: relative;
-    z-index: 1;
-    height: 120px;
-    background: rgb(221, 223, 229);
-    border-radius: 20px 20px 0 0;
-    .show {
-      display: flex;
-      flex-direction: column;
-      justify-content: center;
-      box-sizing: border-box;
-      width: 100%;
-      height: 120px;
-      padding-left: 68px;
-      .tileline {
-        position: relative;
-        color: #000;
-        font-weight: 600;
-        font-size: 20px;
-        .titleIcon {
-          position: absolute;
-          top: 0;
-          left: -36px;
-        }
-        .edit {
-          margin-left: 16px;
-          color: #c4c4c4;
-          font-size: 18px;
-          cursor: pointer;
-        }
-      }
-      .timeLine {
-        margin-top: 9px;
-        color: #4d5262;
-        font-size: 15px;
-        .pdr10 {
-          padding-right: 10px;
-        }
-      }
-    }
-    .editShow {
-      width: 100%;
-      height: 120px;
-      padding: 20px 40px 0 40px;
-      background: #fff;
-    }
-  }
-
-  .close {
-    position: absolute;
-    top: 15px;
-    right: 15px;
-    z-index: 2;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    width: 36px;
-    height: 36px;
-    color: #c4c4c4;
-    font-size: 20px;
-    border-radius: 100%;
-    cursor: pointer;
-    transition: background-color 0.1s cubic-bezier(0.075, 0.82, 0.165, 1);
-    &:hover {
-      background-color: #fff;
-    }
-  }
-
-  .content {
-    padding: 0 0 110px;
-    background-color: #eceff4;
-    border-radius: 0 0 20px 20px;
-    .infoList {
-      display: flex;
-      justify-content: space-between;
-      padding: 18px 150px;
-      //   align-items: center;
-      //   justify-content: center;
-      .item {
-        text-align: center;
-        .title {
-          color: #4d5262;
-          font-size: 10px;
-          line-height: 1;
-        }
-        .num {
-          color: #140050;
-          font-size: 24px;
-          line-height: 34px;
-        }
-        .describe {
-          color: #c4c4c4;
-          font-size: 12px;
-          line-height: 1;
-        }
-      }
-    }
-    .devices {
-      padding: 0 36px;
-    }
-  }
-
-  .foot {
-    display: flex;
-    margin-top: 40px;
-    .l {
-      width: 65px;
-      height: 86px;
-      color: #000;
-      font-size: 18px;
-      line-height: 86px;
-      text-align: center;
-      background: rgba(0, 220, 35, 0.2);
-      border-radius: 5px;
-    }
-    .r {
-      flex: 1;
-      padding-left: 22px;
-      color: #4d5262;
-      line-height: 22px;
-    }
-  }
-}

+ 0 - 145
src/pages/Equipment/components/deviceModal/lampEq/index.jsx

@@ -1,145 +0,0 @@
-import React, { useState, useEffect, useCallback, useRef } from 'react';
-import { message } from 'antd';
-import styles from './index.less';
-import commonStyles from '../common.less';
-import { equipImageMap } from '@/config/image.js';
-import AnSwitch from '../anSwitch';
-import { getLampHttp, getStatusHttp, setallLampHttp } from '@/services/sgservice/equipment';
-import { setallLamps } from '@/pages/Equipment/checLampStatus.js';
-const { lamp_open, lamp_close, expend_down, expend_up } = equipImageMap;
-export default ({ spaceId }) => {
-  const [isMore, setIsMore] = useState(false);
-  const [isOpen, setIsOpen] = useState(false); // 12 开, 10关
-  const [lampArr, setLampArr] = useState([]);
-  let startLightsStatusTimer = useRef(null);
-  //   let waitSetResultFlag = useRef(false); // 等待开关接口
-  const getLamp = useCallback(() => {
-    getLampHttp(spaceId).then(
-      (res) => {
-        // if (res.result != 'success' && waitSetResultFlag.current) return;
-        const arr = res.content;
-        if (arr.length > 1) {
-          setIsMore(true);
-          let totalIsOpen = false;
-          arr.forEach((item) => {
-            if (item.runStatus) {
-              totalIsOpen = true;
-            }
-          });
-          setIsOpen(totalIsOpen);
-        } else {
-          arr.forEach((item) => {
-            if (item.runStatus) {
-              setIsOpen(true);
-            } else {
-              setIsOpen(false);
-            }
-          });
-        }
-        setLampArr(arr);
-      },
-      (e) => {},
-    );
-  }, []);
-
-  function getLampTimer() {
-    clearInterval(startLightsStatusTimer.current);
-    startLightsStatusTimer.current = setInterval(() => {
-      getLamp(); // 灯设备状态
-    }, 3000);
-  }
-
-  useEffect(() => {
-    getLamp();
-    getLampTimer();
-    return () => {
-      clearInterval(startLightsStatusTimer.current);
-    };
-  }, []);
-
-  const [flagSvg, setFlagSvg] = useState(false);
-  function handleExpend() {
-    setFlagSvg(!flagSvg);
-  }
-  const changeSwitch = (val, type, id) => {
-    //  开关操作
-    clearInterval(startLightsStatusTimer.current);
-    let paramsArr = [];
-    if (type == 'total') {
-      lampArr.forEach((item) => {
-        item.runStatus = val;
-        paramsArr.push({
-          id: item.id,
-          switch: val,
-        });
-      });
-    } else {
-      lampArr.forEach((item) => {
-        if (item.id == id) {
-          item.runStatus = val;
-        }
-      });
-      paramsArr.push({ id: id, switch: val });
-    }
-    lampArr.forEach((item) => {
-      setIsOpen(item.runStatus); // 总开关
-    });
-    // waitSetResultFlag.current = true;
-    setTimeout(() => {
-      setLampArr([...lampArr]);
-    }, 500);
-    setallLampHttp(paramsArr).then((res) => {
-      getLampTimer();
-    });
-    // setallLamps(paramsArr, getLamp, waitSetResultFlag);
-  };
-  return (
-    <div className={commonStyles.box}>
-      <div className={commonStyles.content}>
-        <div className={commonStyles.env}>
-          <div className={commonStyles.envLeft}>
-            <span className={commonStyles.eqTitle}>{isMore ? '光照' : lampArr[0]?.localName}</span>
-            <div className={`${commonStyles.eqStatus} ${commonStyles.pdt10}`}>
-              <span>{isOpen ? '照明已开启' : '照明已关闭'}</span>
-            </div>
-            {isMore && (
-              <div className={commonStyles.showAll} onClick={handleExpend}>
-                <img className={commonStyles.showImg} src={flagSvg ? expend_up : expend_down}></img>
-                <div className={commonStyles.showAllText}>显示全部</div>
-              </div>
-            )}
-          </div>
-          <div className={commonStyles.envRight}>
-            <img className={commonStyles.roomEqImg} src={isOpen ? lamp_open : lamp_close} />
-          </div>
-          {!flagSvg && (
-            <div
-              className={commonStyles.eqBtn}
-              onClick={() => {
-                changeSwitch(!isOpen, 'total');
-              }}
-            >
-              <AnSwitch isOpen={isOpen} />
-            </div>
-          )}
-        </div>
-      </div>
-      {lampArr.map((item, idx) => {
-        if (flagSvg) {
-          return (
-            <div className={`${styles.lampChild} ${commonStyles.flexBetween}`} key={item.id}>
-              <div className={commonStyles.eqTitle}>{item.localName}</div>
-              <div
-                onClick={() => {
-                  changeSwitch(!item.runStatus, 'child', item.id);
-                }}
-              >
-                <AnSwitch isOpen={item.runStatus}></AnSwitch>
-              </div>
-            </div>
-          );
-        }
-      })}
-    </div>
-  );
-};

+ 0 - 6
src/pages/Equipment/components/deviceModal/lampEq/index.less

@@ -1,6 +0,0 @@
-.lampChild {
-  height: 44px;
-  padding-right: 12px;
-  padding-left: 30px;
-  border-top: 1px solid rgba(196, 196, 196, 0.4);
-}

+ 0 - 0
src/pages/Equipment/components/topNavRight/index.less


Some files were not shown because too many files changed in this diff