Browse Source

能量配置

groupmealweb
zhaoy 7 months ago
parent
commit
50470296df
2 changed files with 325 additions and 0 deletions
  1. +299
    -0
      src/pages/database/goods/energyconfig/index.jsx
  2. +26
    -0
      src/pages/database/goods/energyconfig/service.js

+ 299
- 0
src/pages/database/goods/energyconfig/index.jsx View File

@@ -0,0 +1,299 @@
import { PlusOutlined } from '@ant-design/icons';
import { Button, message, Input, Drawer, Modal, Space, Tag, Popconfirm, Form } 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 {getgoodsenergyconfigpage } from './service';
// import CreateBom from './components/CreateBom';
// import UpdateBom from './components/UpdateBom';
// import BomBatching from './components/BomBatching'


const GoodsBomsManage = (props) => {
const actionRef = useRef();
const [modalVisible, setModalVisible] = useState(false);
const [updateModalVisible, setupdateModalVisible] = useState(false);
const [matedata, setMatedata] = useState([]);
const [bomTypeData, setbomTypeData] = useState([]);
const [selectedRowsState, setSelectedRows] = useState([]);
const [BomId, setBomId] = useState();
const [form] = Form.useForm();
const [form2] = Form.useForm();
const [currentRow, setCurrentRow] = useState();
const [BomBatchingVisible, setBomBatchingVisible] = useState(false);


useEffect(() => {
//initGetbomType();
///intBatching();//默认原料
}, []);

function intBatching() {
getproductpage().then((r) => {
setMatedata(r.data);
});
}
function initTypeList() {
initGetbomType();
}
function initGetbomType() {
GetbomTypelist().then((r) => {
var list = [];
if (r.data.length > 0) {
r.data.forEach((item) => {
list.push({ text: item.name, value: item.id, label: item.name });
});
}
setbomTypeData(list)
})

}
function initGetbomType() {
GetbomTypelist().then((r) => {
var list = [];
if (r.data.length > 0) {
r.data.forEach((item) => {
list.push({ text: item.name, value: item.id, label: item.name });
});
}
setbomTypeData(list)
})

}

const columns = [
{
title: '主键',
dataIndex: 'id',
hideInTable: true,
hideInSearch: true,
tip: '规则名称是唯一的 key',
render: (dom, entity) => {
return (
<a
onClick={() => {
setCurrentRow(entity);
setShowDetail(true);
}}
>
{dom}
</a>
);
},
},
{
title: '配方名称',
dataIndex: 'name',
width: 300,
hideInForm: true,
hideInSearch: false,
},
{
title: '配方分类',
dataIndex: 'bomTypeList',
search: false,

render: (_, record) => (
<Space>
{
bomTypeData.filter((x) => {
let findId = record.bomTypeList.find((findItem) => findItem === x.value);
let findBomType = bomTypeData.find((bomItem) => bomItem.value === findId);
return findBomType != null || undefined;
}).map((item) => (
<Tag color="#87d068" key={item.value}>
{item.text}
</Tag>
))}
</Space>
),
},
{
title: '操作',
dataIndex: 'option',
valueType: 'option',
width: 250,
render: (_, record) => [
<a
key="primary3"
type="primary"
onClick={() => {
setCurrentRow(record);
form2.setFieldsValue(record);
setupdateModalVisible(true);
}}
>
更新
</a>,
<a
key="primary1"
type="primary"
onClick={() => {
setBomBatchingVisible(true);
setBomId(record.id)
}}
>
配方详情
</a>,
<Popconfirm
type="primary"
key="primary"
title="删除后可能影响商品配方,确认删除吗?"
okText="是"
cancelText="否"
onConfirm={async () => {
const hide = message.loading('正在删除');
try {
DelBom(record.id);
hide();
message.success('删除成功,即将刷新');
actionRef.current.reloadAndRest();
return true;
} catch (error) {
hide();
message.error('删除失败,请重试');
actionRef.current.reloadAndRest();
return false;
}
}}
onCancel={() => { }}
>
<a href="#">删除</a>
</Popconfirm>,

],
},
];

const onUpdateBomSave = () => {
form2
.validateFields()
.then((values) => {
var parm = { id: values.id, name: values.name, IsMain: values.bomType == '1' ? true : false, bomTypeIds: values.bomTypeList }
UpdateBomInfo(parm).then((r) => {
if (r.data) {
message.success('修改成功');
setupdateModalVisible(false);
actionRef.current.reload();
setBomId('')
} else {
message.error(r.errors || "修改失败");
}
})
})
}


const onBomBatchingCancel = () => {
setBomBatchingVisible(false);
setBomId('')
}

const onBomBatchingFinish = (form) => {
console.log("form", form)
var parm = { bomId: BomId, bomEntry: form };
UpdateBomBatcing(parm).then((r) => {
if (r.succeeded) {
message.success('修改成功');
setBomBatchingVisible(false);
actionRef.current.reload();
setBomId('')
} else {
message.error(r.errors);
}
})
}


return (
<PageContainer header={{
title: '',
breadcrumb: {},
}}>
<ProTable
columns={columns}
actionRef={actionRef}
rowKey="id"
pagination={{ defaultPageSize: 10 }}
toolBarRender={() => [
<Button
type="primary"
key="primary"
onClick={() => {
setModalVisible(true);
}}
>
<PlusOutlined /> 新建
</Button>,
]}

request={async (params) => {
var total = 0;
var data = [];
const res = await getgoodsenergyconfigpage(params);
if (res.statusCode == 200) {
data = res.data.data;
total = res.data.total;
}
return {
data: data,
success: true,
total: total,
};

}}
rowSelection={{
onChange: (_, selectedRows) => setSelectedRows(selectedRows),
}}
/>

{/* 新增菜谱 */}
{/* <CreateBom modalVisible={modalVisible}
matedata={matedata}
form={form}
bomTypeData={bomTypeData}
initTypeList={initTypeList}
onFinish={async (value) => {
await AddBom(value).then((r) => {
if (r.data) {
message.success("添加成功")
setModalVisible(false);
} else {
message.error("添加失败")
}
actionRef.current.reloadAndRest();
})
}}
onCancel={() => { setModalVisible(false); form.resetFields(); }}
/> */}

{/* 修改菜谱 */}
{/* <UpdateBom
updateModalVisible={updateModalVisible}
onUpdateBomSave={onUpdateBomSave}
values={currentRow || {}}
form={form2}
initTypeList={initTypeList}
bomTypeData={bomTypeData}
onFinish={async (value) => {

}}
onCancel={() => {
setupdateModalVisible(false);
setCurrentRow(undefined);
}}
/> */}

{/* 配方详情 */}
{/* <BomBatching BomBatchingVisible={BomBatchingVisible}
matedata={matedata}
onBomBatchingCancel={onBomBatchingCancel}
BomId={BomId}
onBomBatchingFinish={onBomBatchingFinish} /> */}


</PageContainer>
);
};

export default GoodsBomsManage;

+ 26
- 0
src/pages/database/goods/energyconfig/service.js View File

@@ -0,0 +1,26 @@
import { getDataBaseUrl } from '@/global_data';
import { request } from 'umi';
export async function getgoodsenergyconfigpage(data) {
return request(getDataBaseUrl()+'/api/goodsenergyconfig/getgoodsenergyconfigpage', {
method: 'POST',
data:data,
});
}
export async function addGoodsenergyconfig(data) {
return request(getDataBaseUrl()+'/api/goodsenergyconfig/addGoodsenergyconfig', {
method: 'POST',
data:data,
});
}
export async function updategoodsenergyconfig(data) {
return request(getDataBaseUrl()+'/api/goodsenergyconfig/updategoodsenergyconfig', {
method: 'POST',
data:data,
});
}
export async function delgoodsenergyconfig(data) {
return request(getDataBaseUrl()+'/api/goodsenergyconfig/delgoodsenergyconfig?id='+data, {
method: 'Get',
data:data,
});
}

Loading…
Cancel
Save