Commit f8cb4ca5 authored by 武广's avatar 武广

feat: 升级antd + react

parent 6ddb7c73
This diff is collapsed.
......@@ -69,3 +69,10 @@ ol {
}
}
}
.ant-pro-card-body {
padding: 0 !important;
}
.ant-pro-table-list-toolbar-container {
box-sizing: border-box;
padding: 10px 30px !important;
}
......@@ -2,7 +2,7 @@ import React, { useState } from 'react';
import { Button, Divider, Form, Input, Checkbox, Col, Row, Modal, Select } from 'antd';
import { ExclamationCircleOutlined } from '@ant-design/icons';
import { jsonToArray } from '@/utils/utils';
import { layout, typeOptions, boolOptions, infoOptions } from '../model/index';
import { layout, typeOptions, boolOptions, infoOptions } from '../staticData/index';
import style from '../style/info.less';
import MealSection from './MealSection';
import MealLimit from './MealLimit';
......@@ -93,7 +93,7 @@ const CustomerInfo = props => {
return (
<Modal
title="企业客户信息"
visible={props.visible}
open={props.visible}
destroyOnClose
maskClosable={false}
width="850px"
......
import React from 'react';
import { Form, Space, Checkbox, TimePicker } from 'antd';
import { mealSections } from '../model/index';
import { mealSections } from '../staticData/index';
const MealSection = props =>
mealSections.map(field => (
......
......@@ -2,7 +2,7 @@ import React, { useState, useRef } from 'react';
import ProTable from '@ant-design/pro-table';
import { Button } from 'antd';
import { PlusOutlined } from '@ant-design/icons';
import { customerColumn } from './model/index';
import { customerColumn } from './staticData/index';
import CustomerInfo from './components/CustomerInfo';
const BusinessCustomer = () => {
......
......@@ -73,7 +73,7 @@ export const customerColumn = options => {
export const typeOptions = {
1: '外卖',
2: '自助餐',
3: '到店',
4: '到店',
};
export const infoOptions = [
......
import React, { useState } from 'react';
import { Form, Input, Radio, Space, Col, Row, Modal } from 'antd';
import { ExclamationCircleOutlined } from '@ant-design/icons';
import { jsonToArray } from '@/utils/utils';
import { weekOptions } from '../staticData/goods';
const SaleDateModal = props => {
const [form] = Form.useForm();
const [value, setValue] = useState(1);
// 关闭分组信息弹窗
const handleCancel = () => {
props.handleClose(false);
};
const onChangeWeek = e => {
setValue(e.target.value);
};
// 添加/保存分组
const handleConfirm = async () => {
const res = await form.validateFields();
console.log('res :>> ', res);
};
console.log('visible :>> ', props.visible);
return (
<Modal
title="设置可售日期"
open={props.visible}
destroyOnClose
maskClosable={false}
width="200px"
onOk={handleConfirm}
onCancel={handleCancel}
>
<Radio.Group onChange={onChangeWeek} value={value}>
<Space direction="vertical">
{Object.keys(weekOptions).map(key => (
<Radio value={key}>{weekOptions[key]}</Radio>
))}
</Space>
</Radio.Group>
</Modal>
);
};
export default SaleDateModal;
import request from '@/utils/request';
import config from '@/../config/env.config';
// import qs from 'qs';
const { kdspApi, goodsApi } = config;
/**
* 获取企业外卖商品列表
* http://yapi.quantgroups.com/project/389/interface/api/64794
*/
export async function apiTakeawayList(param) {
return request.post('/v1/channels/products/pick/b/pageList', {
data: param,
prefix: goodsApi,
});
}
......@@ -16,8 +16,18 @@ export const mealColumn = {
4: '晚餐',
};
export const weekOptions = {
1: '周一',
2: '周二',
3: '周三',
4: '周四',
5: '周五',
6: '周六',
7: '周日',
};
export const takeawayGoodsColumn = options => {
const { onDel, companyEnum, shopEnum, onChangeFlag } = options;
const { onDel, companyEnum, shopEnum, onChangeFlag, setVisibleSaleDate } = options;
return [
{
title: '企业名称',
......@@ -60,7 +70,7 @@ export const takeawayGoodsColumn = options => {
render: (_, record) => (
<Space>
<span>{_}</span>
<span>
<span onClick={setVisibleSaleDate(true)}>
<FormOutlined />
</span>
</Space>
......
.search {
padding: 0;
:global {
.ant-form-item {
display: block !important;
}
}
}
import React, { useState, useRef } from 'react';
import ProTable from '@ant-design/pro-table';
import { ProTable } from '@ant-design/pro-components';
import { Button, Space } from 'antd';
import { PlusOutlined } from '@ant-design/icons';
import { takeawayGoodsColumn } from './model/goods';
// import CustomerInfo from './components/CustomerInfo';
import { takeawayGoodsColumn } from './staticData/goods';
import utilStyle from '@/utils/utils.less';
import { apiTakeawayList } from './service/api';
import SaleDateModal from './components/SaleDateModal';
const BusinessCustomer = () => {
const [visible, setVisible] = useState(true);
const query = async () => {};
const [visibleSaleDate, setVisibleSaleDate] = useState(true); // 可售日期弹窗
const [visibleSaleSection, setVisibleSaleSection] = useState(true); // 可售餐段弹窗
const [visiblePrice, setVisiblePrice] = useState(true); // 修改企业商品价格弹窗
const [visibleSort, setVisibleSort] = useState(true); // 商品排序弹窗
const [visibleGoods, setVisibleGoods] = useState(true); // 添加外卖商品弹窗
const [activeKey, setActiveKey] = useState('tab1');
const query = async params => {
console.log('params :>> ', params);
const data = {
page: params.current,
size: params.pageSize,
data: params,
};
return apiTakeawayList(data);
};
const onDel = async () => {};
const onAdd = async () => {};
const options = {
setVisibleSaleDate,
setVisibleSaleSection,
setVisiblePrice,
setVisibleSort,
setVisibleGoods,
onDel,
};
return (
<div>
<ProTable
search={{
span: 6,
className: utilStyle.formSearch,
collapsed: false,
collapseRender: () => null,
}}
columns={takeawayGoodsColumn({ onDel })}
tableClassName={utilStyle.formTable}
columns={takeawayGoodsColumn(options)}
request={params => query({ ...params })}
rowKey={r => r.id}
expandIconColumnIndex={10}
bordered
// options={false}
tableAlertRender={() => (
<Space>
<Button>111</Button>
<Button>2222</Button>
</Space>
)}
options={false}
toolbar={{
menu: {
type: 'tab',
activeKey,
items: [
{
key: 'tab1',
label: <span>取餐点1</span>,
},
{
key: 'tab2',
label: <span>取餐点2</span>,
},
{
key: 'tab3',
label: <span>取餐点3</span>,
},
],
onChange: key => {
setActiveKey(key);
},
},
actions: [
<Button key="1" icon={<PlusOutlined />} type="primary" onClick={onAdd}>
添加外卖商品
</Button>,
],
}}
scroll={{ x: '100%', y: 400 }}
/>
{/* <CustomerInfo visible={visible} /> */}
{visibleSaleDate && (
<SaleDateModal visible={visibleSaleDate} close={() => setVisibleSaleDate(false)} />
)}
</div>
);
};
......
......@@ -48,3 +48,14 @@
visibility: hidden;
}
}
.formSearch {
padding: 0;
:global {
.ant-form-item {
display: block !important;
}
}
}
.formTable {
padding: 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment