Commit 26c8b263 authored by xiexiuxing's avatar xiexiuxing

feat:渠道直采商品

parent 4de334d3
// 价格策略 btnCode 是pass 平台配置唯一表示
btnCode 是pass 平台配置唯一表示
menuCode 是 pass平台菜单属性relationParentCode":"commodityAbility",
// 价格策略 // 价格策略
priceManage.add" 价格策略列表新曾 priceManage.add" 价格策略列表新曾
priceManage.del 价格策略列表删除 priceManage.del 价格策略列表删除
...@@ -10,7 +12,23 @@ goods.batch :'货品列表批量' ...@@ -10,7 +12,23 @@ goods.batch :'货品列表批量'
goods.see :'货品列表查看' goods.see :'货品列表查看'
goods.del :'货品列表删除' goods.del :'货品列表删除'
goods.edit :'货品列表修改' goods.edit :'货品列表修改'
// 商品 // 商品没有改完 改不动
products.add :'商品新曾' products.add :'商品新曾'
products.batch:'商品批量操作' products.batch:'商品批量操作'
products.copy:'商品拷贝' products.copy:'商品拷贝'
\ No newline at end of file
// 快捷修改单价
fastModifyPrice.edit :'快捷修改单价'
fastModifyPrice.see:'快捷修改查看'
//渠道直采商品
directChannel.add :渠道直采商品新曾
directChannel.del:渠道直采商品删除
directChannel.see:渠道直采商品查看
directChannel.batch :渠道直采商品批量按钮
directChannel.edit: 渠道直采商品编辑按钮
directChannel.state:渠道直采商品上架下架
//品类及属性
//品牌管理
//仓位 pass 已经加上去 等待页面处理
\ No newline at end of file
...@@ -26,6 +26,8 @@ import { productStatusColor, productStatusLabel } from './constant' ...@@ -26,6 +26,8 @@ import { productStatusColor, productStatusLabel } from './constant'
import { getProductChannelCommodityGetChannelCommodityList, getProductChannelCommodityGetShop, getProductChannelCommodityGetShopBatch, GetProductChannelCommodityGetShopResponse, postProductChannelCommodityBatchOffPublishCommodity, postProductChannelCommodityBatchPublishCommodity, postProductChannelCommodityDeleteBatchChannelCommodity, postProductChannelCommodityPublishCommodity } from '@/services/ProductV2Api' import { getProductChannelCommodityGetChannelCommodityList, getProductChannelCommodityGetShop, getProductChannelCommodityGetShopBatch, GetProductChannelCommodityGetShopResponse, postProductChannelCommodityBatchOffPublishCommodity, postProductChannelCommodityBatchPublishCommodity, postProductChannelCommodityDeleteBatchChannelCommodity, postProductChannelCommodityPublishCommodity } from '@/services/ProductV2Api'
import { getTemplateWebMemberChannelWebFindCurrMemberChannel } from '@/services/TemplateV2Api' import { getTemplateWebMemberChannelWebFindCurrMemberChannel } from '@/services/TemplateV2Api'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable' import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import AuthButton from '@/components/AuthButton'
import { AuthUrl } from '@/components/AuthButton/AuthUrl'
const { confirm } = Modal; const { confirm } = Modal;
const formActions = createFormActions(); const formActions = createFormActions();
...@@ -143,10 +145,17 @@ const DirectChannel: React.FC<{}> = () => { ...@@ -143,10 +145,17 @@ const DirectChannel: React.FC<{}> = () => {
render: (text: any, record: any) => { render: (text: any, record: any) => {
return ( return (
<> <>
{(record.status === 5) ? <Button type='link' onClick={() => clickUp(0, record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.1' })}</Button> : ''} {(record.status === 5) ?
<AuthButton btnCode='directChannel.state' menuCode='commodityAbility' >
<Button type='link' onClick={() => clickUp(0, record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.1' })}</Button>
</AuthButton>
: ''}
{(record.status === 6) ? {(record.status === 6) ?
<> <>
<Button type='link' onClick={() => clickUp(1, record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.2' })}</Button> <AuthButton btnCode='directChannel.state' menuCode='commodityAbility' >
<Button type='link' onClick={() => clickUp(1, record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.2' })}</Button>
</AuthButton>
<Button type='link' onClick={() => clickModify(record)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.3' })}</Button> <Button type='link' onClick={() => clickModify(record)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.3' })}</Button>
</> </>
: ''} : ''}
...@@ -155,8 +164,13 @@ const DirectChannel: React.FC<{}> = () => { ...@@ -155,8 +164,13 @@ const DirectChannel: React.FC<{}> = () => {
<Button type='link' onClick={() => clickUp(1, record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.2' })}</Button> <Button type='link' onClick={() => clickUp(1, record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.2' })}</Button>
<Dropdown overlay={ <Dropdown overlay={
<Menu> <Menu>
<Menu.Item><Button type='link' onClick={() => clickModify(record)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.3' })}</Button></Menu.Item> <AuthButton btnCode='directChannel.edit' menuCode='commodityAbility' >
<Menu.Item><Button type='link' onClick={() => clickDelete(record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.4' })}</Button></Menu.Item> <Menu.Item><Button type='link' onClick={() => clickModify(record)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.3' })}</Button></Menu.Item>
</AuthButton>
<AuthButton btnCode='directChannel.del' menuCode='commodityAbility' >
<Menu.Item><Button type='link' onClick={() => clickDelete(record.id)}>{intl.formatMessage({ id: 'commodity.products.directChannel.columns.option.button.4' })}</Button></Menu.Item>
</AuthButton>
</Menu> </Menu>
}> }>
<a className="ant-dropdown-link" onClick={e => e.preventDefault()}> <a className="ant-dropdown-link" onClick={e => e.preventDefault()}>
...@@ -350,17 +364,22 @@ const DirectChannel: React.FC<{}> = () => { ...@@ -350,17 +364,22 @@ const DirectChannel: React.FC<{}> = () => {
const controllerBtns = ( const controllerBtns = (
<Space> <Space>
<Button <AuthButton btnCode='directChannel.add' menuCode='commodityAbility' >
type='primary' <Button
onClick={() => history.push('/memberCenter/commodityAbility/commodity/products/directChannel/add')} type='primary'
> onClick={() => history.push('/memberCenter/commodityAbility/commodity/products/directChannel/add')}
<PlusOutlined />{intl.formatMessage({ id: 'commodity.products.directChannel.controllerBtns.button.1' })} >
</Button> <PlusOutlined />{intl.formatMessage({ id: 'commodity.products.directChannel.controllerBtns.button.1' })}
<Dropdown overlay={menuMore} trigger={['click']}>
<Button>
{intl.formatMessage({ id: 'commodity.products.directChannel.controllerBtns.button.2' })} <DownOutlined />
</Button> </Button>
</Dropdown> </AuthButton>
<AuthButton btnCode='directChannel.batch' menuCode='commodityAbility' >
<Dropdown overlay={menuMore} trigger={['click']}>
<Button>
{intl.formatMessage({ id: 'commodity.products.directChannel.controllerBtns.button.2' })} <DownOutlined />
</Button>
</Dropdown>
</AuthButton>
</Space> </Space>
); );
......
...@@ -18,6 +18,8 @@ import { fastSchema } from './schema/productSchema' ...@@ -18,6 +18,8 @@ import { fastSchema } from './schema/productSchema'
import { FORM_FILTER_PATH } from '@/formSchema/const' import { FORM_FILTER_PATH } from '@/formSchema/const'
import { priceTypeLabel, productStatusColor, productStatusLabel, validatorNumberRange } from './constant' import { priceTypeLabel, productStatusColor, productStatusLabel, validatorNumberRange } from './constant'
import { getProductCommodityGetCommodityDetailList, getProductCommodityGetCommodityPrice, postProductCommodityUpdateCommodityPrice } from '@/services/ProductV2Api' import { getProductCommodityGetCommodityDetailList, getProductCommodityGetCommodityPrice, postProductCommodityUpdateCommodityPrice } from '@/services/ProductV2Api'
import AuthButton from '@/components/AuthButton'
import { AuthUrl } from '@/components/AuthButton/AuthUrl'
const formActions = createFormActions(); const formActions = createFormActions();
...@@ -48,6 +50,7 @@ const FastModifyPrice: React.FC<{}> = () => { ...@@ -48,6 +50,7 @@ const FastModifyPrice: React.FC<{}> = () => {
key: 'name', key: 'name',
className: 'commonPickColor', className: 'commonPickColor',
render: (text: any, record: any) => <EyePreview render: (text: any, record: any) => <EyePreview
type={AuthUrl('fastModifyPrice.see', 'commodityAbility') ? 'link' : 'button'}
url={`/memberCenter/commodityAbility/commodity/products/detail?id=${record.commodityId}`} url={`/memberCenter/commodityAbility/commodity/products/detail?id=${record.commodityId}`}
> >
{text} {text}
...@@ -114,7 +117,10 @@ const FastModifyPrice: React.FC<{}> = () => { ...@@ -114,7 +117,10 @@ const FastModifyPrice: React.FC<{}> = () => {
render: (text: any, record: any) => { render: (text: any, record: any) => {
return ( return (
<> <>
<Button type='link' className="padLeft0" onClick={() => handleModify(record)}>{record.priceType === 3 ? intl.formatMessage({ id: 'commodity.products.fastModifyPrice.columns.option.1' }) : intl.formatMessage({ id: 'commodity.products.fastModifyPrice.columns.option.2' })}</Button> <AuthButton btnCode='fastModifyPrice.edit' menuCode='commodityAbility'>
<Button type='link' className="padLeft0" onClick={() => handleModify(record)}>{record.priceType === 3 ? intl.formatMessage({ id: 'commodity.products.fastModifyPrice.columns.option.1' }) : intl.formatMessage({ id: 'commodity.products.fastModifyPrice.columns.option.2' })}</Button>
</AuthButton>
</> </>
) )
} }
......
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