Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linweijiong
jinfa-platform
Commits
d4291c88
Commit
d4291c88
authored
Nov 13, 2020
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://10.0.0.22:3000/lingxi/lingxi-business-paltform
into dev
parents
6cb6516a
b1e3ed94
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
149 additions
and
59 deletions
+149
-59
config.ts
config/config.ts
+2
-1
package.json
package.json
+4
-4
index.ts
src/constants/index.ts
+3
-0
RightContent.tsx
src/layouts/components/RightContent.tsx
+13
-15
UserHeader.tsx
src/layouts/components/UserHeader.tsx
+1
-1
index.ts
src/module/productModule/index.ts
+2
-0
selectChannel.tsx
...pages/commodity/products/addChannelItem/selectChannel.tsx
+6
-6
logisticsForm.tsx
...ages/commodity/products/addProductsItem/logisticsForm.tsx
+16
-2
priceAttributeForm.tsx
...commodity/products/addProductsItem/priceAttributeForm.tsx
+3
-2
index.tsx
src/pages/lxMall/commodityDetail/index.tsx
+13
-1
index.tsx
src/pages/lxMall/components/QuickNav/index.tsx
+1
-1
index.tsx
src/pages/lxMall/components/Recommand/index.tsx
+43
-8
index.tsx
src/pages/lxMall/purchaseOrder/index.tsx
+2
-4
PositionSetting.tsx
src/pages/repositories/components/PositionSetting.tsx
+0
-1
index.less
src/pages/systemSetting/message/index.less
+4
-1
index.tsx
src/pages/systemSetting/message/index.tsx
+25
-8
index.tsx
src/pages/transaction/purchaseOrder/readyFileOrder/index.tsx
+1
-1
useSelfTable.tsx
...ansaction/saleOrder/readyPayResult/model/useSelfTable.tsx
+1
-1
index.tsx
src/pages/user/index.tsx
+1
-1
register.tsx
src/pages/user/register.tsx
+1
-1
index.ts
src/store/product/index.ts
+7
-0
No files found.
config/config.ts
View file @
d4291c88
...
...
@@ -9,7 +9,8 @@ const config: any = {
// 如需写入环境变量 需在config中先写入
define
:
{
"process.env.SITE_ID"
:
process
.
env
.
SITE_ID
,
"process.env.BACK_GATEWAY"
:
process
.
env
.
BACK_GATEWAY
"process.env.BACK_GATEWAY"
:
process
.
env
.
BACK_GATEWAY
,
'process.env.SOCKET_URL'
:
process
.
env
.
SOCKET_URL
},
// layout: {},
esbuild
:
{},
...
...
package.json
View file @
d4291c88
...
...
@@ -5,7 +5,7 @@
"api"
:
"god-ytt"
,
"scripts:build"
:
"node scripts/run"
,
"scripts:build-yxc"
:
"node scripts/run http://yxc-web-demo.shushangyun.com/api"
,
"start:dev"
:
"umi dev"
,
"start:dev"
:
"umi dev
"
,
"start:analyze"
:
"ANALYZE=1 umi dev"
,
"clean"
:
"rimraf node_modules"
,
"start"
:
"yarn api && yarn scripts:build && umi dev"
,
...
...
@@ -18,9 +18,9 @@
"prettier"
:
"prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'"
,
"test"
:
"umi-test"
,
"test:coverage"
:
"umi-test --coverage"
,
"start:cross"
:
"cross-env SITE_ID=352 USE_ROUTE_CONFIG=false yarn start"
,
"start:url"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-all.wg.shushangyun.com USE_ROUTE_CONFIG=true yarn start"
,
"start:10"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://10.0.0.10:8100 USE_ROUTE_CONFIG=true yarn start"
"start:cross"
:
"cross-env SITE_ID=352 USE_ROUTE_CONFIG=false
SOCKET_URL=ws://10.0.0.25:8100
yarn start"
,
"start:url"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://lingxi-all.wg.shushangyun.com USE_ROUTE_CONFIG=true
SOCKET_URL=ws://lingxi-all.wg.shushangyun.com
yarn start"
,
"start:10"
:
"cross-env SITE_ID=1 BACK_GATEWAY=http://10.0.0.10:8100 USE_ROUTE_CONFIG=true
SOCKET_URL=ws://10.0.0.10:8100
yarn start"
},
"lint-staged"
:
{
"*.{js,jsx,less,md,json}"
:
[
...
...
src/constants/index.ts
View file @
d4291c88
export
const
NOT_CHANGE_VALUE
=
'hello, world'
// socket的链接地址, 默认会使用后端接口网关地址
export
const
SOCKET_URL
=
process
.
env
.
SOCKET_URL
||
process
.
env
.
BACK_GATEWAY
||
"ws://10.0.0.25:8000"
export
const
MALL_TYPE
=
{
1
:
'企业商城'
,
2
:
'积分商城'
,
...
...
src/layouts/components/RightContent.tsx
View file @
d4291c88
import
{
Tooltip
}
from
'antd'
;
import
{
Tooltip
,
Badge
}
from
'antd'
;
import
{
BellOutlined
,
CustomerServiceOutlined
}
from
'@ant-design/icons'
;
import
React
,
{
useCallback
,
useRef
,
useLayoutEffect
}
from
'react'
;
// import { connect, ConnectProps } from 'umi';
// import { ConnectState } from '@/models/connect';
import
Avatar
from
'./AvatarDropdown'
;
import
SelectLang
from
'./SelectLang'
;
import
Location
from
'./Location'
;
import
Roles
from
'./Roles'
;
import
styles
from
'../styles/RightContent.less'
;
import
{
Link
}
from
'umi'
;
import
{
getAuth
}
from
'@/utils/auth'
import
{
getAuth
}
from
'@/utils/auth'
;
import
{
SOCKET_URL
}
from
'@/constants'
;
// export type SiderTheme = 'light' | 'dark';
// export interface GlobalHeaderRightProps extends Partial<ConnectProps> {
...
...
@@ -17,8 +16,7 @@ import { getAuth } from '@/utils/auth'
// layout: 'sidemenu' | 'topmenu';
// }
const
GlobalHeaderRight
:
React
.
SFC
<
{}
>
=
(
props
)
=>
{
const
GlobalHeaderRight
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
// const { theme, layout } = props;
let
className
=
styles
.
right
;
...
...
@@ -32,7 +30,7 @@ const GlobalHeaderRight: React.SFC<{}> = (props) => {
const
webSocketInit
=
useCallback
(()
=>
{
console
.
log
(
ws
.
current
)
if
(
!
ws
.
current
||
ws
.
current
.
readyState
===
3
)
{
ws
.
current
=
new
WebSocket
(
`
ws://10.0.0.25:8100
/report/websocket?memberId=
${
userInfo
.
memberId
}
&roleId=
${
userInfo
.
memberRoleId
}
`
);
ws
.
current
=
new
WebSocket
(
`
${
SOCKET_URL
}
/report/websocket?memberId=
${
userInfo
.
memberId
}
&roleId=
${
userInfo
.
memberRoleId
}
`
);
ws
.
current
.
onopen
=
(
e
)
=>
{
console
.
log
(
e
)
}
...
...
@@ -62,14 +60,14 @@ const GlobalHeaderRight: React.SFC<{}> = (props) => {
<
Location
/>
<
SelectLang
/>
<
Tooltip
title=
"消息"
>
<
a
target=
"_blank
"
href=
""
rel=
"noopener noreferrer"
className=
{
styles
.
action
}
>
<
BellOutlined
/
>
</
a
>
<
a
href=
"/memberCenter/systemSetting/message
"
className=
{
styles
.
action
}
>
<
Badge
count=
{
5
}
size=
{
"small"
}
>
<
BellOutlined
/
>
</
Badge
>
</
a
>
</
Tooltip
>
<
Tooltip
title=
"服务"
>
<
a
...
...
src/layouts/components/UserHeader.tsx
View file @
d4291c88
...
...
@@ -24,7 +24,7 @@ const UserHeader: React.FC<UserHeaderProps> = (props) => {
const
getRouteName
=
()
=>
{
switch
(
pathname
)
{
case
'/user/login'
:
setTitle
(
"欢
迎登陆
"
)
setTitle
(
"欢
登录
"
)
break
case
'/user/register'
:
setTitle
(
"欢迎注册"
)
...
...
src/module/productModule/index.ts
View file @
d4291c88
...
...
@@ -66,6 +66,7 @@ export interface IProductModule {
areaOption
:
any
[];
// 省市数据
currentPageInStore
:
IPage
;
tabClickItem
:
any
[];
productPriceType
:
any
;
setAttributeLists
(
lists
:
any
[]):
void
;
setProductName
(
name
:
string
):
void
;
...
...
@@ -81,4 +82,5 @@ export interface IProductModule {
setProductInfoByEdit
(
data
:
GetProductCommodityGetCommodityResponse
):
void
;
setCurrentPageInStore
(
data
:
IPage
):
void
;
setTabClickItem
(
data
:
any
):
void
;
setProductPriceType
(
data
:
any
):
void
;
}
src/pages/commodity/products/addChannelItem/selectChannel.tsx
View file @
d4291c88
...
...
@@ -221,6 +221,8 @@ const SelectChannel:React.FC<IProps> = (props) => {
const
roleChange
=
(
value
:
number
,
option
:
IOption
)
=>
{
setSelectedOption
(
option
)
setSelectedRole
(
option
)
setMemberTableData
([])
setSelectedMemberRowKeys
([])
}
const
clickSearchChannel
=
(
value
:
string
)
=>
{
...
...
@@ -243,12 +245,6 @@ const SelectChannel:React.FC<IProps> = (props) => {
colon=
{
false
}
initialValues=
{
{
childMemberRoleId
:
memberRoleList
[
0
].
roleId
}
}
>
{
/* <Form.Item name="channelMemberRoleId">
<Radio.Group buttonStyle="solid" defaultValue={1} className={styles.customizeRadio}>
<Radio.Button key={1} value={1}>渠道采购商</Radio.Button>
<Radio.Button key={2} value={2}>渠道自有采购商</Radio.Button>
</Radio.Group>
</Form.Item> */
}
<
Form
.
Item
label=
"选择渠道角色"
name=
"childMemberRoleId"
...
...
@@ -308,6 +304,7 @@ const SelectChannel:React.FC<IProps> = (props) => {
columns=
{
columnsSetMember
}
rowSelection=
{
memberRowSelection
}
fetchTableData=
{
params
=>
fetchMemberData
(
params
)
}
forceRender=
{
true
}
formilyProps=
{
{
ctx
:
{
...
...
@@ -329,6 +326,9 @@ const SelectChannel:React.FC<IProps> = (props) => {
tableProps=
{
{
rowKey
:
'memberId'
,
}
}
resetModal=
{
{
destroyOnClose
:
true
}
}
/>
</>)
}
...
...
src/pages/commodity/products/addProductsItem/logisticsForm.tsx
View file @
d4291c88
...
...
@@ -36,8 +36,9 @@ const LogisticsForm: React.FC<Iprops> = (props) => {
const
[
deliveryType
,
setDeliveryType
]
=
useState
<
number
>
(
1
)
const
[
carriageType
,
setCarriageType
]
=
useState
<
number
>
()
const
flagRef
=
useRef
<
boolean
>
(
false
)
const
[
banCarriageType
,
setBanCarriageType
]
=
useState
(
false
)
const
{
productInfoByEdit
,
selectCategoryId
}
=
ProductStore
const
{
productInfoByEdit
,
selectCategoryId
,
productPriceType
}
=
ProductStore
useEffect
(()
=>
{
//传入ref给父级
...
...
@@ -75,12 +76,25 @@ const LogisticsForm: React.FC<Iprops> = (props) => {
}
},
[
selectCategoryId
])
useEffect
(()
=>
{
console
.
log
(
productPriceType
)
if
(
productPriceType
===
3
){
logisticsForm
.
setFieldsValue
({
carriageType
:
1
})
setCarriageType
(
1
)
setBanCarriageType
(
true
)
}
else
{
setBanCarriageType
(
false
)
}
},
[
productPriceType
])
const
changeDeliveryType
=
(
e
)
=>
{
console
.
log
(
e
)
setDeliveryType
(
e
.
target
.
value
)
setCarriageType
(
1
)
setIsTemplate
(
false
)
logisticsForm
.
resetFields
()
logisticsForm
.
setFieldsValue
({
deliveryType
:
e
.
target
.
value
})
logisticsForm
.
setFieldsValue
({
carriageType
:
1
})
}
const
onChangeTemplate
=
(
e
)
=>
{
...
...
@@ -126,7 +140,7 @@ const LogisticsForm: React.FC<Iprops> = (props) => {
},
]
}
>
<
Radio
.
Group
onChange=
{
(
e
)
=>
setCarriageType
(
e
.
target
.
value
)
}
>
<
Radio
.
Group
onChange=
{
(
e
)
=>
setCarriageType
(
e
.
target
.
value
)
}
disabled=
{
banCarriageType
}
>
<
Radio
value=
{
1
}
>
卖家承担运费(默认)
</
Radio
>
<
Radio
value=
{
2
}
>
买家承担运费
</
Radio
>
</
Radio
.
Group
>
...
...
src/pages/commodity/products/addProductsItem/priceAttributeForm.tsx
View file @
d4291c88
...
...
@@ -71,7 +71,8 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
getPriceAttributeFormParamsByEdit
,
selectCategoryId
,
productAttributeAndImageParams
,
tabClickItem
tabClickItem
,
setProductPriceType
}
=
ProductStore
// const memoizedValue = useMemo(() => {
...
...
@@ -466,8 +467,8 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
setPriceForm
.
resetFields
()
setLadderPrice
(
false
)
setPlanPrice
(
v
.
target
.
value
)
setProductPriceType
(
v
.
target
.
value
)
setIsChangePriceType
(
true
)
console
.
log
(
'价格类型变动'
)
}
const
setPriceOk
=
()
=>
{
...
...
src/pages/lxMall/commodityDetail/index.tsx
View file @
d4291c88
...
...
@@ -645,11 +645,23 @@ const CommodityDetail = (props) => {
}
}
setCurrentPriceRange
(
sortUnitPrice
(
unitPricePicList
[
0
].
unitPrice
))
setStockCount
(
unitPricePicList
[
0
].
stockCount
)
initStockCount
(
unitPricePicList
)
// setStockCount(unitPricePicList[0].stockCount)
setCommodityImgList
(
tempImgList
)
setAttributeList
(
tempAttrList
)
}
const
initStockCount
=
(
unitPricePicList
:
any
)
=>
{
if
(
!
unitPricePicList
)
{
return
}
let
total
=
0
for
(
let
item
of
unitPricePicList
)
{
total
+=
item
.
stockCount
}
setStockCount
(
total
)
}
/**
* 对阶梯价格进行从大到小的排序
* @param priceObj
...
...
src/pages/lxMall/components/QuickNav/index.tsx
View file @
d4291c88
...
...
@@ -182,7 +182,7 @@ const QuickNav: React.FC<QuickNavPropsType> = (props) => {
<
span
className=
{
styles
.
welcome_text
}
>
Hi, 欢迎来到
{
name
}
</
span
>
</
div
>
<
div
className=
{
styles
.
btn_group
}
>
<
div
className=
{
cx
(
styles
.
btn_item
,
styles
.
primary
)
}
><
a
href=
{
`/user/login?redirect=${btoa(encodeURIComponent(String(window.location)))}`
}
>
登
陆
</
a
></
div
>
<
div
className=
{
cx
(
styles
.
btn_item
,
styles
.
primary
)
}
><
a
href=
{
`/user/login?redirect=${btoa(encodeURIComponent(String(window.location)))}`
}
>
登
录
</
a
></
div
>
<
div
className=
{
styles
.
btn_item
}
><
a
href=
"/user/register"
>
注册
</
a
></
div
>
</
div
>
...
...
src/pages/lxMall/components/Recommand/index.tsx
View file @
d4291c88
...
...
@@ -13,12 +13,13 @@ interface RecommandPropsType {
layoutType
:
LAYOUT_TYPE
,
categoryIds
:
number
[],
// 商品品类集合
loading
:
boolean
,
memberId
?:
number
memberId
?:
number
,
shopInfo
?:
any
}
const
Recommand
:
React
.
FC
<
RecommandPropsType
>
=
(
props
)
=>
{
const
{
mallTemplateId
}
=
props
.
SiteStore
const
{
layoutType
,
categoryIds
,
loading
,
memberId
}
=
props
const
{
layoutType
,
categoryIds
,
loading
,
memberId
,
shopInfo
}
=
props
const
[
list
,
setList
]
=
useState
<
any
>
([])
useEffect
(()
=>
{
...
...
@@ -100,7 +101,20 @@ const Recommand: React.FC<RecommandPropsType> = (props) => {
*/
const
fetchFirstCategory
=
()
=>
{
return
new
Promise
((
resolve
)
=>
{
PublicApi
.
getTemplatePlatformFindAllFirstCategory
().
then
(
res
=>
{
let
getFn
let
param
:
any
=
{}
switch
(
layoutType
)
{
case
LAYOUT_TYPE
.
channel
:
case
LAYOUT_TYPE
.
ichannel
:
param
.
memberId
=
memberId
getFn
=
PublicApi
.
getTemplateChannelFindAllFirstCategory
break
;
default
:
getFn
=
PublicApi
.
getTemplatePlatformFindAllFirstCategory
break
;
}
getFn
&&
getFn
(
param
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
}
...
...
@@ -113,13 +127,32 @@ const Recommand: React.FC<RecommandPropsType> = (props) => {
*/
const
fetchCategoryById
=
(
categoryId
)
=>
{
return
new
Promise
((
resolve
)
=>
{
let
param
=
{
templateId
:
mallTemplateId
,
let
param
:
any
=
{
categoryId
}
let
templateId
let
getFn
switch
(
layoutType
)
{
case
LAYOUT_TYPE
.
channel
:
param
.
memberId
=
memberId
templateId
=
shopInfo
.
channelShopTemplateId
getFn
=
PublicApi
.
getTemplateChannelFindFirstCategoryDetail
break
;
case
LAYOUT_TYPE
.
ichannel
:
param
.
memberId
=
memberId
templateId
=
shopInfo
.
channelOwnShopTemplateId
getFn
=
PublicApi
.
getTemplateChannelFindFirstCategoryDetail
break
default
:
getFn
=
PublicApi
.
getTemplatePlatformFindFirstCategoryDetail
templateId
=
mallTemplateId
break
;
}
param
.
templateId
=
templateId
// @ts-ignore
PublicApi
.
getTemplatePlatformFindFirstCategoryDetail
(
param
).
then
(
res
=>
{
getFn
&&
getFn
(
param
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
}
...
...
@@ -129,8 +162,10 @@ const Recommand: React.FC<RecommandPropsType> = (props) => {
const
getCategoryComponents
=
async
()
=>
{
let
firstCategory
:
any
=
await
fetchFirstCategory
()
let
categoryDetail
:
any
=
await
fetchCategoryById
(
firstCategory
[
0
].
id
)
setList
(
changeDataKey
(
categoryDetail
.
goodsBOList
))
if
(
firstCategory
[
0
])
{
let
categoryDetail
:
any
=
await
fetchCategoryById
(
firstCategory
[
0
].
id
)
setList
(
changeDataKey
(
categoryDetail
.
goodsBOList
))
}
}
const
getCommodityDetailLink
=
(
item
)
=>
{
...
...
src/pages/lxMall/purchaseOrder/index.tsx
View file @
d4291c88
...
...
@@ -515,7 +515,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
priceRange
:
item
.
commodityUnitPrice
.
priceRange
,
category
:
item
.
commodityUnitPrice
.
commodity
.
customerCategory
.
name
,
brand
:
item
.
commodityUnitPrice
.
commodity
.
brand
.
name
,
commodityPic
:
item
.
commodityUnitPrice
.
commodity
Pic
[
0
]
,
commodityPic
:
item
.
commodityUnitPrice
.
commodity
.
mainPic
,
attribute
:
item
.
commodityUnitPrice
.
attributeAndValueList
,
stockCount
:
item
.
stockCount
||
0
}
...
...
@@ -710,9 +710,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
</
div
>
<
div
className=
{
cx
(
styles
.
order_list_item_item
,
styles
.
goods_info
)
}
>
<
div
className=
{
styles
.
order_list_item_item_imgbox
}
>
{
childItem
.
commodityUnitPrice
.
commodityPic
&&
<
ImageBox
width=
{
80
}
height=
{
80
}
imgUrl=
{
childItem
.
commodityUnitPrice
.
commodityPic
[
0
]
}
direction=
"column"
/>
}
<
ImageBox
width=
{
80
}
height=
{
80
}
imgUrl=
{
childItem
.
commodityUnitPrice
.
commodity
.
mainPic
}
direction=
"column"
/>
</
div
>
<
div
>
<
div
className=
{
styles
.
order_list_item_item_name
}
>
...
...
src/pages/repositories/components/PositionSetting.tsx
View file @
d4291c88
...
...
@@ -246,7 +246,6 @@ const PositionSetting:React.FC<PositionSettingProps> = (props) => {
const
shopType
=
addSchemaAction
.
getFieldValue
(
'shopType'
);
// 当商城类型为 渠道商城、渠道自由商城和渠道积分商城时,需要带上下面两个参数
const
{
channelMemberIdList
,
channelMemberRoleId
}
=
productState
;
const
data
=
{
...
params
,
shopType
:
shopType
,
...
...
src/pages/systemSetting/message/index.less
View file @
d4291c88
...
...
@@ -8,11 +8,13 @@
font-size: 14px;
font-weight: 400;
color: #606266;
cursor: pointer;
}
.messageTitle{
margin: 0 30px;
margin: 0
px 0px 0px
30px;
font-size: 14px;
font-weight: 500;
color: #303133;
display: inline-block;
}
}
\ No newline at end of file
src/pages/systemSetting/message/index.tsx
View file @
d4291c88
...
...
@@ -8,7 +8,8 @@ import StatusTag from '@/components/StatusTag';
import
{
PublicApi
}
from
'@/services/api'
;
import
moment
from
'moment'
;
import
msg_system
from
'@/assets/imgs/msg_system.png'
import
msg_platform
from
'@/assets/imgs/msg_platform.png'
import
msg_platform
from
'@/assets/imgs/msg_platform.png'
;
import
cx
from
'classnames'
;
const
Message
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
dataSource
,
setDataSource
]
=
useState
<
any
>
([])
...
...
@@ -40,19 +41,35 @@ const Message: React.FC<{}> = () => {
}
const
handlePaginationChange
=
(
page
,
pageSize
)
=>
{
console
.
log
(
page
,
pageSize
);
getList
({
page
,
pageSize
})
.
then
((
data
)
=>
{
console
.
log
(
data
);
setDataSource
(
data
);
})
}
const
renderMessage
=
(
data
)
=>
{
const
handleRead
=
(
id
,
url
:
string
)
=>
{
console
.
log
(
url
);
// /report/message/member/read
PublicApi
.
getReportMessageMemberRead
({
id
:
id
})
.
then
((
data
)
=>
{
if
(
url
)
{
history
.
push
(
url
);
}
})
}
const
renderMessage
=
(
data
)
=>
{
const
isRead
=
cx
({
[
styles
.
messageTitle
]:
!
data
.
status
,
[
styles
.
messageText
]:
data
.
status
})
return
(
<>
<
StatusTag
type=
{
data
.
status
}
title=
{
data
.
type
}
/>
<
span
className=
{
styles
.
messageTitle
}
>
{
data
.
title
}
</
span
>
<
span
className=
{
styles
.
messageText
}
>
{
data
.
message
}
</
span
>
<
StatusTag
type=
{
data
.
type
==
1
?
'primary'
:
'success'
}
title=
{
data
.
type
==
1
?
'系统消息'
:
'平台消息'
}
/>
<
span
className=
{
isRead
}
style=
{
{
minWidth
:
'100px'
}
}
>
{
data
.
title
}
</
span
>
<
span
className=
{
isRead
}
onClick=
{
()
=>
handleRead
(
data
.
id
,
data
.
url
)
}
>
{
data
.
content
}
</
span
>
</>
)
}
...
...
@@ -78,13 +95,13 @@ const Message: React.FC<{}> = () => {
total
:
dataSource
.
totalCount
,
showTotal
:
showTotal
}
}
renderItem=
{
item
=>
(
renderItem=
{
(
item
:
any
)
=>
(
<
List
.
Item
>
<
List
.
Item
.
Meta
avatar=
{
<
Avatar
src=
{
msg_syste
m
}
/>
}
avatar=
{
<
Avatar
src=
{
item
.
type
==
1
?
msg_system
:
msg_platfor
m
}
/>
}
title=
{
renderMessage
(
item
)
}
/>
<
div
>
{
moment
(
item
.
create
Time
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
}
</
div
>
<
div
>
{
moment
(
item
.
send
Time
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
}
</
div
>
</
List
.
Item
>
)
}
/>
...
...
src/pages/transaction/purchaseOrder/readyFileOrder/index.tsx
View file @
d4291c88
...
...
@@ -40,7 +40,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
message
.
error
(
'请先勾选订单'
)
return
;
}
const
canBitch
=
!
rowSelectionCtl
.
selectRow
.
some
(
v
=>
v
.
purchaseOrderI
nteriorState
!==
PurchaseOrderInsideWorkState
.
FILLING_ORDER
)
const
canBitch
=
!
rowSelectionCtl
.
selectRow
.
some
(
v
=>
v
.
i
nteriorState
!==
PurchaseOrderInsideWorkState
.
FILLING_ORDER
)
if
(
canBitch
)
{
const
{
code
}
=
await
run
({
ids
:
rowSelectionCtl
.
selectedRowKeys
})
if
(
code
===
1000
)
{
...
...
src/pages/transaction/saleOrder/readyPayResult/model/useSelfTable.tsx
View file @
d4291c88
...
...
@@ -80,7 +80,7 @@ export const useSelfTable = () => {
width
:
200
},
{
title
:
'
供应
会员'
,
title
:
'
采购
会员'
,
align
:
'left'
,
dataIndex
:
'supplyMembersName'
,
key
:
'supplyMembersName'
,
...
...
src/pages/user/index.tsx
View file @
d4291c88
...
...
@@ -91,7 +91,7 @@ const User: React.FC = () => {
</
div
>
<
Row
className=
{
'thirdLogin'
}
align=
'middle'
justify=
'center'
>
<
Col
>
其他方式登录
<
a
title=
"微
信登陆
"
><
img
src=
{
wechat
}
alt=
"微信登录"
/></
a
>
<
a
title=
"微
登录
"
><
img
src=
{
wechat
}
alt=
"微信登录"
/></
a
>
<
a
title=
"QQ登录"
><
img
src=
{
qq
}
alt=
"QQ登录"
/></
a
>
<
a
title=
"支付宝登录"
><
img
src=
{
alipay
}
alt=
"支付宝登录"
/></
a
>
</
Col
>
...
...
src/pages/user/register.tsx
View file @
d4291c88
...
...
@@ -328,7 +328,7 @@ const UserRegistry = () => {
</
p
>
</
div
>
}
<
p
className=
{
'readyLogin'
}
>
已有平台账号?
<
Link
to=
"/user/login"
>
去登
陆
</
Link
></
p
>
<
p
className=
{
'readyLogin'
}
>
已有平台账号?
<
Link
to=
"/user/login"
>
去登
录
</
Link
></
p
>
</
div
>
</
div
>
</
Fragment
>
...
...
src/store/product/index.ts
View file @
d4291c88
...
...
@@ -17,6 +17,7 @@ class ProductStore implements IProductModule {
@
observable
public
isAllAttributePic
:
boolean
=
true
;
// 是否所有属性共用
@
observable
public
currentPageInStore
:
IPage
=
{
current
:
null
,
pageSize
:
null
};
// 页码相关
@
observable
public
tabClickItem
:
any
[]
=
[];
// tab标签页点击项
@
observable
public
productPriceType
:
any
=
null
;
// 商品价格类型
/** 计算操作 **/
// 加工接口返回的数据,用户编辑回显数据
...
...
@@ -138,6 +139,7 @@ class ProductStore implements IProductModule {
this
.
attributeLists
=
[];
this
.
selectCategoryId
=
null
;
this
.
selectBrandId
=
null
;
this
.
productPriceType
=
null
;
}
// 编辑时 品类变更 清空部分数据
...
...
@@ -198,6 +200,11 @@ class ProductStore implements IProductModule {
public
setTabClickItem
(
data
:
any
)
{
this
.
tabClickItem
=
data
}
@
action
.
bound
public
setProductPriceType
(
data
:
any
)
{
this
.
productPriceType
=
data
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment