@@ -1,6 +1,6 @@ | |||
import React, { useState, useEffect, useRef } from 'react'; | |||
import ProTable from '@ant-design/pro-table'; | |||
import { Form, Input, Select, InputNumber, Space, Tag, message, Button, Modal, Switch, Drawer, Table } from 'antd'; | |||
import { Form, Input, Select, InputNumber, Space, Tag, message, Button, Modal, Switch, Drawer, Table, notification } from 'antd'; | |||
import { PlusOutlined } from '@ant-design/icons'; | |||
import quickAPI from "../../service"; | |||
import indexStyles from "../../index.less"; | |||
@@ -121,6 +121,15 @@ const BomConfig = (props) => { | |||
}, | |||
]; | |||
const columnsChoose = [ | |||
{ | |||
title: '配方名称', | |||
dataIndex: 'name', | |||
hideInForm: true, | |||
hideInSearch: true, | |||
} | |||
]; | |||
const [currentPage, setCurrentPage] = useState(0); | |||
const [pageSize, setPageSize] = useState(5); | |||
@@ -203,7 +212,7 @@ const BomConfig = (props) => { | |||
}); | |||
if (!currentSelectedFood) { | |||
setCurrentSelectedFood(goodsArray[0].id); | |||
} | |||
} | |||
setFoodDropDown(goodsArray); | |||
} | |||
@@ -221,6 +230,14 @@ const BomConfig = (props) => { | |||
* 配方关联商品 | |||
*/ | |||
const bomRelationGoods = () => { | |||
if (selectedRows.length === 0) { | |||
notification.error({ | |||
message: '配方关联商品出错', | |||
description: '请选择配方', | |||
placement: 'topRight' | |||
}); | |||
return; | |||
} | |||
const findGoods = foodDropDown.find(item => item.id === currentSelectedFood); | |||
if (findGoods) { | |||
selectedRows.forEach(item => { | |||
@@ -228,6 +245,8 @@ const BomConfig = (props) => { | |||
item.goodsId = findGoods.id; | |||
}); | |||
props.onBomRelationGoods(findGoods.id, selectedRows); | |||
setSelectRowKeys([]); | |||
setSetSelectedRows([]); | |||
} | |||
} | |||
@@ -390,14 +409,6 @@ const BomConfig = (props) => { | |||
}; | |||
}} | |||
columns={columns} | |||
rowSelection={{ | |||
type: 'checkbox', | |||
onChange: (selectedRowKeys, selectedRows) => { | |||
setSelectRowKeys(selectedRowKeys); | |||
setSetSelectedRows(selectedRows); | |||
}, | |||
selectedRowKeys: selectedRowKeys | |||
}} | |||
toolBarRender={() => [ | |||
<Button key="button" icon={<PlusOutlined />} type="primary" onClick={() => { | |||
editBomForm.resetFields(); | |||
@@ -414,21 +425,19 @@ const BomConfig = (props) => { | |||
]} | |||
/> | |||
<Drawer width={600} title="配方关联商品" placement="right" onClose={() => setShowMenuDrawer(false)} visible={showMenuDrawer}> | |||
<Drawer width={800} title="配方关联商品" placement="right" onClose={() => setShowMenuDrawer(false)} visible={showMenuDrawer}> | |||
<div style={{ display: 'flex', alignItems: 'center', marginBottom: '10px' }}> | |||
<div style={{ marginRight: '10px' }}> | |||
<div className={indexStyles.current_selected_obj}> | |||
当前商品: | |||
</div> | |||
<Select | |||
style={{ | |||
width: '300px', | |||
marginRight: '10px' | |||
}} | |||
className={indexStyles.current_selected_cmp} | |||
onChange={(item) => { | |||
setCurrentSelectedFood(item); | |||
}} | |||
placeholder="请选择商品" | |||
value={currentSelectedFood} | |||
size="large" | |||
> | |||
{ | |||
foodDropDown.map(item => { | |||
@@ -436,9 +445,50 @@ const BomConfig = (props) => { | |||
}) | |||
} | |||
</Select> | |||
<Button onClick={bomRelationGoods}>确定关联</Button> | |||
</div> | |||
<div className={indexStyles.add_to_some_box}> | |||
<ProTable | |||
actionRef={actionRef} | |||
className={indexStyles.wait_add_list} | |||
headerTitle="配方列表" | |||
rowKey="id" | |||
pagination={{ | |||
current: currentPage, | |||
pageSize: pageSize, | |||
onChange: (page, pageSize) => { | |||
setCurrentPage(page); | |||
setPageSize(pageSize); | |||
} | |||
}} | |||
search={false} | |||
//数据绑定 | |||
request={async (params) => { | |||
var goodsBomsData = []; | |||
var total = 0; | |||
await quickAPI.GetBomPage(params).then((r) => { | |||
goodsBomsData = r.data.data; | |||
total = r.data.total; | |||
}); | |||
return { | |||
data: goodsBomsData, | |||
success: true, | |||
total: total, | |||
}; | |||
}} | |||
columns={columnsChoose} | |||
rowSelection={{ | |||
type: 'checkbox', | |||
onChange: (selectedRowKeys, selectedRows) => { | |||
setSelectRowKeys(selectedRowKeys); | |||
setSetSelectedRows(selectedRows); | |||
}, | |||
selectedRowKeys: selectedRowKeys | |||
}} | |||
/> | |||
<Table className={indexStyles.success_add_list} rowKey="id" columns={goodsBomColumns} dataSource={bomBelongToGoods} /> | |||
</div> | |||
<Table rowKey="id" columns={goodsBomColumns} dataSource={bomBelongToGoods} /> | |||
<Button className={indexStyles.sure_add_btn} type='primary' onClick={bomRelationGoods}>确定关联</Button> | |||
</Drawer> | |||
<StepsButton foodMenuConfig={props.foodMenuConfig} current={props.current} steps={props.steps} prev={props.prev} next={props.next}></StepsButton> | |||
@@ -1,207 +1,123 @@ | |||
import React, { useState, useEffect, useRef } from 'react'; | |||
import quickAPI from "../../service"; | |||
import indexStyles from "../../index.less"; | |||
import StepsButton from "../StepsButton"; | |||
import { message } from 'antd'; | |||
/** | |||
* 确认配置 | |||
* @returns | |||
*/ | |||
const ConfirmConfig = (props) => { | |||
/** | |||
* 1.组织配置 | |||
*/ | |||
//组织树 | |||
const [orgTree, setOrgTree] = useState([]); | |||
//支付方式列表 | |||
const [payTypeList, setPayTypeList] = useState([]); | |||
//获取组织树 | |||
const onFetchOrgTree = async () => { | |||
const response = await await quickAPI.getpage({ | |||
current: 1, | |||
pageSize: 1000 | |||
}); | |||
if (response.data.success) { | |||
setOrgTree(response.data.data); | |||
} else { | |||
message.error(response.errors || '获取组织架构出错'); | |||
} | |||
} | |||
//获取支付配置 | |||
const getPayTemplateList = async () => { | |||
const response = await quickAPI.getPayTemplateList(); | |||
if (response.statusCode === 200) { | |||
setPayTypeList(response.data.data); | |||
} else { | |||
message.error(response.errors || '获取获取支付方式出错'); | |||
} | |||
} | |||
useEffect(() => { | |||
onFetchOrgTree(); | |||
getPayTemplateList(); | |||
}, []); | |||
const data = { | |||
id: 'root', | |||
value: { | |||
name: '股东会', | |||
}, | |||
children: [ | |||
{ | |||
id: 'joel', | |||
value: { | |||
name: 'Joel Alan', | |||
}, | |||
children: [ | |||
{ | |||
id: 'c1', | |||
value: { | |||
name: 'c1', | |||
}, | |||
children: [ | |||
{ | |||
id: 'c1-1', | |||
value: { | |||
name: 'c1-1', | |||
}, | |||
}, | |||
{ | |||
id: 'c1-2', | |||
value: { | |||
name: 'c1-2', | |||
}, | |||
children: [ | |||
{ | |||
id: 'c1-2-1', | |||
value: { | |||
name: 'c1-2-1', | |||
}, | |||
}, | |||
{ | |||
id: 'c1-2-2', | |||
value: { | |||
name: 'c1-2-2', | |||
}, | |||
}, | |||
], | |||
}, | |||
], | |||
}, | |||
{ | |||
id: 'c2', | |||
value: { | |||
name: 'c2', | |||
}, | |||
}, | |||
{ | |||
id: 'c3', | |||
value: { | |||
name: 'c3', | |||
}, | |||
children: [ | |||
{ | |||
id: 'c3-1', | |||
value: { | |||
name: 'c3-1', | |||
}, | |||
}, | |||
{ | |||
id: 'c3-2', | |||
value: { | |||
name: 'c3-2', | |||
}, | |||
children: [ | |||
{ | |||
id: 'c3-2-1', | |||
value: { | |||
name: 'c3-2-1', | |||
}, | |||
}, | |||
{ | |||
id: 'c3-2-2', | |||
value: { | |||
name: 'c3-2-2', | |||
}, | |||
}, | |||
{ | |||
id: 'c3-2-3', | |||
value: { | |||
name: 'c3-2-3', | |||
}, | |||
}, | |||
], | |||
}, | |||
{ | |||
id: 'c3-3', | |||
value: { | |||
name: 'c3-3', | |||
}, | |||
}, | |||
], | |||
}, | |||
], | |||
}, | |||
], | |||
}; | |||
return <> | |||
{/* 1.组织配置 */} | |||
<table style={{ width: '50%', marginBottom: '10px' }}> | |||
<tbody> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_title}> | |||
组织配置 | |||
</th> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
ID | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.id} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
编码 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.code} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
名称 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.name} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
上级组织 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{(() => { | |||
const pid = props.quickStartObj.storeConfig.pid; | |||
const find = orgTree.find(item => item.id === pid); | |||
if (find) { | |||
return find.name; | |||
} else { | |||
return "无上级组织" | |||
} | |||
})()} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
组织类型 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.type} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
支付方式 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{(() => { | |||
const payTemplateId = props.quickStartObj.storeConfig.payTemplateId; | |||
const find = payTypeList.find(item => item.id === payTemplateId); | |||
if (find) { | |||
return find.name; | |||
} else { | |||
return "无支付方式" | |||
} | |||
})()} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
店铺地址 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.store_Addr} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
店铺坐标 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.store_Loc} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
联系电话 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.tel} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
门店排序 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.sort} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
备注 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.storeConfig.remark} | |||
</td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
{/* 2.设备配置 */} | |||
<table style={{ width: '50%', marginBottom: '10px' }}> | |||
<tbody> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_title}> | |||
设备配置 | |||
</th> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
ID | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.deviceConfig.id} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
设备名称 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.deviceConfig.deviceName} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
设备类型 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.deviceConfig.deviceTypeKey} | |||
</td> | |||
</tr> | |||
<tr className={indexStyles.ant_descriptions_row}> | |||
<th className={indexStyles.ant_descriptions_item_label}> | |||
设备类型 | |||
</th> | |||
<td className={indexStyles.ant_descriptions_item_content}> | |||
{props.quickStartObj.deviceConfig.deviceTypeKey} | |||
</td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
<StepsButton current={props.current} steps={props.steps} prev={props.prev}></StepsButton> | |||
<StepsButton quickStartObj={props.quickStartObj} current={props.current} steps={props.steps} prev={props.prev}></StepsButton> | |||
</> | |||
} | |||
@@ -1,7 +1,7 @@ | |||
import React, { useState, useEffect, useRef } from 'react'; | |||
import { PlusOutlined, UploadOutlined } from '@ant-design/icons'; | |||
import ProTable from '@ant-design/pro-table'; | |||
import { Form, Input, Select, InputNumber, message, Button, Modal, Drawer, Upload, Switch, Table } from 'antd'; | |||
import { Form, Input, Select, InputNumber, message, Button, Modal, Drawer, Upload, Switch, Table, notification } from 'antd'; | |||
import quickAPI from "../../service"; | |||
import StepsButton from "../StepsButton"; | |||
import indexStyles from "../../index.less"; | |||
@@ -263,6 +263,14 @@ const GoodsConfig = (props) => { | |||
} | |||
]; | |||
const columnsChoose = [ | |||
{ | |||
title: '名称', | |||
dataIndex: 'name', | |||
valueType: 'textarea', | |||
} | |||
]; | |||
//当前操作的门店对象 | |||
const [currentOption, setCurrentOption] = useState({ id: '' }); | |||
//是否显示 新增/编辑 菜谱弹窗 | |||
@@ -303,7 +311,17 @@ const GoodsConfig = (props) => { | |||
* @param {*} goods | |||
*/ | |||
const addGoodsToFoodMenu = () => { | |||
if (selectedRows.length === 0) { | |||
notification.error({ | |||
message: '商品添加到菜谱出错', | |||
description: '请选择商品', | |||
placement: 'topRight' | |||
}); | |||
return; | |||
} | |||
props.onAddGoodsToFoodMenu(currentFoodMenu, selectedRows); | |||
setSelectRowKeys([]); | |||
setSetSelectedRows([]); | |||
} | |||
useEffect(() => { | |||
@@ -493,14 +511,6 @@ const GoodsConfig = (props) => { | |||
}; | |||
}} | |||
columns={columns} | |||
rowSelection={{ | |||
type: 'checkbox', | |||
onChange: (selectedRowKeys, selectedRows) => { | |||
setSelectRowKeys(selectedRowKeys); | |||
setSetSelectedRows(selectedRows); | |||
}, | |||
selectedRowKeys: selectedRowKeys | |||
}} | |||
toolBarRender={() => [ | |||
<Button key="button" icon={<PlusOutlined />} type="primary" onClick={() => { | |||
editGoodsForm.resetFields(); | |||
@@ -686,21 +696,19 @@ const GoodsConfig = (props) => { | |||
</Form> | |||
</Modal> | |||
<Drawer width={600} title="商品添加到菜谱" placement="right" onClose={() => setShowMenuDrawer(false)} visible={showMenuDrawer}> | |||
<Drawer width={800} title="商品添加到菜谱" placement="right" onClose={() => setShowMenuDrawer(false)} visible={showMenuDrawer}> | |||
<div style={{ display: 'flex', alignItems: 'center', marginBottom: '10px' }}> | |||
<div style={{ marginRight: '10px' }}> | |||
<div className={indexStyles.current_selected_obj}> | |||
当前菜谱: | |||
</div> | |||
<Select | |||
style={{ | |||
width: '300px', | |||
marginRight: '10px' | |||
}} | |||
className={indexStyles.current_selected_cmp} | |||
onChange={(item) => { | |||
setCurrentFoodMenu(item); | |||
}} | |||
placeholder="请选择菜谱" | |||
value={currentFoodMenu} | |||
size="large" | |||
> | |||
{ | |||
props.foodMenuConfig.map(item => { | |||
@@ -708,9 +716,51 @@ const GoodsConfig = (props) => { | |||
}) | |||
} | |||
</Select> | |||
<Button onClick={addGoodsToFoodMenu}>确定添加</Button> | |||
</div> | |||
<Table rowKey="id" columns={menuFoodsColumns} dataSource={menuFoodList} /> | |||
<div className={indexStyles.add_to_some_box}> | |||
<ProTable | |||
actionRef={actionRef} | |||
className={indexStyles.wait_add_list} | |||
headerTitle="待添加商品列表" | |||
rowKey="id" | |||
search={false} | |||
pagination={{ | |||
current: currentPage, | |||
pageSize: pageSize, | |||
onChange: (page, pageSize) => { | |||
setCurrentPage(page); | |||
setPageSize(pageSize); | |||
} | |||
}} | |||
request={async (params) => { | |||
var goodsData = []; | |||
if (params.goodsTypeId != undefined) { | |||
params.goodsTypeId = goodsTypes[params.goodsTypeId].goodsTypeId; | |||
} | |||
var total = 0; | |||
await quickAPI.GetgoodsList(params).then((r) => { | |||
goodsData = r.data.data; | |||
total = r.data.total; | |||
}); | |||
return { | |||
data: goodsData, | |||
success: true, | |||
total: total, | |||
}; | |||
}} | |||
columns={columnsChoose} | |||
rowSelection={{ | |||
type: 'checkbox', | |||
onChange: (selectedRowKeys, selectedRows) => { | |||
setSelectRowKeys(selectedRowKeys); | |||
setSetSelectedRows(selectedRows); | |||
}, | |||
selectedRowKeys: selectedRowKeys | |||
}} | |||
/> | |||
<Table className={indexStyles.success_add_list} rowKey="id" columns={menuFoodsColumns} dataSource={menuFoodList} /> | |||
</div> | |||
<Button className={indexStyles.sure_add_btn} type='primary' onClick={addGoodsToFoodMenu}>确定添加</Button> | |||
</Drawer> | |||
</> | |||
} | |||
@@ -1,6 +1,6 @@ | |||
import React, { useState, useEffect, useRef } from 'react'; | |||
import ProTable from '@ant-design/pro-table'; | |||
import { Form, Input, Select, Drawer, message, Button, Modal, Row, Col, Table } from 'antd'; | |||
import { Form, Input, Select, Drawer, message, Button, Modal, Row, Col, Table, notification } from 'antd'; | |||
import ProForm, { ProFormSelect, ProFormText, ProFormDigit } from '@ant-design/pro-form'; | |||
import quickAPI from "../../service"; | |||
import indexStyles from "../../index.less"; | |||
@@ -122,6 +122,22 @@ const MaterialConfig = (props) => { | |||
}, | |||
]; | |||
const columnsChoose = [ | |||
{ | |||
title: '物料名称', | |||
dataIndex: 'name', | |||
ellipsis: true, | |||
formItemProps: { | |||
rules: [ | |||
{ | |||
required: true, | |||
message: '名称为必填项', | |||
}, | |||
], | |||
}, | |||
} | |||
]; | |||
const [materialTypeList, setMaterialTypeList] = useState([]); | |||
const [materialUnitList, setMaterialUnitList] = useState([]); | |||
@@ -231,9 +247,19 @@ const MaterialConfig = (props) => { | |||
} | |||
const onMaterialRelationBom = () => { | |||
if (selectedRows.length === 0) { | |||
notification.error({ | |||
message: '配方关联商品出错', | |||
description: '请选择配方', | |||
placement: 'topRight' | |||
}); | |||
return; | |||
} | |||
const findBom = bomDropDown.find(item => item.id === currentSelectedBom); | |||
if (findBom) { | |||
props.onMaterialRelationBom(findBom.id, selectedRows); | |||
setSelectRowKeys([]); | |||
setSetSelectedRows([]); | |||
} | |||
} | |||
@@ -485,14 +511,6 @@ const MaterialConfig = (props) => { | |||
}; | |||
}} | |||
columns={columns} | |||
rowSelection={{ | |||
type: 'checkbox', | |||
onChange: (selectedRowKeys, selectedRows) => { | |||
setSelectRowKeys(selectedRowKeys); | |||
setSetSelectedRows(selectedRows); | |||
}, | |||
selectedRowKeys: selectedRowKeys | |||
}} | |||
toolBarRender={() => [ | |||
<Button key="button" icon={<PlusOutlined />} type="primary" onClick={() => { | |||
materialForm.resetFields(); | |||
@@ -613,22 +631,20 @@ const MaterialConfig = (props) => { | |||
</Form> | |||
</Modal> | |||
<Drawer width={600} title="物料关联配方" placement="right" onClose={() => setShowMenuDrawer(false)} visible={showMenuDrawer}> | |||
<Drawer width={800} title="物料关联配方" placement="right" onClose={() => setShowMenuDrawer(false)} visible={showMenuDrawer}> | |||
<div style={{ display: 'flex', alignItems: 'center', marginBottom: '10px' }}> | |||
<div style={{ marginRight: '10px' }}> | |||
<div className={indexStyles.current_selected_obj}> | |||
当前配方: | |||
</div> | |||
<Select | |||
style={{ | |||
width: '300px', | |||
marginRight: '10px' | |||
}} | |||
className={indexStyles.current_selected_cmp} | |||
onChange={(item) => { | |||
console.log('setCurrentSelectedBom', item); | |||
setCurrentSelectedBom(item); | |||
}} | |||
placeholder="请选择配方" | |||
value={currentSelectedBom} | |||
size="large" | |||
> | |||
{ | |||
bomDropDown.map(item => { | |||
@@ -636,9 +652,48 @@ const MaterialConfig = (props) => { | |||
}) | |||
} | |||
</Select> | |||
<Button onClick={onMaterialRelationBom}>确定关联</Button> | |||
</div> | |||
<Table rowKey="id" columns={materialColumns} dataSource={materialBelongToBom} /> | |||
<div className={indexStyles.add_to_some_box}> | |||
<ProTable | |||
className={indexStyles.wait_add_list} | |||
actionRef={actionRef} | |||
headerTitle="物料列表" | |||
rowKey="id" | |||
search={false} | |||
pagination={{ | |||
current: currentPage, | |||
pageSize: pageSize, | |||
onChange: (page, pageSize) => { | |||
setCurrentPage(page); | |||
setPageSize(pageSize); | |||
} | |||
}} | |||
request={async (params) => { | |||
let UserData = []; | |||
let total = 0; | |||
await quickAPI.GetMaterialPage(params).then((r) => { | |||
UserData = r.data.data; | |||
total = r.data.total; | |||
}); | |||
return { | |||
data: UserData, | |||
success: true, | |||
total: total, | |||
}; | |||
}} | |||
columns={columnsChoose} | |||
rowSelection={{ | |||
type: 'checkbox', | |||
onChange: (selectedRowKeys, selectedRows) => { | |||
setSelectRowKeys(selectedRowKeys); | |||
setSetSelectedRows(selectedRows); | |||
}, | |||
selectedRowKeys: selectedRowKeys | |||
}} | |||
/> | |||
<Table className={indexStyles.success_add_list} rowKey="id" columns={materialColumns} dataSource={materialBelongToBom} /> | |||
</div> | |||
<Button className={indexStyles.sure_add_btn} type='primary' onClick={onMaterialRelationBom}>确定关联</Button> | |||
</Drawer> | |||
<StepsButton foodMenuConfig={props.foodMenuConfig} current={props.current} steps={props.steps} prev={props.prev} next={props.next}></StepsButton> | |||
@@ -16,7 +16,7 @@ const StoreConfig = (props) => { | |||
const { TextArea } = Input; | |||
const { Option, OptGroup } = Select; | |||
const [storeForm] = Form.useForm(); | |||
//组织树 | |||
//门店树 | |||
const [orgTree, setOrgTree] = useState([]); | |||
//支付方式列表 | |||
const [payTypeList, setPayTypeList] = useState([]); | |||
@@ -40,7 +40,7 @@ const StoreConfig = (props) => { | |||
actionRef.current.reload(); | |||
setIsShowModal(false); | |||
} else { | |||
message.error(response.errors || '添加成出错'); | |||
message.error(response.errors.sort[0] || '添加成出错'); | |||
} | |||
} | |||
message.destroy(key); | |||
@@ -52,7 +52,7 @@ const StoreConfig = (props) => { | |||
const [isShowModal, setIsShowModal] = useState(false); | |||
const actionRef = useRef(); | |||
//获取组织树 | |||
//获取门店树 | |||
const onFetchOrgTree = async () => { | |||
const response = await quickAPI.getOrgTree(); | |||
if (response.statusCode === 200) { | |||
@@ -67,7 +67,7 @@ const StoreConfig = (props) => { | |||
] | |||
setOrgTree(org); | |||
} else { | |||
message.error(response.errors || '获取组织架构出错'); | |||
message.error(response.errors || '获取门店架构出错'); | |||
} | |||
} | |||
@@ -81,7 +81,7 @@ const StoreConfig = (props) => { | |||
} | |||
} | |||
//组织列表 | |||
//门店列表 | |||
const columns = [ | |||
{ | |||
title: '主键', | |||
@@ -91,15 +91,15 @@ const StoreConfig = (props) => { | |||
hideInTable: true, | |||
}, | |||
{ | |||
title: '组织名称', | |||
title: '门店名称', | |||
dataIndex: 'name', | |||
}, | |||
{ | |||
title: '组织编码', | |||
title: '门店编码', | |||
dataIndex: 'code', | |||
}, | |||
{ | |||
title: '组织类型', | |||
title: '门店类型', | |||
dataIndex: 'type', | |||
valueEnum: { | |||
0: { | |||
@@ -160,7 +160,7 @@ const StoreConfig = (props) => { | |||
}, []); | |||
return <> | |||
<Modal width={600} title={currentOption.id ? '编辑组织架构' : '新增组织架构'} visible={isShowModal} footer={false} onCancel={() => setIsShowModal(false)}> | |||
<Modal width={600} title={currentOption.id ? '编辑门店架构' : '新增门店架构'} visible={isShowModal} footer={false} onCancel={() => setIsShowModal(false)}> | |||
<Form | |||
form={storeForm} | |||
layout="horizontal" | |||
@@ -174,11 +174,11 @@ const StoreConfig = (props) => { | |||
<Input /> | |||
</Form.Item> | |||
<Form.Item name="code" label="组织编码" rules={[{ required: true, max: 64 }]}> | |||
<Input placeholder="请输入组织编码" /> | |||
<Form.Item name="code" label="门店编码" rules={[{ required: true, max: 64 }]}> | |||
<Input placeholder="请输入门店编码" /> | |||
</Form.Item> | |||
<Form.Item name="name" label="组织名称" rules={[{ required: true, max: 64 }]}> | |||
<Form.Item name="name" label="门店名称" rules={[{ required: true, max: 64 }]}> | |||
<Input placeholder="请输入名称" /> | |||
</Form.Item> | |||
@@ -194,8 +194,8 @@ const StoreConfig = (props) => { | |||
<Form.Item | |||
name="type" | |||
label="组织类型" | |||
rules={[{ required: true, message: '请选择组织类型' }]} | |||
label="门店类型" | |||
rules={[{ required: true, message: '请选择门店类型' }]} | |||
> | |||
<Select placeholder="请选择机构类型" > | |||
<OptGroup> | |||
@@ -236,7 +236,7 @@ const StoreConfig = (props) => { | |||
</Form.Item> | |||
<Form.Item name="sort" label="排序"> | |||
<InputNumber min={1} step={1} precision={0} /> | |||
<InputNumber min={1} step={1} precision={0} defaultValue={1} /> | |||
</Form.Item> | |||
<Form.Item name="remark" label="备注"> | |||
@@ -254,7 +254,7 @@ const StoreConfig = (props) => { | |||
<ProTable | |||
search={false} | |||
style={{ width: '100%' }} | |||
headerTitle="组织列表" | |||
headerTitle="门店列表" | |||
actionRef={actionRef} | |||
rowKey="id" | |||
rowSelection={{ | |||
@@ -71,4 +71,34 @@ | |||
line-height: 1.5715; | |||
word-break: break-word; | |||
overflow-wrap: break-word; | |||
} | |||
.current_selected_obj { | |||
margin-right: 10px; | |||
flex-shrink: 0 | |||
} | |||
.current_selected_cmp { | |||
width: 100%; | |||
margin-right: 10px; | |||
} | |||
.sure_add_btn { | |||
width: 100%; | |||
height: 40px; | |||
margin-right: 10px | |||
} | |||
.add_to_some_box { | |||
display: flex; | |||
} | |||
.wait_add_list { | |||
width: 400px; | |||
flex-shrink: 0; | |||
} | |||
.success_add_list { | |||
flex-grow: 1; | |||
margin-top: 50px; | |||
} |