diff --git a/src/pages/device/devicepush/components/PushFrom.jsx b/src/pages/device/devicepush/components/PushFrom.jsx new file mode 100644 index 0000000..d189f35 --- /dev/null +++ b/src/pages/device/devicepush/components/PushFrom.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { Modal, Form, Input, Button, Select,InputNumber,TreeSelect } from 'antd'; + +const PushFrom = (props) => { + const { Option, OptGroup } = Select; + return ( + { + props.onCancel(); + }} + destroyOnClose + > + + ); +}; + +export default PushFrom; diff --git a/src/pages/device/devicepush/index.jsx b/src/pages/device/devicepush/index.jsx index e69de29..2ccb476 100644 --- a/src/pages/device/devicepush/index.jsx +++ b/src/pages/device/devicepush/index.jsx @@ -0,0 +1,254 @@ +import { PlusOutlined } from '@ant-design/icons'; +import { Button, message, Input, Drawer, Popconfirm } from 'antd'; +import React, { useState, useRef, useEffect } from 'react'; +import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import PushFrom from './components/PushFrom'; + +import { + GetDevicePushRecodePage, + DevicePushRecodeDelete +} from './service'; + + + +const DevicePush = () => { + /** 新建/更新窗口的弹窗 */ + const [createModalVisible, handleModalVisible] = useState(false); + /** 分布更新窗口的弹窗 */ + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + /** 国际化修改 */ + useEffect(() => { + + + }, []); + + /** + * 批量删除 + * + * @param selectedRows + */ + + const handleRemove = async (selectedRows) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + await DevicePushRecodeDelete(selectedRows.map((row) => row.id)).then((r) => { + if (r.succeeded) { + message.success('删除成功'); + actionRef.current.reload(); + } else { + message.error(r.errors); + } + }); + hide(); + return true; + }; + const columns = [ + { + title: '主键', + dataIndex: 'id', + hideInSearch: true, + hideInTable: true, + tip: '规则名称是唯一的 key', + render: (dom, entity) => { + return ( + { + setCurrentRow(entity); + setShowDetail(true); + }} + > + {dom} + + ); + }, + }, + { + title: '下发设备', + dataIndex: 'deviceName', + valueType: 'textarea', + ellipsis: true, + }, + + { + title: '下发数据', + dataIndex: 'type', + ellipsis: true, + valueEnum: { + 1: { + text: '商品', + }, + 2: { + text: '物料', + }, + 3: { + text: '工艺', + }, + 4: { + text: '配方', + }, + }, + }, + { + title: '下发时间', + dataIndex: 'ceateAt', + hideInSearch: true, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => [ + { + handleModalVisible(true); + setCurrentRow(record); + }} + > + 下发详情 + , + { + await DeleteGoodsType(record.id).then((r) => { + if (r.succeeded) { + message.success('删除成功'); + actionRef.current.reload(); + } else { + message.error(r.errors); + } + }); + }} + onCancel={() => {}} + > + 删除 + , + ], + }, + ]; + + return ( + + [ + , + ]} + request={async (params) => { + var goodsData = []; + var total = 0; + await GetDevicePushRecodePage(params).then((r) => { + goodsData = r.data.data; + total = r.data.total; + }); + return { + data: goodsData, + success: true, + total: total, + }; + }} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => { + setSelectedRows(selectedRows); + }, + }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择{' '} + + {selectedRowsState.length} + {' '} + 项    + {/* + 服务调用次数总计 {selectedRowsState.reduce((pre, item) => pre + item.id, 0)} 万 + */} + + } + > + + {/* */} + + )} + + { + + }} + onCancel={() => { + handleModalVisible(false); + setCurrentRow(undefined); + }} + createModalVisible={createModalVisible} + values={currentRow || {}} + /> + + { + setCurrentRow(undefined); + setShowDetail(false); + }} + closable={false} + > + {currentRow?.name && ( + ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.name, + }} + columns={columns} + /> + )} + + + ); +}; + +export default DevicePush; diff --git a/src/pages/device/devicepush/services.js b/src/pages/device/devicepush/services.js index e69de29..a7a5151 100644 --- a/src/pages/device/devicepush/services.js +++ b/src/pages/device/devicepush/services.js @@ -0,0 +1,25 @@ +import { request } from 'umi'; +export async function GetDevicePushRecodePage(data) { + return request(`/saasstore/api/devicepushrecode/page`, { + method: 'POST', + data: data, + }); + } + export async function DevicePushRecodeAdd(data) { + return request(`/saasstore/api/devicepushrecode/add`, { + method: 'POST', + data: data, + }); + } + export async function DevicePushRecodeUpdate(data) { + return request(`/saasstore/api/devicepushrecode/update`, { + method: 'POST', + data: data, + }); + } + export async function DevicePushRecodeDelete(data) { + return request(`/saasstore/api/devicepushrecode/delete`, { + method: 'POST', + data: data, + }); + }