Browse Source

添加消息页面

Renxy 1 year ago
parent
commit
947e088bdc

+ 6 - 1
.umirc.ts

@@ -85,10 +85,15 @@ export default defineConfig({
       component: './MessageCenter',
     },
     {
-      name: '消息中心',
+      name: '设备管理',
       path: '/device/:projectId',
       component: './DeviceManager',
     },
+    {
+      name: '设备管理详情',
+      path: '/device/detail/:projectId/:type',
+      component: './DeviceManager/detail',
+    },
     // {
     //   name: '权限演示',
     //   path: '/access',

BIN
src/assets/message/message01.png


+ 297 - 0
src/pages/DeviceManager/detail.js

@@ -0,0 +1,297 @@
+import PageContent from '@/components/PageContent';
+import PageTitle from '@/components/PageTitle';
+import {
+  queryInventoryList,
+  queryStoreList,
+} from '@/services/StorageManagement';
+import { useParams, useRequest } from '@umijs/max';
+import { Table } from 'antd';
+import dayjs from 'dayjs';
+import { useEffect } from 'react';
+const SparePartDetail = () => {
+  const { projectId, type } = useParams();
+  const titles = ['入库详情', '出库详情', '报废详情', '库存详情'];
+
+  console.log(type);
+
+  const parmas = {
+    type: Number(type),
+    project_id: Number(projectId),
+    check_result: 0,
+    category_id: 0,
+    start_time: '',
+    end_time: '',
+    name: '',
+  };
+  const paramsExit = {
+    category_id: 0,
+    name: '',
+    warning_state: 0,
+    // type: 0,
+    project_id: Number(projectId),
+  };
+
+  useEffect(() => {
+    type !== '3' ? run(parmas) : runExist(paramsExit);
+  }, [type]);
+  const { data, run, loading } = useRequest((data) => queryStoreList(data), {
+    manual: true,
+  });
+
+  const {
+    data: dataExist,
+    loading: loadingExist,
+    run: runExist,
+  } = useRequest((data) => queryInventoryList(data), {
+    manual: true,
+  });
+  const columns = [
+    {
+      title: '仓储类型',
+      dataIndex: 'category_name',
+      key: 'category_name',
+      align: 'center',
+    },
+    {
+      title: '名称',
+      dataIndex: 'name',
+      key: 'name',
+      align: 'center',
+    },
+    {
+      title: '型号',
+      dataIndex: 'model_number',
+      key: 'model_number',
+      align: 'center',
+    },
+  ];
+  const columnsIn = [
+    ...columns,
+    {
+      title: '入库数量',
+      // dataIndex: 'amount',
+      // key: 'amount',
+      align: 'center',
+      render: (recode) => (
+        <div>
+          {recode.amount}
+          {recode.unit}
+        </div>
+      ),
+    },
+    {
+      title: '入库日期',
+      dataIndex: 'create_time',
+      key: 'create_time',
+      align: 'center',
+      render: (time) => dayjs(time).format('YYYY-MM-DD'),
+    },
+    {
+      title: '入库人',
+      dataIndex: 'user_name',
+      key: 'user_name',
+      align: 'center',
+    },
+  ];
+  const columnsOut = [
+    ...columns,
+    {
+      title: '出库数量',
+      // dataIndex: 'amount',
+      // key: 'amount',
+      align: 'center',
+      render: (recode) => (
+        <div>
+          {recode.amount}
+          {recode.unit}
+        </div>
+      ),
+    },
+    {
+      title: '出库日期',
+      dataIndex: 'create_time',
+      key: 'create_time',
+      align: 'center',
+      render: (time) => dayjs(time).format('YYYY-MM-DD'),
+    },
+    {
+      title: '出库人',
+      dataIndex: 'user_name',
+      key: 'user_name',
+      align: 'center',
+    },
+    {
+      title: '领用人',
+      dataIndex: 'recipient_user_name',
+      key: 'recipient_user_name',
+      align: 'center',
+    },
+  ];
+  const columnsScrap = [
+    ...columns,
+    {
+      title: '报废信息',
+      dataIndex: 'desc',
+      key: 'desc',
+      align: 'center',
+    },
+    {
+      title: '报废数量',
+      // dataIndex: 'amount',
+      // key: 'amount',
+      align: 'center',
+      render: (recode) => (
+        <div>
+          {recode.amount}
+          {recode.unit}
+        </div>
+      ),
+    },
+    {
+      title: '经办人',
+      dataIndex: 'user_name',
+      key: 'user_name',
+      align: 'center',
+    },
+    {
+      title: '报废日期',
+      dataIndex: 'create_time',
+      key: 'create_time',
+      align: 'center',
+      render: (time) => dayjs(time).format('YYYY-MM-DD'),
+    },
+    {
+      title: '图片',
+      dataIndex: 'images',
+      align: 'center',
+      render: (images) => {
+        if (images) {
+          const imgs = JSON.parse(images);
+          const setData = imgs.map((img) => {
+            return { src: img };
+          });
+          return (
+            <>
+              <a
+                onClick={() => {
+                  console.log(imgs[0]);
+                  return Zmage.browsing({
+                    set: setData,
+                  });
+                }}
+              >
+                查看
+              </a>
+            </>
+          );
+        } else {
+          return <div>暂无图片</div>;
+        }
+      },
+    },
+  ];
+  const columnsExit = [
+    {
+      title: '类型',
+      dataIndex: 'category_name',
+      key: 'category_name',
+      align: 'center',
+    },
+    {
+      title: '名称',
+      dataIndex: 'name',
+      key: 'name',
+      align: 'center',
+    },
+    {
+      title: '型号',
+      dataIndex: 'model_number',
+      key: 'model_number',
+      align: 'center',
+    },
+    {
+      title: '在库',
+      align: 'center',
+      render: (record) => (
+        <div>
+          {record.in_amount - record.out_amount - record.scrap_amount}
+          {record.unit}
+        </div>
+      ),
+    },
+    {
+      title: '入库',
+      align: 'center',
+      render: (recode) => (
+        <div>
+          {recode.in_amount}
+          {recode.unit}
+        </div>
+      ),
+    },
+    {
+      title: '出库',
+      align: 'center',
+      render: (recode) => (
+        <div>
+          {recode.out_amount}
+          {recode.unit}
+        </div>
+      ),
+    },
+    {
+      title: '报废',
+      align: 'center',
+      render: (recode) => (
+        <div>
+          {recode.scrap_amount}
+          {recode.unit}
+        </div>
+      ),
+    },
+    {
+      title: '预警状态',
+      dataIndex: 'warning_state',
+      align: 'warning_state',
+      align: 'center',
+      render: (warn) => {
+        return warn == 2 ? (
+          <div style={{ color: 'red' }}>报警</div>
+        ) : (
+          <div>正常</div>
+        );
+      },
+    },
+    {
+      title: '预警内容',
+      dataIndex: 'warning_content',
+      key: 'warning_content',
+      align: 'center',
+    },
+  ];
+  const columnsList = [columnsIn, columnsOut, columnsScrap, columnsExit];
+
+  return (
+    <PageContent closeable={false}>
+      <PageTitle children={titles[type]} returnable />
+      {type !== '3' ? (
+        <Table
+          loading={loading}
+          style={{ marginTop: '10px' }}
+          dataSource={data}
+          columns={columnsList[type]}
+          pagination={false}
+        />
+      ) : (
+        <Table
+          loading={loadingExist}
+          style={{ marginTop: '10px' }}
+          dataSource={dataExist}
+          columns={columnsList[type]}
+          pagination={false}
+        />
+      )}
+    </PageContent>
+  );
+};
+export default SparePartDetail;

+ 291 - 130
src/pages/DeviceManager/index.js

@@ -1,19 +1,38 @@
 import PageContent from '@/components/PageContent';
 import TabsContent from '@/components/TabsContent';
-import { queryDeviceList } from '@/services/device';
-import { useParams, useRequest } from '@umijs/max';
-import { Button, Collapse, List, Space } from 'antd';
-import { useMemo } from 'react';
+import { queryMainChartList } from '@/services/StorageManagement';
+import {
+  queryDeviceList,
+  queryMaintainRecord,
+  queryRepairRecord,
+} from '@/services/device';
+import { RightOutlined } from '@ant-design/icons';
+import { useNavigate, useParams, useRequest } from '@umijs/max';
+import { Button, Collapse, List, Space, Table } from 'antd';
+import dayjs from 'dayjs';
+import { useMemo, useState } from 'react';
+import styles from './index.less';
 const img = require('@/assets/deviceManager/device01.png');
 const chartIcon = require('@/assets/deviceManager/chartIcon.png');
 const DeviceManager = () => {
   const { projectId } = useParams();
-  const { data, run, loading } = useRequest((data) => queryDeviceList(data), {
-    defaultParams: [projectId],
+  const [type, setType] = useState(0); //0 全部  1维修  2保养
+  const year = dayjs().format('YYYY');
+  const params = {
+    project_id: Number(projectId),
+    month: 0,
+    year: Number(year),
+  };
+
+  //请求备品列表
+  const { data, run, loading } = useRequest(() => queryMainChartList(params), {
+    manual: true,
   });
 
   const onChange = (tab) => {
-    console.log(tab);
+    if (tab == '2') {
+      run();
+    }
   };
   return (
     <PageContent style={{ backgroundColor: 'gray' }}>
@@ -24,154 +43,296 @@ const DeviceManager = () => {
           {
             label: `设备管理`,
             key: '1',
-            children: <Device data={data} loading={loading} />,
+            children: <Device projectId={projectId} />,
           },
           {
             label: `备品管理`,
             key: '2',
-            children: <SparePart />,
+            children: (
+              <SparePart data={data} loading={loading} projectId={projectId} />
+            ),
           },
         ]}
       />
     </PageContent>
   );
 };
-const Device = ({ data = [] }) => {
-  //处理数据
-  const dataSource = useMemo(() => {
-    const total = data?.reduce((total, item) => item.Count, 0);
-    const items = data?.map((item, idx) => {
-      const itemLen = item?.List?.length;
-      return {
-        key: idx,
-        label: (
-          <div style={{ display: 'flex', justifyContent: 'space-between' }}>
-            <span>{item.Type}</span>
-            <span>{itemLen}个</span>
-          </div>
-        ),
-        children: (
-          <div style={{ position: 'relative' }}>
-            <List
-              header={null}
-              footer={null}
-              dataSource={item.List}
-              renderItem={(cur) => (
-                <List.Item style={{ justifyContent: 'left' }}>
-                  <span style={{ width: '30%' }}> {cur.Code} </span>
-                  <span> {cur.Name} </span>
-                </List.Item>
-              )}
-            />
-          </div>
-        ),
-      };
-    });
-    return { total, items };
-  }, [data]);
-  const onChange = (key) => {
-    console.log(key);
+const Device = ({ projectId }) => {
+  const [type, setType] = useState(0); //0 全部  1维修  2保养
+
+  const columnsRepair = [
+    {
+      title: '设备位号',
+      dataIndex: 'DeviceCode',
+      key: 'DeviceCode',
+      align: 'center',
+    },
+    {
+      title: '设备名称',
+      dataIndex: 'DeviceName',
+      key: 'DeviceName',
+      align: 'center',
+    },
+    {
+      title: '维修时间',
+      dataIndex: 'RepairTime',
+      key: 'RepairTime',
+      align: 'center',
+      render: (text) => {
+        return text ? dayjs(text).format('YYYY-MM-DD HH:mm') : null;
+      },
+    },
+    {
+      title: '维修状态',
+      dataIndex: 'AcceptanceStatus',
+      render: (text) => {
+        switch (text) {
+          case 0:
+            return '维修中';
+          case 1:
+            return '已提交';
+          case 2:
+            return '已维修';
+          default:
+            return '';
+        }
+      },
+    },
+  ];
+
+  const columns = [
+    {
+      title: '设备位号',
+      dataIndex: 'DeviceCode',
+    },
+    {
+      title: '设备名称',
+      dataIndex: 'DeviceName',
+    },
+    {
+      title: '保养日期',
+      dataIndex: 'MaintainTime',
+      render: (text) => {
+        return text ? dayjs(text).format('YYYY-MM-DD HH:mm') : null;
+      },
+    },
+    {
+      title: '保养人',
+      dataIndex: 'Operators',
+      width: 300,
+      render: (text) => {
+        let arr = [];
+        if (text && text.length > 0) {
+          text.map((item) => {
+            if (item && item.Operator && item.Operator.CName) {
+              arr.push(item.Operator.CName);
+            }
+          });
+        }
+        return arr && arr.join(',');
+      },
+    },
+  ];
+
+  //请求 全部设备列表
+  const {
+    data: allData,
+    run: runDevice,
+    loading: loadingDevice,
+  } = useRequest(queryDeviceList, {
+    defaultParams: [projectId],
+    formatResult: (res) => {
+      const data = res.data;
+      const total = data?.reduce((total, item) => item.Count, 0);
+      const items = data?.map((item, idx) => {
+        const itemLen = item?.List?.length;
+        return {
+          key: idx,
+          label: (
+            <div style={{ display: 'flex', justifyContent: 'space-between' }}>
+              <span>{item.Type}</span>
+              <span>{itemLen}个</span>
+            </div>
+          ),
+          children: (
+            <div style={{ position: 'relative' }}>
+              <List
+                header={null}
+                footer={null}
+                dataSource={item.List}
+                renderItem={(cur) => (
+                  <List.Item style={{ justifyContent: 'left' }}>
+                    <span style={{ width: '30%' }}> {cur.Code} </span>
+                    <span> {cur.Name} </span>
+                  </List.Item>
+                )}
+              />
+            </div>
+          ),
+        };
+      });
+      return { total, items };
+    },
+  });
+
+  //请求维修中设备列表queryRepairRecord
+  const {
+    data: repairData,
+    run: runRepair,
+    loading: repairLoading,
+  } = useRequest(
+    () =>
+      queryRepairRecord({
+        // acceptanceStatus: 0,
+        pageSize: 9999,
+        recordId: Number(projectId),
+      }),
+    {
+      manual: true,
+    },
+  );
+
+  //请求保养记录
+  const {
+    data: maintainData,
+    run: runMaintain,
+    loading: maintaiLoading,
+  } = useRequest(
+    () =>
+      queryMaintainRecord({
+        pageSize: 9999,
+        recordId: Number(projectId),
+      }),
+    {
+      manual: true,
+    },
+  );
+
+  const handleBtnClick = (type) => {
+    setType(type);
+    switch (type) {
+      case 0:
+        runDevice(projectId);
+        break;
+      case 1:
+        runRepair();
+        break;
+      case 2:
+        runMaintain();
+        break;
+    }
   };
+
+  const onChange = () => {};
   return (
-    <div style={{ width: '100%' }}>
-      <div
-        style={{
-          display: 'flex',
-          borderRadius: '10px',
-          backgroundColor: 'white',
-          justifyContent: 'space-around',
-        }}
-      >
-        <img style={{ width: '30%' }} src={img} />
+    <Space direction="vertical" className={styles.sparePart}>
+      <div className={`card-box ${styles.titleContent}`}>
+        <img className={styles.img} src={img} />
         <div>
-          <div>{dataSource?.total}</div>
+          <div className={styles.num}>{allData?.total}</div>
           <div>设备总数</div>
         </div>
-        <div>
-          <div
-            style={{
-              display: 'flex',
-            }}
-          >
-            <div
-              style={{
-                width: '20px',
-                height: '20px',
-                backgroundColor: 'green',
-                borderRadius: '10px',
-              }}
-            />
-            <div>运行</div>
-            <div>137</div>
-          </div>
-          <div
-            style={{
-              display: 'flex',
-            }}
-          >
-            <div
-              style={{
-                width: '20px',
-                height: '20px',
-                backgroundColor: 'green',
-                borderRadius: '10px',
-              }}
-            />
-            <div>运行</div>
-            <div>137</div>
-          </div>
-          <div
-            style={{
-              display: 'flex',
-            }}
-          >
-            <div
-              style={{
-                width: '20px',
-                height: '20px',
-                backgroundColor: 'green',
-                borderRadius: '10px',
-              }}
-            />
-            <div>运行</div>
-            <div>137</div>
-          </div>
-        </div>
       </div>
       <Space>
-        <Button shape="round">全部</Button>
-        <Button shape="round">维修</Button>
-        <Button shape="round">保养</Button>
+        <Button shape="round" onClick={() => handleBtnClick(0)}>
+          全部
+        </Button>
+        <Button shape="round" onClick={() => handleBtnClick(1)}>
+          维修
+        </Button>
+        <Button shape="round" onClick={() => handleBtnClick(2)}>
+          计划保养
+        </Button>
       </Space>
-      <Collapse
-        defaultActiveKey={['1']}
-        bordered={false}
-        // expandIcon={() => <div> 个</div>}
-        onChange={onChange}
-        items={dataSource?.items}
-      />
-    </div>
+      {type == 0 && (
+        <Collapse
+          defaultActiveKey={['1']}
+          bordered={false}
+          onChange={onChange}
+          items={allData?.items}
+        />
+      )}
+      {type == 1 && (
+        <Table
+          loading={repairLoading}
+          style={{ marginTop: '10px' }}
+          dataSource={repairData?.filter((item) => item.DeviceCode)}
+          columns={columnsRepair}
+          pagination={false}
+        />
+      )}
+      {type == 2 && (
+        <Table
+          loading={repairLoading}
+          style={{ marginTop: '10px' }}
+          dataSource={repairData?.filter((item) => item.DeviceCode)}
+          columns={columns}
+          pagination={false}
+        />
+      )}
+    </Space>
   );
 };
-const SparePart = () => {
+const SparePart = ({ data, loading, projectId }) => {
+  const navigate = useNavigate();
+  const PageType = {
+    in: 0, //入库管理
+    out: 1, //出库管理
+    scrap: 2, //报废处置
+    existing: 3, //基础库存
+  };
+
+  const changePage = (type) => {
+    navigate(`/device/detail/${projectId}/${type}`);
+  };
+
+  const list = useMemo(() => {
+    const result = [
+      {
+        title: '入库数量',
+        type: PageType.in,
+        num: data?.in_amount || 0,
+      },
+      {
+        title: '出库数量',
+        type: PageType.out,
+        num: data?.out_amount || 0,
+      },
+      {
+        title: '报废数量',
+        type: PageType.scrap,
+        num: data?.scrap_amount || 0,
+      },
+      {
+        title: '报警数量',
+        type: PageType.existing,
+        num: data?.warning_stat || 0,
+      },
+    ];
+    return result;
+  }, [data]);
   return (
-    <div>
-      <div
-        style={{
-          display: 'flex',
-          borderRadius: '10px',
-          backgroundColor: 'white',
-          justifyContent: 'space-around',
-        }}
-      >
-        <img style={{ width: '30%' }} src={img} />
+    <Space direction="vertical" className={styles.sparePart}>
+      <div className={`card-box ${styles.titleContent}`}>
+        <img className={styles.img} src={img} />
         <div>
-          <div>410</div>
+          <div className={styles.num}>{data?.on_amount || 0}</div>
           <div>在库数量(个)</div>
         </div>
-        <img style={{ position: 'absolute', right: '20px' }} src={chartIcon} />
+        <img className={styles.rightIcon} src={chartIcon} />
       </div>
-    </div>
+      {list.map((item) => (
+        <div className="card-box" onClick={() => changePage(item.type)}>
+          <div className={styles.cardItem}>
+            <span>{item.title}</span>
+            <Space>
+              <span>{item.num}个</span>
+              <RightOutlined />
+            </Space>
+          </div>
+        </div>
+      ))}
+    </Space>
   );
 };
 

+ 28 - 0
src/pages/DeviceManager/index.less

@@ -2,3 +2,31 @@
   position: absolute;
   right: 0;
 }
+.titleContent {
+  position: relative;
+  display: flex;
+  justify-content: space-around;
+  align-items: center;
+  .img {
+    width: 30%;
+  }
+  .num {
+    color: #ffc400;
+    font-size: 36px;
+    margin-bottom: 20px;
+  }
+  .rightIcon {
+    position: absolute;
+    right: 20px;
+    top: 20px;
+  }
+}
+.sparePart {
+  width: 100%;
+  .cardItem {
+    display: flex;
+    padding: 10px;
+    justify-content: space-between;
+    align-items: center;
+  }
+}

+ 44 - 1
src/pages/MessageCenter/index.js

@@ -1,4 +1,47 @@
+import PageContent from '@/components/PageContent';
+import TabsContent from '@/components/TabsContent';
+import { Button } from 'antd';
+import styles from './index.less';
+const icon = require('@/assets/message/message01.png');
+
 const MessageCenter = () => {
-  return <div>1111</div>;
+  const renderItem = () => {
+    return (
+      <div className={`card-box ${styles.itemContent}`}>
+        <img style={{ width: '30px', height: '30px' }} src={icon} />
+        <div>
+          <div style={{ marginBottom: '30px' }}>
+            那么大了可能圣诞快乐那算啦到哪啦凯撒到啦
+          </div>
+          <div>1999999999</div>
+        </div>
+        <div className={styles.right}>
+          <div className={styles.redPoint} />
+          <Button type="primary">查看</Button>
+        </div>
+      </div>
+    );
+  };
+  return (
+    <PageContent>
+      <TabsContent
+        center={false}
+        defaultActiveKey="1"
+        onChange={() => {}}
+        items={[
+          {
+            label: `水厂工况`,
+            key: '1',
+            children: renderItem(),
+          },
+          {
+            label: `系统自检`,
+            key: '2',
+            children: <div>999</div>,
+          },
+        ]}
+      />
+    </PageContent>
+  );
 };
 export default MessageCenter;

+ 17 - 0
src/pages/MessageCenter/index.less

@@ -0,0 +1,17 @@
+.itemContent {
+  padding: 10px;
+  display: flex;
+  justify-content: space-between;
+  .right {
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
+    align-items: end;
+    .redPoint {
+      background-color: red;
+      width: 10px;
+      height: 10px;
+      border-radius: 5px;
+    }
+  }
+}

+ 0 - 18
src/pages/index.less

@@ -1,18 +0,0 @@
-body {
-  :global {
-    .ant-tabs-nav .ant-tabs-tab {
-      padding: 0 32px;
-      margin-right: 0px;
-      border-right: 1px solid #d7e4e8;
-      // vertical-align: middle;
-
-      &:last-child {
-        border-right: none;
-      }
-
-      &::before {
-        display: none;
-      }
-    }
-  }
-}

+ 15 - 16
src/services/StorageManagement.js

@@ -18,9 +18,9 @@ import { request } from 'umi';
 export async function queryStoreList(data) {
   var res = await request(`/api/store/v1/store/list`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
-  return res?.data?.data || [];
+  return { data: res?.data?.data };
 }
 
 /**
@@ -37,9 +37,9 @@ export async function queryStoreList(data) {
 export async function queryInventoryList(data) {
   var res = await request(`/api/store/v1/inventory/list`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
-  return res?.data?.list || [];
+  return { data: res?.data?.list };
 }
 
 /**
@@ -48,7 +48,7 @@ export async function queryInventoryList(data) {
 export async function queryCategoryList(data) {
   var res = await request(`/api/store/v1/category/list`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data?.list || [];
 }
@@ -72,7 +72,7 @@ export async function queryCategoryList(data) {
 export async function queryStoreCreateItem(data) {
   var res = await request(`/api/store/v1/create/item`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data || [];
 }
@@ -85,7 +85,7 @@ export async function queryStoreCreateItem(data) {
 export async function queryUpdateItem(data) {
   var res = await request(`/api/store/v1/update/item`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data || [];
 }
@@ -98,7 +98,7 @@ export async function queryUpdateItem(data) {
 export async function queryStorageDel(data) {
   var res = await request(`/api/store/v1/storage/del`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data || [];
 }
@@ -112,7 +112,7 @@ export async function queryStorageDel(data) {
 export async function querySetThreshold(data) {
   var res = await request(`/api/store/v1/set/threshold`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data || [];
 }
@@ -128,7 +128,7 @@ export async function querySetThreshold(data) {
 export async function queryChartList(data) {
   var res = await request(`/api/store/v1/chart/list`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data || [];
 }
@@ -143,7 +143,7 @@ export async function queryChartList(data) {
 export async function queryInventoryChartList(data) {
   var res = await request(`/api/store/v1/inventory-chart/list`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data || [];
 }
@@ -156,11 +156,10 @@ export async function queryInventoryChartList(data) {
  *  @param {*} data.month  // 0本年度全部  1-12对应月
  */
 export async function queryMainChartList(data) {
-  var res = await request(`/api/store/v1/main-chart/list`, {
+  return await request(`/api/store/v1/main-chart/list`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
-  return res?.data || [];
 }
 
 /**
@@ -174,7 +173,7 @@ export async function queryMainChartList(data) {
 export async function queryStorageSelList(data) {
   var res = await request(`/api/store/v1/storage-sel/list`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res?.data?.list || [];
 }
@@ -190,7 +189,7 @@ export async function queryStorageSelList(data) {
 export async function queryStoreImport(data) {
   var res = await request(`/api/store/v1/store/import`, {
     method: 'POST',
-    body: data,
+    data: data,
   });
   return res;
 }

+ 13 - 0
src/services/device.js

@@ -9,3 +9,16 @@ export async function queryDevice(params = {}) {
 export async function queryDeviceList(ProjectId) {
   return request(`/api/v1/device-pad/list/${ProjectId}`);
 }
+
+export async function queryRepairRecord(params = {}) {
+  const res = await request(
+    `/api/v1/repair-record/list/${params.recordId}?${stringify(params)}`,
+  );
+  return { data: res.data?.list };
+}
+export async function queryMaintainRecord(params = {}) {
+  const res = await request(
+    `/api/v1/maintain-record/list/${params.recordId}?${stringify(params)}`,
+  );
+  return { data: res.data?.list };
+}

+ 11 - 5
src/services/eqSelfInspection.js

@@ -3,21 +3,25 @@ import { request } from 'umi';
 
 //获取指定路线巡检结果
 export async function getRecentAutoPatrolByRouteId(params) {
-  return request(`/api/v1/patrol/auto/data/${params.projectId}?${stringify(params)}`);
+  return request(
+    `/api/v1/patrol/auto/data/${params.projectId}?${stringify(params)}`,
+  );
 }
 export async function getAutoPatrolByRouteId(params) {
   return request(`/api/v1/patrol/data/${params.projectId}/${params.routeId}`);
 }
 export async function getDumuDetail(detailId) {
   const res = await request(`/api/v1/dumu/detail/${detailId}`);
-  return res.data
+  return res.data;
 }
 
 export async function queryUserList(param) {
-  return request(`/api/v1/user/project/${param.projectId}`)
+  return request(`/api/v1/user/project/${param.projectId}`);
 }
 export async function queryPatrol(params) {
-  return request(`/api/v1/patrol/data/${params.projectId}?${stringify(params)}`);
+  return request(
+    `/api/v1/patrol/data/${params.projectId}?${stringify(params)}`,
+  );
 }
 
 export async function queryAnalysisDict() {
@@ -75,5 +79,7 @@ export async function patrolOverviewLine(params) {
 }
 
 export async function patrolOverviewPie(params) {
-  return request(`/api/v1/patrol/chart-pie/${params.projectId}?${stringify(params)}`);
+  return request(
+    `/api/v1/patrol/chart-pie/${params.projectId}?${stringify(params)}`,
+  );
 }