Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gaohuaxue-mobile-app
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
赵振东
gaohuaxue-mobile-app
Commits
78cc2f5d
Commit
78cc2f5d
authored
Feb 21, 2023
by
赵振东
Browse files
Options
Browse Files
Download
Plain Diff
解决合并冲突
parents
631428b1
57e50d8a
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
2879 additions
and
108 deletions
+2879
-108
OptionsPopup.tsx
src/components/Select/OptionsPopup.tsx
+1
-1
index.tsx
src/components/Select/index.tsx
+13
-3
FilesUpload.tsx
src/components/Upload/FilesUpload.tsx
+19
-4
styles.ts
src/components/Upload/styles.ts
+19
-9
global.d.ts
src/global.d.ts
+24
-2
order.ts
src/locales/zh_CN/order.ts
+1
-0
routers.ts
src/routers/routers.ts
+6
-0
id146891.ts
src/services/TransactionV2Api/id146891.ts
+1865
-0
id146918.ts
src/services/TransactionV2Api/id146918.ts
+0
-3
formatNum.ts
src/utils/formatNum.ts
+17
-0
getEnumManager.ts
src/utils/getEnumManager.ts
+0
-1
index.tsx
src/views/Order/ContractDetails/index.tsx
+10
-2
index.tsx
src/views/Order/ContractText/index.tsx
+6
-2
index.tsx
.../Order/MycommodityDetails/components/StaySubmit/index.tsx
+3
-0
index.tsx
src/views/RequireOrder/constants/index.tsx
+25
-0
index.tsx
src/views/RequireOrder/pages/RequireOrderDetail/index.tsx
+11
-18
styles.ts
src/views/RequireOrder/pages/RequireOrderDetail/styles.ts
+4
-6
index.tsx
...er/pages/RequirePriceOrder/components/OrderList/index.tsx
+97
-0
styles.ts
...er/pages/RequirePriceOrder/components/OrderList/styles.ts
+191
-0
index.tsx
src/views/RequireOrder/pages/RequirePriceOrder/index.tsx
+48
-57
index.tsx
...iews/RequireOrder/pages/RequirePriceOrderDetail/index.tsx
+353
-0
styles.ts
...iews/RequireOrder/pages/RequirePriceOrderDetail/styles.ts
+166
-0
No files found.
src/components/Select/OptionsPopup.tsx
View file @
78cc2f5d
...
...
@@ -39,7 +39,7 @@ export interface SelectOptionsPopupProps {
/**
* 选择值改变触发事件
*/
onChange
?:
(
value
:
SelectValueType
)
=>
void
;
onChange
?:
(
value
:
SelectValueType
,
data
:
any
)
=>
void
;
/**
* 选项
*/
...
...
src/components/Select/index.tsx
View file @
78cc2f5d
...
...
@@ -140,15 +140,25 @@ const Select = React.forwardRef<SelectRef, SelectProps>((props, ref) => {
setVisible
(
flag
);
};
const
triggerChange
=
(
next
:
SelectValueType
)
=>
{
onChange
?.(
next
);
const
triggerChange
=
(
next
:
SelectValueType
,
data
?:
any
)
=>
{
onChange
?.(
next
,
data
);
};
const
handleSelectItem
=
(
next
:
SelectValueType
)
=>
{
if
(
!
value
)
{
setInternalValue
(
next
);
}
triggerChange
(
next
);
// 生成合同接口返回的数据,需回显到上传电子合同栏
triggerChange
(
next
,
[{
uid
:
123456
,
status
:
'success'
,
name
:
'测试合同'
,
size
:
5
,
thumbUrl
:
'https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/E3911934-2DD2-47b5-9D9E-F5178EBE3F7120c8eabf31894284b8f9bb283a8cd580.png'
,
url
:
'https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/baseClassificationTemplate (7)95867d054fc04c078c12a5134893ff5a.xls'
,
type
:
'xls'
,
width
:
45
,
height
:
45
}]);
};
const
handlePress
=
()
=>
{
...
...
src/components/Upload/FilesUpload.tsx
View file @
78cc2f5d
...
...
@@ -11,6 +11,7 @@ import Spin from '../Loading/Spin';
// import IMG_FILE_OTHERS from '../../../assets/images/files/file-others.png';
import
{
UploadFileStateType
,
UploadFileType
}
from
'./typings'
;
import
styles
from
'./styles'
;
import
Icons
from
'react-native-vector-icons/AntDesign'
;
const
_appendFilesStatus
=
(
files
:
DocumentPickerResponse
[],
...
...
@@ -45,6 +46,10 @@ interface FilesUploadProps {
*/
onChange
?:
(
value
:
UploadFileType
[])
=>
void
;
/**
* 传入的文件列表
*/
propValue
?:
UploadFileType
[];
/**
* 最大上传数量,默认 -1 不限制
*/
max
?:
number
;
...
...
@@ -68,10 +73,13 @@ const FilesUpload: React.FC<FilesUploadProps> = props => {
max
=
-
1
,
disabled
,
onChange
,
propValue
=
[]
}
=
props
;
const
[
internalValue
,
setInternalValue
]
=
useState
<
UploadFileType
[]
>
([]);
console
.
log
(
'setInternalValue==>10'
,
internalValue
);
console
.
log
(
'setInternalValue==>101'
,
propValue
);
// 手动操作标识
const
inputRef
=
useRef
(
false
);
...
...
@@ -86,6 +94,11 @@ const FilesUpload: React.FC<FilesUploadProps> = props => {
setInternalValue
(
arrayValue
);
}
},
[
value
]);
useEffect
(()
=>
{
if
(
'propValue'
in
props
)
{
setInternalValue
(
propValue
)
}
},
[
propValue
]);
/**
* 这里只回传上传状态为 'done' 的数据
...
...
@@ -162,8 +175,8 @@ const FilesUpload: React.FC<FilesUploadProps> = props => {
const
pickerResult
=
await
DocumentPicker
.
pickSingle
({
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
type
:
[
//
types.xls,
//
types.xlsx,
types
.
xls
,
types
.
xlsx
,
types
.
doc
,
types
.
docx
,
types
.
pdf
,
...
...
@@ -201,6 +214,7 @@ const FilesUpload: React.FC<FilesUploadProps> = props => {
)
:
null
}
<
Image
// source=
{
IMG_FILE_OTHERS
}
source=
{
{
uri
:
item
.
thumbUrl
}
}
style=
{
myStyle
[
'upload-files-list-item-icon'
]
}
/>
<
Text
...
...
@@ -219,8 +233,9 @@ const FilesUpload: React.FC<FilesUploadProps> = props => {
onPress=
{
()
=>
handleRemoveItem
(
item
.
url
)
}
disabled=
{
item
.
status
===
'uploading'
}
>
删除
<
Icons
name=
"minuscircle"
color=
{
'#93959B'
}
size=
{
16
}
/>
</
Text
>
)
:
null
}
</
View
>
))
}
...
...
src/components/Upload/styles.ts
View file @
78cc2f5d
...
...
@@ -110,8 +110,8 @@ export default (theme: ThemeStyle) =>
flexDirection
:
'row'
,
alignItems
:
'center'
,
alignSelf
:
'flex-start'
,
paddingVertical
:
themeLayout
[
'padding-xxs'
]
-
1
,
paddingHorizontal
:
themeLayout
[
'padding-x
s'
]
,
paddingVertical
:
themeLayout
[
'padding-xxs'
]
-
2
,
paddingHorizontal
:
themeLayout
[
'padding-x
xs'
]
-
2
,
backgroundColor
:
theme
.
background
.
base
,
borderWidth
:
1
,
borderColor
:
theme
.
colors
[
'grey-3'
],
...
...
@@ -131,8 +131,12 @@ export default (theme: ThemeStyle) =>
},
'upload-files-list'
:
{},
'upload-files-list-item'
:
{
flexDirection
:
'row'
,
width
:
70
,
height
:
70
,
flexDirection
:
'column'
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
position
:
'relative'
,
marginBottom
:
themeLayout
[
'margin-xs'
],
},
'upload-files-list-item-loading'
:
{
...
...
@@ -146,13 +150,13 @@ export default (theme: ThemeStyle) =>
color
:
theme
.
colors
.
notification
,
},
'upload-files-list-item-icon'
:
{
width
:
18
,
height
:
18
,
flex
:
0
,
width
:
70
,
height
:
70
,
//
flex: 0,
marginRight
:
themeLayout
[
'margin-xs'
],
},
'upload-files-list-item-fileName'
:
{
flex
:
1
,
//
flex: 1,
fontSize
:
theme
.
fontSize
.
sm
,
color
:
theme
.
colors
[
'grey-0'
],
},
...
...
@@ -160,9 +164,15 @@ export default (theme: ThemeStyle) =>
color
:
theme
.
colors
.
notification
,
},
'upload-files-list-item-remove'
:
{
flex
:
0
,
position
:
'absolute'
,
zIndex
:
10
,
top
:
-
10
,
right
:
0
,
// flex: 0,
marginLeft
:
themeLayout
[
'margin-xs'
],
padding
:
themeLayout
[
'padding-xxs'
],
// padding: themeLayout['padding-xxs'],
backgroundColor
:
'#fff'
,
borderRadius
:
10
,
fontSize
:
theme
.
fontSize
.
sm
,
color
:
theme
.
colors
.
notification
,
},
...
...
src/global.d.ts
View file @
78cc2f5d
...
...
@@ -7,9 +7,31 @@ declare global {
* 必须要传递RouteName
* 当该组件是路由组件时, 使用该类型声明
*/
export
type
FcWithRoute
<
RouteName
extends
string
,
ComponentProps
extends
{[
key
:
string
]:
any
}
=
{},
Params
extends
object
=
{}
>
=
FC
<
export
type
FcWithRoute
<
RouteName
extends
string
,
ComponentProps
extends
{
[
key
:
string
]:
any
}
=
{},
Params
extends
object
=
{},
>
=
FC
<
ComponentProps
&
{
navigation
:
NavigationProp
<
{[
key
:
string
]:
any
},
RouteName
>
;
navigation
:
NavigationProp
<
{
[
key
:
string
]:
any
},
RouteName
>
;
route
:
Route
<
RouteName
,
Params
>
;
}
>
;
/**
* @description 必须要传递RouteName
* 当该组件是路由组件时, 使用该类型声明
* 换个顺序,因为路由组件,ComponentProps大部分时间都是没有的,但Params常常有值
* @param RouteName 路由名字
* @param Params 跳转路由时,传递的参数类型
*/
export
type
FcRoute
<
RouteName
extends
string
,
Params
extends
object
=
{},
ComponentProps
extends
{
[
key
:
string
]:
any
}
=
{},
>
=
FC
<
ComponentProps
&
{
navigation
:
NavigationProp
<
{
[
key
:
string
]:
any
},
RouteName
>
;
route
:
Route
<
RouteName
,
Params
>
;
}
>
;
src/locales/zh_CN/order.ts
View file @
78cc2f5d
...
...
@@ -26,6 +26,7 @@ export default {
'order.modal.reasonNeed'
:
'修改原因必填'
,
'order.info.checkOrder'
:
'查看订单'
,
'order.tip.taxWarn'
:
'所有批次的支付比例总和需等于100%'
,
'order.tip.previewTip'
:
'文件已下载,请打开预览'
,
...
...
src/routers/routers.ts
View file @
78cc2f5d
...
...
@@ -23,6 +23,7 @@ import RequireOrder from '../views/RequireOrder';
import
MsgDetail
from
'../views/messageCenter/MsgDetail'
;
import
RequireOrderDetail
from
'../views/RequireOrder/pages/RequireOrderDetail'
;
import
RequirePriceOrder
from
'../views/RequireOrder/pages/RequirePriceOrder'
;
import
RequirePriceOrderDetail
from
'../views/RequireOrder/pages/RequirePriceOrderDetail'
;
import
CheckRequireOrder
from
'../views/CheckRequireOrder'
;
export
const
ROUTERS
=
{
Login
:
{
...
...
@@ -100,6 +101,11 @@ export const ROUTERS = {
component
:
RequirePriceOrder
,
headerShown
:
false
,
},
RequirePriceOrderDetail
:
{
title
:
'求购报价单详情'
,
component
:
RequirePriceOrderDetail
,
headerShown
:
false
,
},
CheckRequireOrder
:
{
title
:
'审核求购报价单'
,
...
...
src/services/TransactionV2Api/id146891.ts
0 → 100644
View file @
78cc2f5d
/* prettier-ignore-start */
/* tslint:disable */
/* eslint-disable */
/* 该文件由 yapi-to-typescript 自动生成,请勿直接修改!!! */
/* 修改该插件模板内容!!! */
/* @version v1 */
/* @auth xujiamin */
// @ts-ignore
// prettier-ignore
import
request
,
{
IApiRequest
}
from
'../basic/requestService'
// @ts-ignore
/**
* 接口 [一级审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390781) 的 **请求类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/auditLevel1`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* AskPurchaseStatusUpdateRequest :AskPurchaseStatusUpdateRequest
*/
export
interface
PostTransactionMobileAskPurchaseQuoteAuditLevel1Request
{
/**
* Long
*/
ids
:
number
[]
/**
* 报价单一级审核,二级审核时必填。,报价单审核状态:1.通过0.不通过
*/
agree
:
number
/**
* 一级审核,二级审核失败时必填
*/
remark
?:
string
}
/**
* 接口 [一级审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390781) 的 **返回类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/auditLevel1`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* 响应数据 ,Void
*/
export
interface
PostTransactionMobileAskPurchaseQuoteAuditLevel1Response
{}
/**
* 接口 [一级审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390781) 的 **请求函数**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/auditLevel1`
* @更新时间 `2023-02-17 20:06:50`
*/
export
const
postTransactionMobileAskPurchaseQuoteAuditLevel1
=
async
(
params
?:
PostTransactionMobileAskPurchaseQuoteAuditLevel1Request
,
config
?:
IApiRequest
,
)
=>
{
return
request
<
PostTransactionMobileAskPurchaseQuoteAuditLevel1Response
>
(
'/transaction/mobile/askPurchaseQuote/auditLevel1'
,
{
data
:
params
,
method
:
'POST'
,
ctlType
:
'message'
,
...
config
,
},
)
}
/**
* 接口 [二级审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390784) 的 **请求类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/auditLevel2`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* AskPurchaseStatusUpdateRequest :AskPurchaseStatusUpdateRequest
*/
export
interface
PostTransactionMobileAskPurchaseQuoteAuditLevel2Request
{
/**
* Long
*/
ids
:
number
[]
/**
* 报价单一级审核,二级审核时必填。,报价单审核状态:1.通过0.不通过
*/
agree
:
number
/**
* 一级审核,二级审核失败时必填
*/
remark
?:
string
}
/**
* 接口 [二级审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390784) 的 **返回类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/auditLevel2`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* 响应数据 ,Void
*/
export
interface
PostTransactionMobileAskPurchaseQuoteAuditLevel2Response
{}
/**
* 接口 [二级审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390784) 的 **请求函数**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/auditLevel2`
* @更新时间 `2023-02-17 20:06:50`
*/
export
const
postTransactionMobileAskPurchaseQuoteAuditLevel2
=
async
(
params
?:
PostTransactionMobileAskPurchaseQuoteAuditLevel2Request
,
config
?:
IApiRequest
,
)
=>
{
return
request
<
PostTransactionMobileAskPurchaseQuoteAuditLevel2Response
>
(
'/transaction/mobile/askPurchaseQuote/auditLevel2'
,
{
data
:
params
,
method
:
'POST'
,
ctlType
:
'message'
,
...
config
,
},
)
}
/**
* 接口 [分页查询↗](http://10.0.1.181:7070/project/5365/interface/api/1390769) 的 **请求类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/page`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* MobileAskPurchaseQuotePageRequest :MobileAskPurchaseQuotePageRequest
*/
export
interface
PostTransactionMobileAskPurchaseQuotePageRequest
{
/**
* 采购单id
*/
askPurchaseId
?:
number
/**
* 搜索关键字(求购需求列表搜索关键字)
*/
askPurchaseKeywords
?:
string
/**
* 搜索关键字(求购报价单列表搜索关键字)
*/
keywords
?:
string
/**
* 单据开始时间
*/
billStartTime
?:
string
/**
* 单据结束时间
*/
billEndTime
?:
string
/**
* 外部状态,1,"待发布",2,"待报价",3,"已结束",4,"已终止",5,"已作废"
*/
outerStatus
?:
number
/**
* 外部状态集合,1,"待发布",2,"待报价",3,"已结束",4,"已终止",5,"已作废" ,Integer
*/
outerStatusList
?:
number
[]
/**
* 内部状态,1,"待提交审核",2,"待审核(一级)",3,"待审核(二级)",4,"待提交报价单)",5,"已提交",6,"审核不通过(一级)",7,"审核不通过(二级)"
*/
innerStatus
?:
number
/**
* 内部状态集合 ,Integer
*/
innerStatusList
?:
number
[]
/**
* 排序1:单据时间倒序,2:交付时间正序,3:交付时间倒序排序,4:报价截止时间正序5:报价截止时间倒序排序
*/
sort
?:
number
/**
* 当前页
*/
current
?:
number
/**
* 每页行数
*/
pageSize
?:
number
}
/**
* 接口 [分页查询↗](http://10.0.1.181:7070/project/5365/interface/api/1390769) 的 **返回类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/page`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* 响应数据 ,PageData
*/
export
interface
PostTransactionMobileAskPurchaseQuotePageResponse
{
/**
* 记录总条数
*/
totalCount
:
number
/**
* 数据体 ,T
*/
data
:
PostTransactionMobileAskPurchaseQuotePageResponseDetail
[]
}
/**
* 数据体 ,T
*/
export
interface
PostTransactionMobileAskPurchaseQuotePageResponseDetail
{
/**
* 采购单id
*/
askPurchaseId
:
number
/**
* 采购单编号
*/
askPurchaseNo
:
string
/**
* 需求单摘要
*/
name
:
string
/**
* 采购商名称
*/
purchaseMemberName
:
string
/**
* 报价截止时间
*/
quoteEndTime
:
string
/**
* 报价单id
*/
quoteId
:
number
/**
* 报价单编号
*/
quoteNo
:
string
/**
* 报价时间
*/
quoteTime
:
string
/**
* 外部状态
*/
outerStatus
:
number
/**
* 内部状态
*/
innerStatus
:
number
/**
* 反馈时限
*/
feedbackTime
:
string
/**
* 反馈
*/
feedback
:
string
/**
* 是否反馈
*/
hasFeedback
:
boolean
}
/**
* 接口 [分页查询↗](http://10.0.1.181:7070/project/5365/interface/api/1390769) 的 **请求函数**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/page`
* @更新时间 `2023-02-17 20:06:50`
*/
export
const
postTransactionMobileAskPurchaseQuotePage
=
async
(
params
?:
PostTransactionMobileAskPurchaseQuotePageRequest
,
config
?:
IApiRequest
,
)
=>
{
return
request
<
PostTransactionMobileAskPurchaseQuotePageResponse
>
(
'/transaction/mobile/askPurchaseQuote/page'
,
{
data
:
params
,
method
:
'POST'
,
ctlType
:
'message'
,
...
config
,
})
}
/**
* 接口 [提交审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390778) 的 **请求类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/submitAudit`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* AskPurchaseQuoteReviewRequest :AskPurchaseQuoteReviewRequest
*/
export
interface
PostTransactionMobileAskPurchaseQuoteSubmitAuditRequest
{
/**
* Long
*/
ids
:
number
[]
}
/**
* 接口 [提交审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390778) 的 **返回类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/submitAudit`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* 响应数据 ,Void
*/
export
interface
PostTransactionMobileAskPurchaseQuoteSubmitAuditResponse
{}
/**
* 接口 [提交审核↗](http://10.0.1.181:7070/project/5365/interface/api/1390778) 的 **请求函数**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/submitAudit`
* @更新时间 `2023-02-17 20:06:50`
*/
export
const
postTransactionMobileAskPurchaseQuoteSubmitAudit
=
async
(
params
?:
PostTransactionMobileAskPurchaseQuoteSubmitAuditRequest
,
config
?:
IApiRequest
,
)
=>
{
return
request
<
PostTransactionMobileAskPurchaseQuoteSubmitAuditResponse
>
(
'/transaction/mobile/askPurchaseQuote/submitAudit'
,
{
data
:
params
,
method
:
'POST'
,
ctlType
:
'message'
,
...
config
,
},
)
}
/**
* 接口 [提交报价↗](http://10.0.1.181:7070/project/5365/interface/api/1390787) 的 **请求类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/submitQuote`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* AskPurchaseQuoteReviewRequest :AskPurchaseQuoteReviewRequest
*/
export
interface
PostTransactionMobileAskPurchaseQuoteSubmitQuoteRequest
{
/**
* Long
*/
ids
:
number
[]
}
/**
* 接口 [提交报价↗](http://10.0.1.181:7070/project/5365/interface/api/1390787) 的 **返回类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/submitQuote`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* 响应数据 ,Void
*/
export
interface
PostTransactionMobileAskPurchaseQuoteSubmitQuoteResponse
{}
/**
* 接口 [提交报价↗](http://10.0.1.181:7070/project/5365/interface/api/1390787) 的 **请求函数**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `POST /transaction/mobile/askPurchaseQuote/submitQuote`
* @更新时间 `2023-02-17 20:06:50`
*/
export
const
postTransactionMobileAskPurchaseQuoteSubmitQuote
=
async
(
params
?:
PostTransactionMobileAskPurchaseQuoteSubmitQuoteRequest
,
config
?:
IApiRequest
,
)
=>
{
return
request
<
PostTransactionMobileAskPurchaseQuoteSubmitQuoteResponse
>
(
'/transaction/mobile/askPurchaseQuote/submitQuote'
,
{
data
:
params
,
method
:
'POST'
,
ctlType
:
'message'
,
...
config
,
},
)
}
/**
* 接口 [求购报价单详情↗](http://10.0.1.181:7070/project/5365/interface/api/1391063) 的 **请求类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `GET /transaction/mobile/askPurchaseQuote/information`
* @更新时间 `2023-02-17 20:06:50`
*/
export
interface
GetTransactionMobileAskPurchaseQuoteInformationRequest
{
/**
* (Long)
*/
id
:
string
}
/**
* 接口 [求购报价单详情↗](http://10.0.1.181:7070/project/5365/interface/api/1391063) 的 **返回类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `GET /transaction/mobile/askPurchaseQuote/information`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* 响应数据 ,AskPurchaseQuoteResponse
*/
export
interface
GetTransactionMobileAskPurchaseQuoteInformationResponse
{
id
:
number
/**
* 工作流程 ,SimpleProcessDefVO
*/
simpleProcessDefVO
:
{
/**
* 流程名称
*/
processName
:
string
/**
* 当前步骤
*/
currentStep
:
number
/**
* 任务列表 ,SimpleTaskVO
*/
tasks
:
{
/**
* 任务步骤
*/
taskStep
:
number
/**
* 任务名称
*/
taskName
:
string
/**
* 可执行此步骤任务的角色名称,<p>当查询的是外部流程,此字段表示会员角色名称<p>,<p>当查询的是内部流程,此字段表示用户角色名称<p>
*/
roleName
:
string
/**
* 任务自定义属性(该参数为map)
*/
properties
:
{
/**
* String
*/
mapKey
?:
{}
/**
* String
*/
mapValue
?:
{
hash
?:
number
}
}
}[]
}
/**
* 求购报价单单号
*/
quoteNo
:
string
/**
* 摘要
*/
name
:
string
/**
* 询价报价--内部状态:1.待提交审核2.审核报价单3.审核报价单2级4.提交询价单5.审核通过6.审核不通过,@seeAskPurchaseQuoteStatusEnum
*/
status
:
number
/**
* 对应的求购单id
*/
askPurchaseId
:
number
/**
* 对应的求购单编号
*/
askPurchaseNo
:
string
/**
* 供应商memberId
*/
memberId
:
number
/**
* 供应商memberRoleId
*/
memberRoleId
:
number
/**
* 供应商名称
*/
memberName
:
string
/**
* 联系人国家代码,eg.中国+86
*/
contactCountryCode
:
string
/**
* 联系人号码
*/
contactMobile
:
string
/**
* 联系人名字
*/
contactName
:
string
/**
* 币种id
*/
currencyId
:
number
/**
* 币种名称
*/
currencyName
:
string
/**
* 单据时间
*/
billTime
:
string
/**
* 报价截止时间
*/
quoteEndTime
:
string
/**
* 附件链接集合 ,EnclosureUrlsRequest
*/
enclosureUrls
:
{
/**
* 附件名字
*/
name
:
string
/**
* 附件链接
*/
url
:
string
}[]
/**
* 交付说明
*/
deliverRemark
:
string
/**
* 付款说明
*/
paymentRemark
:
string
/**
* 税费说明
*/
taxesRemark
:
string
/**
* 物流说明
*/
logisticsRemark
:
string
/**
* 物流说明
*/
packageRemark
:
string
/**
* 其他说明
*/
otherRemark
:
string
/**
* 物料 ,AskPurchaseQuoteGoodsResponse
*/
askPurchaseQuoteGoodsResponses
:
{
id
:
number
/**
* 物料id
*/
goodsId
:
number
/**
* 物料编号
*/
goodsNo
:
string
/**
* 物料名称
*/
goodsName
:
string
/**
* 规格
*/
specification
:
string
/**
* 品类id
*/
categoryId
:
number
/**
* 品类名称
*/
categoryName
:
string
/**
* 品牌id
*/
brandId
:
number
/**
* 品牌名称
*/
brandName
:
string
/**
* 单位
*/
unit
:
string
/**
* 求购数量
*/
num
:
number
/**
* 关联商品id
*/
commodityId
:
number
/**
* 关联商品名称
*/
commodityName
:
string
/**
* 是否含税,0:不含税,1:含税
*/
includeTax
:
number
/**
* 税率,eg.10,标识含10%的税率
*/
taxRate
:
number
/**
* 含税单价
*/
unitPriceWithTax
:
number
/**
* 不含税单价
*/
unitPriceWithoutTax
:
number
/**
* 含税金额
*/
totalPriceWithTax
:
number
/**
* 不含税金额
*/
totalPriceWithoutTax
:
number
/**
* 报价有效开始时间
*/
quoteStartTime
:
string
/**
* 报价有效结束时间
*/
quoteEndTime
:
string
/**
* HS编码
*/
hsCode
:
string
/**
* 退税率
*/
refundRate
:
number
/**
* 危险级别
*/
hazardLevel
:
string
/**
* 附件链接集合 ,EnclosureUrlsRequest
*/
enclosureUrls
:
{
/**
* 附件名字
*/
name
?:
string
/**
* 附件链接
*/
url
?:
string
}[]
/**
* CAS号
*/
casNo
:
string
/**
* 产品用途
*/
productUse
:
string
/**
* 期望单价
*/
expectedUnitPrice
:
number
/**
* 竞争对手
*/
competitor
:
string
/**
* 币种Id
*/
currencyId
:
number
/**
* 币种名称
*/
currencyName
:
string
/**
* 报价明细 ,AskPurchaseQuoteGoodsDetailResponse
*/
quoteDetails
:
{
id
?:
number
/**
* 工厂名
*/
factoryName
?:
string
/**
* 工厂网页
*/
factoryUrl
?:
string
/**
* 产品规格
*/
spec
?:
string
/**
* 库存
*/
inventory
?:
number
/**
* 包装
*/
wrap
?:
string
/**
* 年生产量
*/
annualProduction
?:
number
/**
* 出口现状
*/
ExportStatus
?:
string
/**
* 供应商报价
*/
supplierQuote
?:
number
/**
* 币种id
*/
currencyId
?:
number
/**
* 币种名称
*/
currencyName
?:
string
/**
* 厂家价格
*/
manufacturerPrice
?:
string
/**
* 报价有效开始时间
*/
quoteStartTime
?:
string
/**
* 报价有效结束时间
*/
quoteEndTime
?:
string
/**
* 重点推荐
*/
featured
?:
string
/**
* 其他
*/
miscellaneous
?:
string
}[]
}[]
/**
* 内部流转记录 ,AskPurchaseRecordResponse
*/
innerRecords
:
{
/**
* 供应商名称
*/
supplierMemberName
:
string
/**
* 操作角色名称
*/
roleName
:
string
/**
* 状态,求购单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseStatusEnum,报价单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseQuoteStatusEnum
*/
status
:
number
/**
* 状态描述
*/
statusDesc
:
string
/**
* 操作,@seeAskPurchaseOperateEnum,@seeAskPurchaseQuoteOperateEnum
*/
operateCode
:
number
/**
* 操作描述
*/
operateCodeDesc
:
string
/**
* 备注
*/
remark
:
string
/**
* 操作人用户id
*/
operateUserId
:
number
/**
* 操作人名字
*/
operateUserName
:
string
/**
* 操作人部门id
*/
departmentId
:
number
/**
* 操作人部门名称
*/
departmentName
:
string
/**
* 操作人职位id
*/
positionId
:
number
/**
* 操作人职位名称
*/
positionName
:
string
/**
* 创建时间
*/
createTime
:
string
}[]
/**
* 外部流转记录 ,AskPurchaseRecordResponse
*/
outerRecords
:
{
/**
* 供应商名称
*/
supplierMemberName
:
string
/**
* 操作角色名称
*/
roleName
:
string
/**
* 状态,求购单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseStatusEnum,报价单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseQuoteStatusEnum
*/
status
:
number
/**
* 状态描述
*/
statusDesc
:
string
/**
* 操作,@seeAskPurchaseOperateEnum,@seeAskPurchaseQuoteOperateEnum
*/
operateCode
:
number
/**
* 操作描述
*/
operateCodeDesc
:
string
/**
* 备注
*/
remark
:
string
/**
* 操作人用户id
*/
operateUserId
:
number
/**
* 操作人名字
*/
operateUserName
:
string
/**
* 操作人部门id
*/
departmentId
:
number
/**
* 操作人部门名称
*/
departmentName
:
string
/**
* 操作人职位id
*/
positionId
:
number
/**
* 操作人职位名称
*/
positionName
:
string
/**
* 创建时间
*/
createTime
:
string
}[]
/**
* 含税总额
*/
totalPriceWithTax
:
number
/**
* 不含税总额
*/
totalPriceWithoutTax
:
number
/**
* 反馈时限
*/
feedbackTime
:
string
/**
* 是否允许反馈
*/
isAllowFeedback
:
boolean
/**
* 反馈内容
*/
feedback
:
string
/**
* 最小供应商总价
*/
supplierTotalPrice
:
number
/**
* 营业担当用户ID
*/
salesDirectorId
:
number
/**
* 营业担当用户名称
*/
salesDirectorName
:
string
}
/**
* 接口 [求购报价单详情↗](http://10.0.1.181:7070/project/5365/interface/api/1391063) 的 **请求函数**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `GET /transaction/mobile/askPurchaseQuote/information`
* @更新时间 `2023-02-17 20:06:50`
*/
export
const
getTransactionMobileAskPurchaseQuoteInformation
=
async
(
params
?:
GetTransactionMobileAskPurchaseQuoteInformationRequest
,
config
?:
IApiRequest
,
)
=>
{
return
request
<
GetTransactionMobileAskPurchaseQuoteInformationResponse
>
(
'/transaction/mobile/askPurchaseQuote/information'
,
{
params
,
method
:
'GET'
,
ctlType
:
'none'
,
...
config
,
},
)
}
/**
* 接口 [求购需求单详情↗](http://10.0.1.181:7070/project/5365/interface/api/1390772) 的 **请求类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `GET /transaction/mobile/askPurchaseQuote/askPurchaseDetail`
* @更新时间 `2023-02-17 20:06:50`
*/
export
interface
GetTransactionMobileAskPurchaseQuoteAskPurchaseDetailRequest
{
/**
* (Long)
*/
askPurchaseId
:
string
}
/**
* 接口 [求购需求单详情↗](http://10.0.1.181:7070/project/5365/interface/api/1390772) 的 **返回类型**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `GET /transaction/mobile/askPurchaseQuote/askPurchaseDetail`
* @更新时间 `2023-02-17 20:06:50`
*/
/**
* 响应数据 ,AskPurchaseResponse
*/
export
interface
GetTransactionMobileAskPurchaseQuoteAskPurchaseDetailResponse
{
id
:
number
/**
* 编号
*/
askPurchaseNo
:
string
/**
* 需求单摘要
*/
name
:
string
/**
* 单据时间
*/
billTime
:
string
/**
* 收到的报价单数量
*/
quoteCount
:
number
/**
* 求购物料 ,AskPurchaseGoodsResponse
*/
askPurchaseGoodsResponses
:
{
id
:
number
/**
* 物料id
*/
goodsId
:
number
/**
* 物料编号
*/
goodsNo
:
string
/**
* 物料名称
*/
goodsName
:
string
/**
* 规格
*/
specification
:
string
/**
* 品类id
*/
categoryId
:
number
/**
* 品类名称
*/
categoryName
:
string
/**
* 品牌id
*/
brandId
:
number
/**
* 品牌名称
*/
brandName
:
string
/**
* 单位
*/
unit
:
string
/**
* 求购数量
*/
num
:
number
/**
* 附件链接集合 ,EnclosureUrlsRequest
*/
enclosureUrls
:
{
/**
* 附件名字
*/
name
?:
string
/**
* 附件链接
*/
url
?:
string
}[]
/**
* CAS号
*/
casNo
:
string
/**
* 产品用途
*/
productUse
:
string
/**
* 期望单价
*/
expectedUnitPrice
:
number
/**
* 竞争对手
*/
competitor
:
string
/**
* 币种Id
*/
currencyId
:
number
/**
* 币种名称
*/
currencyName
:
string
}[]
/**
* 发布类型,@seeAskPurchasePublishTypeEnum
*/
publishType
:
number
/**
* 指定的会员 ,AskPurchaseMemberResponse
*/
askPurchaseMemberResponses
:
{
id
:
number
memberId
:
number
memberRoleId
:
number
/**
* 会员名称
*/
memberName
:
string
/**
* 会员类型
*/
memberType
:
string
/**
* 会员角色名称
*/
memberRoleName
:
string
/**
* 会员等级
*/
memberGrade
:
string
/**
* 营业担当用户ID
*/
salesDirectorId
:
number
/**
* 营业担当用户名称
*/
salesDirectorName
:
string
}[]
/**
* 发布的商城 ,AskPurchaseShopResponse
*/
askPurchaseShopResponses
:
{
/**
* 商城id
*/
shopId
:
number
/**
* 商城名称
*/
shopName
:
string
}[]
/**
* 交付时间
*/
deliverTime
:
string
/**
* 交付地址id
*/
deliverAddressId
:
number
/**
* 交付地址
*/
deliverAddress
:
string
/**
* 报价截止时间
*/
quoteEndTime
:
string
/**
* 联系人Id
*/
contactUserId
:
number
/**
* 联系人名称
*/
contactName
:
string
/**
* 联系人国家代码,eg.中国+86,@seecom.ssy.lingxi.member.merchant.api.constant.CountryCodeEnum
*/
contactCountryCode
:
string
/**
* 联系人手机号码
*/
contactMobile
:
string
/**
* 报价要求
*/
quoteRequire
:
string
/**
* 付款方式
*/
paymentWay
:
string
/**
* 税费要求
*/
taxesRequire
:
string
/**
* 物流要求
*/
logisticsRequire
:
string
/**
* 包装要求
*/
packageRequire
:
string
/**
* 其他要求
*/
otherRequire
:
string
/**
* 样品需求
*/
sampleRequire
:
string
/**
* 调查要求
*/
surveyRequire
:
string
/**
* 附件链接集合 ,EnclosureUrlsRequest
*/
enclosureUrls
:
{
/**
* 附件名字
*/
name
:
string
/**
* 附件链接
*/
url
:
string
}[]
/**
* 状态,,@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseStatusEnum,1,"待发布",2,"待报价",3,"已结束",4,"已终止",5,"已作废"
*/
status
:
number
/**
* 采购商名称
*/
memberName
:
string
/**
* 求购单-内部流转记录 ,AskPurchaseRecordResponse
*/
innerRecords
:
{
/**
* 供应商名称
*/
supplierMemberName
:
string
/**
* 操作角色名称
*/
roleName
:
string
/**
* 状态,求购单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseStatusEnum,报价单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseQuoteStatusEnum
*/
status
:
number
/**
* 状态描述
*/
statusDesc
:
string
/**
* 操作,@seeAskPurchaseOperateEnum,@seeAskPurchaseQuoteOperateEnum
*/
operateCode
:
number
/**
* 操作描述
*/
operateCodeDesc
:
string
/**
* 备注
*/
remark
:
string
/**
* 操作人用户id
*/
operateUserId
:
number
/**
* 操作人名字
*/
operateUserName
:
string
/**
* 操作人部门id
*/
departmentId
:
number
/**
* 操作人部门名称
*/
departmentName
:
string
/**
* 操作人职位id
*/
positionId
:
number
/**
* 操作人职位名称
*/
positionName
:
string
/**
* 创建时间
*/
createTime
:
string
}[]
/**
* 求购单-外部流转记录 ,AskPurchaseRecordResponse
*/
outerRecords
:
{
/**
* 供应商名称
*/
supplierMemberName
:
string
/**
* 操作角色名称
*/
roleName
:
string
/**
* 状态,求购单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseStatusEnum,报价单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseQuoteStatusEnum
*/
status
:
number
/**
* 状态描述
*/
statusDesc
:
string
/**
* 操作,@seeAskPurchaseOperateEnum,@seeAskPurchaseQuoteOperateEnum
*/
operateCode
:
number
/**
* 操作描述
*/
operateCodeDesc
:
string
/**
* 备注
*/
remark
:
string
/**
* 操作人用户id
*/
operateUserId
:
number
/**
* 操作人名字
*/
operateUserName
:
string
/**
* 操作人部门id
*/
departmentId
:
number
/**
* 操作人部门名称
*/
departmentName
:
string
/**
* 操作人职位id
*/
positionId
:
number
/**
* 操作人职位名称
*/
positionName
:
string
/**
* 创建时间
*/
createTime
:
string
}[]
/**
* 报价单 ,AskPurchaseQuoteResponse
*/
quoteResponses
:
{
id
:
number
/**
* 工作流程 ,SimpleProcessDefVO
*/
simpleProcessDefVO
:
{
/**
* 流程名称
*/
processName
?:
string
/**
* 当前步骤
*/
currentStep
?:
number
/**
* 任务列表 ,SimpleTaskVO
*/
tasks
?:
{
/**
* 任务步骤
*/
taskStep
?:
number
/**
* 任务名称
*/
taskName
?:
string
/**
* 可执行此步骤任务的角色名称,<p>当查询的是外部流程,此字段表示会员角色名称<p>,<p>当查询的是内部流程,此字段表示用户角色名称<p>
*/
roleName
?:
string
/**
* 任务自定义属性(该参数为map)
*/
properties
?:
{
/**
* String
*/
mapKey
?:
{}
/**
* String
*/
mapValue
?:
{
hash
?:
number
}
}
}[]
}
/**
* 求购报价单单号
*/
quoteNo
:
string
/**
* 摘要
*/
name
:
string
/**
* 询价报价--内部状态:1.待提交审核2.审核报价单3.审核报价单2级4.提交询价单5.审核通过6.审核不通过,@seeAskPurchaseQuoteStatusEnum
*/
status
:
number
/**
* 对应的求购单id
*/
askPurchaseId
:
number
/**
* 对应的求购单编号
*/
askPurchaseNo
:
string
/**
* 供应商memberId
*/
memberId
:
number
/**
* 供应商memberRoleId
*/
memberRoleId
:
number
/**
* 供应商名称
*/
memberName
:
string
/**
* 联系人国家代码,eg.中国+86
*/
contactCountryCode
:
string
/**
* 联系人号码
*/
contactMobile
:
string
/**
* 联系人名字
*/
contactName
:
string
/**
* 币种id
*/
currencyId
:
number
/**
* 币种名称
*/
currencyName
:
string
/**
* 单据时间
*/
billTime
:
string
/**
* 报价截止时间
*/
quoteEndTime
:
string
/**
* 附件链接集合 ,EnclosureUrlsRequest
*/
enclosureUrls
:
{
/**
* 附件名字
*/
name
?:
string
/**
* 附件链接
*/
url
?:
string
}[]
/**
* 交付说明
*/
deliverRemark
:
string
/**
* 付款说明
*/
paymentRemark
:
string
/**
* 税费说明
*/
taxesRemark
:
string
/**
* 物流说明
*/
logisticsRemark
:
string
/**
* 物流说明
*/
packageRemark
:
string
/**
* 其他说明
*/
otherRemark
:
string
/**
* 物料 ,AskPurchaseQuoteGoodsResponse
*/
askPurchaseQuoteGoodsResponses
:
{
id
?:
number
/**
* 物料id
*/
goodsId
?:
number
/**
* 物料编号
*/
goodsNo
?:
string
/**
* 物料名称
*/
goodsName
?:
string
/**
* 规格
*/
specification
?:
string
/**
* 品类id
*/
categoryId
?:
number
/**
* 品类名称
*/
categoryName
?:
string
/**
* 品牌id
*/
brandId
?:
number
/**
* 品牌名称
*/
brandName
?:
string
/**
* 单位
*/
unit
?:
string
/**
* 求购数量
*/
num
?:
number
/**
* 关联商品id
*/
commodityId
?:
number
/**
* 关联商品名称
*/
commodityName
?:
string
/**
* 是否含税,0:不含税,1:含税
*/
includeTax
?:
number
/**
* 税率,eg.10,标识含10%的税率
*/
taxRate
?:
number
/**
* 含税单价
*/
unitPriceWithTax
?:
number
/**
* 不含税单价
*/
unitPriceWithoutTax
?:
number
/**
* 含税金额
*/
totalPriceWithTax
?:
number
/**
* 不含税金额
*/
totalPriceWithoutTax
?:
number
/**
* 报价有效开始时间
*/
quoteStartTime
?:
string
/**
* 报价有效结束时间
*/
quoteEndTime
?:
string
/**
* HS编码
*/
hsCode
?:
string
/**
* 退税率
*/
refundRate
?:
number
/**
* 危险级别
*/
hazardLevel
?:
string
/**
* 附件链接集合 ,EnclosureUrlsRequest
*/
enclosureUrls
?:
{
/**
* 附件名字
*/
name
?:
string
/**
* 附件链接
*/
url
?:
string
}[]
/**
* CAS号
*/
casNo
?:
string
/**
* 产品用途
*/
productUse
?:
string
/**
* 期望单价
*/
expectedUnitPrice
?:
number
/**
* 竞争对手
*/
competitor
?:
string
/**
* 币种Id
*/
currencyId
?:
number
/**
* 币种名称
*/
currencyName
?:
string
/**
* 报价明细 ,AskPurchaseQuoteGoodsDetailResponse
*/
quoteDetails
?:
{
id
?:
number
/**
* 工厂名
*/
factoryName
?:
string
/**
* 工厂网页
*/
factoryUrl
?:
string
/**
* 产品规格
*/
spec
?:
string
/**
* 库存
*/
inventory
?:
number
/**
* 包装
*/
wrap
?:
string
/**
* 年生产量
*/
annualProduction
?:
number
/**
* 出口现状
*/
ExportStatus
?:
string
/**
* 供应商报价
*/
supplierQuote
?:
number
/**
* 币种id
*/
currencyId
?:
number
/**
* 币种名称
*/
currencyName
?:
string
/**
* 厂家价格
*/
manufacturerPrice
?:
string
/**
* 报价有效开始时间
*/
quoteStartTime
?:
string
/**
* 报价有效结束时间
*/
quoteEndTime
?:
string
/**
* 重点推荐
*/
featured
?:
string
/**
* 其他
*/
miscellaneous
?:
string
}[]
}[]
/**
* 内部流转记录 ,AskPurchaseRecordResponse
*/
innerRecords
:
{
/**
* 供应商名称
*/
supplierMemberName
?:
string
/**
* 操作角色名称
*/
roleName
?:
string
/**
* 状态,求购单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseStatusEnum,报价单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseQuoteStatusEnum
*/
status
?:
number
/**
* 状态描述
*/
statusDesc
?:
string
/**
* 操作,@seeAskPurchaseOperateEnum,@seeAskPurchaseQuoteOperateEnum
*/
operateCode
?:
number
/**
* 操作描述
*/
operateCodeDesc
?:
string
/**
* 备注
*/
remark
?:
string
/**
* 操作人用户id
*/
operateUserId
?:
number
/**
* 操作人名字
*/
operateUserName
?:
string
/**
* 操作人部门id
*/
departmentId
?:
number
/**
* 操作人部门名称
*/
departmentName
?:
string
/**
* 操作人职位id
*/
positionId
?:
number
/**
* 操作人职位名称
*/
positionName
?:
string
/**
* 创建时间
*/
createTime
?:
string
}[]
/**
* 外部流转记录 ,AskPurchaseRecordResponse
*/
outerRecords
:
{
/**
* 供应商名称
*/
supplierMemberName
?:
string
/**
* 操作角色名称
*/
roleName
?:
string
/**
* 状态,求购单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseStatusEnum,报价单状态@seecom.ssy.lingxi.transaction.api.enums.AskPurchaseQuoteStatusEnum
*/
status
?:
number
/**
* 状态描述
*/
statusDesc
?:
string
/**
* 操作,@seeAskPurchaseOperateEnum,@seeAskPurchaseQuoteOperateEnum
*/
operateCode
?:
number
/**
* 操作描述
*/
operateCodeDesc
?:
string
/**
* 备注
*/
remark
?:
string
/**
* 操作人用户id
*/
operateUserId
?:
number
/**
* 操作人名字
*/
operateUserName
?:
string
/**
* 操作人部门id
*/
departmentId
?:
number
/**
* 操作人部门名称
*/
departmentName
?:
string
/**
* 操作人职位id
*/
positionId
?:
number
/**
* 操作人职位名称
*/
positionName
?:
string
/**
* 创建时间
*/
createTime
?:
string
}[]
/**
* 含税总额
*/
totalPriceWithTax
:
number
/**
* 不含税总额
*/
totalPriceWithoutTax
:
number
/**
* 反馈时限
*/
feedbackTime
:
string
/**
* 是否允许反馈
*/
isAllowFeedback
:
boolean
/**
* 反馈内容
*/
feedback
:
string
/**
* 最小供应商总价
*/
supplierTotalPrice
:
number
/**
* 营业担当用户ID
*/
salesDirectorId
:
number
/**
* 营业担当用户名称
*/
salesDirectorName
:
string
}[]
/**
* 是否已经报价
*/
whetherQuoted
:
boolean
/**
* 项目背景
*/
projectBackground
:
string
/**
* 营业担当用户ID(供应商报价单显示)
*/
salesDirectorId
:
number
/**
* 营业担当用户名称(供应商报价单显示)
*/
salesDirectorName
:
string
}
/**
* 接口 [求购需求单详情↗](http://10.0.1.181:7070/project/5365/interface/api/1390772) 的 **请求函数**
*
* @分类 [求购报价-APP↗](http://10.0.1.181:7070/project/5365/interface/api/cat_146891)
* @请求头 `GET /transaction/mobile/askPurchaseQuote/askPurchaseDetail`
* @更新时间 `2023-02-17 20:06:50`
*/
export
const
getTransactionMobileAskPurchaseQuoteAskPurchaseDetail
=
async
(
params
?:
GetTransactionMobileAskPurchaseQuoteAskPurchaseDetailRequest
,
config
?:
IApiRequest
,
)
=>
{
return
request
<
GetTransactionMobileAskPurchaseQuoteAskPurchaseDetailResponse
>
(
'/transaction/mobile/askPurchaseQuote/askPurchaseDetail'
,
{
params
,
method
:
'GET'
,
ctlType
:
'none'
,
...
config
,
},
)
}
/* prettier-ignore-end */
src/services/TransactionV2Api/id146918.ts
View file @
78cc2f5d
/* prettier-ignore-start */
/* tslint:disable */
/* eslint-disable */
/* 该文件由 yapi-to-typescript 自动生成,请勿直接修改!!! */
...
...
src/utils/formatNum.ts
0 → 100644
View file @
78cc2f5d
/**
*@describe 用于格式化数字,有小数格式化,无则不格式化
*@param num 值
*@param point 格式化的位数
*@returns 格式化后发值
*/
export
const
formatNum
=
(
num
:
number
|
undefined
,
point
:
number
)
=>
{
// eslint-disable-next-line curly
if
(
!
num
)
return
;
var
result
=
num
.
toString
().
indexOf
(
'.'
);
if
(
result
===
-
1
)
{
return
num
;
}
else
{
return
Number
(
num
).
toFixed
(
point
);
}
};
src/utils/getEnumManager.ts
View file @
78cc2f5d
...
...
@@ -8,7 +8,6 @@
export
function
getEnumManager
(
enums
:
any
[],
name
?:
any
)
{
const
labels
=
enums
.
map
((
item
:
any
)
=>
item
.
label
);
const
values
=
enums
.
map
((
item
:
any
)
=>
item
.
value
);
return
{
name
,
labels
,
...
...
src/views/Order/ContractDetails/index.tsx
View file @
78cc2f5d
import
React
from
'react'
;
import
{
View
}
from
'react-native'
;
import
{
View
,
Text
,
Image
,
TouchableOpacity
}
from
'react-native'
;
import
WebView
from
'react-native-webview'
;
import
NavBar
from
'../../../components/NavBar'
;
import
{
RootStackScreenProps
}
from
'../../../routers/types'
;
import
useLocale
from
'../../../hooks/useLocale'
// import OpenFile from 'react-native-doc-viewer';
import
{
Platform
}
from
'react-native'
;
import
Toast
from
'react-native-root-toast'
;
type
ContractDetailsProps
=
RootStackScreenProps
<
'ContractDetails'
>
;
...
...
@@ -12,11 +15,16 @@ const ContractDetails: React.FC<ContractDetailsProps> = ({ route }) => {
params
:
{
fileUrl
,
type
=
''
},
}
=
route
;
const
{
t
}
=
useLocale
(
'order'
)
return
(
<
View
style=
{
{
flex
:
1
}
}
>
<
NavBar
title=
{
type
==
'contract'
?
t
(
"order.detailInfo.contractFileName"
):
t
(
'order.detailInfo.fujian'
)
}
/>
<
View
style=
{
{
flex
:
1
}
}
>
<
WebView
source=
{
{
uri
:
fileUrl
||
'https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/baseClassificationTemplate(7)95867d054fc04c078c12a5134893ff5a.xls'
}
}
/>
{
Platform
.
OS
!==
'ios'
&&
<
Text
style=
{
{
textAlign
:
'center'
,
marginTop
:
30
}
}
>
{
t
(
'order.tip.previewTip'
)
}
</
Text
>
}
<
WebView
source=
{
{
uri
:
fileUrl
}
}
/>
</
View
>
</
View
>
);
...
...
src/views/Order/ContractText/index.tsx
View file @
78cc2f5d
...
...
@@ -24,6 +24,7 @@ const ContractDetails: React.FC<ContractDetailsProps> = ({ route }) => {
const
handleFinish
=
async
(
values
:
FormSubmitValuesType
)
=>
{
}
const
handleContractTypeChange
=
async
()
=>
{
}
const
[
contractualValue
,
setContractualValue
]
=
useState
(
false
);
const
[
propValue
,
setPropValue
]
=
useState
([]);
const
[
contractUploadTypeValue
,
setContractUploadTypeValue
]
=
useState
<
number
>
();
const
handleContractualChange
=
(
next
:
boolean
)
=>
{
setContractualValue
(
next
);
...
...
@@ -36,8 +37,11 @@ const ContractDetails: React.FC<ContractDetailsProps> = ({ route }) => {
});
}
};
const
handleContractUploadTypeChange
=
(
next
:
number
)
=>
{
const
handleContractUploadTypeChange
=
(
next
:
number
,
data
?:
any
)
=>
{
setContractUploadTypeValue
(
next
);
console
.
log
(
'handleContractUploadTypeChange==>99'
,
data
);
setPropValue
(
data
)
};
const
handleCommit
=
()
=>
{
form
.
submit
();
...
...
@@ -131,7 +135,7 @@ const ContractDetails: React.FC<ContractDetailsProps> = ({ route }) => {
contractUploadTypeValue === 2 ? ( */
}
{
contractualValue
&&
<
Form
.
Item
customContentStyle=
{
{
display
:
'flex'
,
flexDirection
:
'column'
,
minHeight
:
200
}
}
label=
{
t
(
'order.detailInfo.upLoadContract'
)
}
name=
"contractFiles"
labelWidth=
{
130
}
customItemStyle=
{
{
margin
:
8
,
backgroundColor
:
'#fff'
,
borderRadius
:
6
,
paddingLeft
:
8
}
}
>
<
Upload
.
FilesUpload
max=
{
1
}
/>
<
Upload
.
FilesUpload
max=
{
1
}
propValue=
{
propValue
}
/>
</
Form
.
Item
>
}
...
...
src/views/Order/MycommodityDetails/components/StaySubmit/index.tsx
View file @
78cc2f5d
...
...
@@ -728,6 +728,9 @@ const StaySubmit = (props: Iprops) => {
}
{
/* 电子合同 */
}
{
/* {
showbutton
} */
}
{
orderOperation
==
1
&&
<
View
style=
{
myStyle
.
cell
}
>
...
...
src/views/RequireOrder/constants/index.tsx
View file @
78cc2f5d
...
...
@@ -28,3 +28,28 @@ export enum RequireOrderSort {
'CutOff+'
,
'CutOff-'
,
}
// 1.待提交审核2.审核报价单 3.审核报价单2级 4.提交询价单 5.审核通过 6.审核不通过,
export
enum
RequirePriceOrderStatus
{
// 'All' = '',
'WaitCheck'
=
1
,
// 待提交审核
'CheckOrder'
,
//审核报价单
'CheckOrder2'
,
'SubmitOrder'
,
'CheckPass'
,
'CheckNoPass'
,
}
export
const
RequirePriceOrderStatusOptions
=
[
{
label
:
'全部'
,
value
:
RequireOrderStatus
.
All
},
{
label
:
'待提交审核'
,
value
:
RequirePriceOrderStatus
.
WaitCheck
},
{
label
:
'审核报价单'
,
value
:
RequirePriceOrderStatus
.
CheckOrder
},
{
label
:
'审核报价单2级'
,
value
:
RequirePriceOrderStatus
.
CheckOrder2
},
{
label
:
'提交询价单'
,
value
:
RequirePriceOrderStatus
.
SubmitOrder
},
{
label
:
'审核通过'
,
value
:
RequirePriceOrderStatus
.
CheckPass
},
{
label
:
'审核不通过'
,
value
:
RequirePriceOrderStatus
.
CheckNoPass
},
];
export
const
RequirePriceOrderStatusEnum
=
getEnumManager
(
RequirePriceOrderStatusOptions
,
);
src/views/RequireOrder/pages/RequireOrderDetail/index.tsx
View file @
78cc2f5d
...
...
@@ -22,6 +22,7 @@ import {
import
{
RequireOrderStatusEnum
}
from
'../../constants'
;
import
RNFetchBlob
from
'rn-fetch-blob'
;
import
{
WebView
}
from
'react-native-webview'
;
import
{
formatNum
}
from
'../../../../utils/formatNum'
;
interface
IProp
{
route
:
any
;
navigation
:
any
;
...
...
@@ -47,7 +48,6 @@ const RequireOrderDetail = ({ route, navigation }: IProp) => {
// 'https://www.huf-haus.com/fileadmin/Bilder/Header/ART_3/Header_HUF_Haus_ART_3___1_.jpg';
const
handlePress
=
()
=>
{
console
.
log
(
'-------------------------------------------------'
);
// let PictureDir = fs.dirs.PictureDir; // this is the pictures directory. You can check the available directories in the wiki.
// let options = {
// fileCache: true,
...
...
@@ -82,7 +82,7 @@ const RequireOrderDetail = ({ route, navigation }: IProp) => {
// setheadText(false);
}
};
const
handleCopy
=
(
text
:
string
)
=>
{
const
handleCopy
=
(
text
?
:
string
)
=>
{
if
(
!
text
)
{
Toast
.
show
(
t
(
'order.tip.noCopy'
));
return
;
...
...
@@ -121,40 +121,31 @@ const RequireOrderDetail = ({ route, navigation }: IProp) => {
const
materialList
=
[
{
title
:
'CAS号:'
,
// value: orderData?.askPurchaseGoodsResponses[index].casNo,
value
:
'casNo'
,
},
{
title
:
'采购数量:'
,
// value: orderData?.askPurchaseGoodsResponses[index].num,
value
:
'num'
,
formatNum
:
true
,
},
{
title
:
'品类:'
,
// value: orderData?.askPurchaseGoodsResponses[index].categoryName,
value
:
'categoryName'
,
},
{
title
:
'品牌:'
,
// value: orderData?.askPurchaseGoodsResponses[index].brandName,
value
:
'brandName'
,
},
{
title
:
'单位:'
,
// value: orderData?.askPurchaseGoodsResponses[index].unit,
value
:
'unit'
,
},
{
title
:
'币种:'
,
// value: orderData?.askPurchaseGoodsResponses[index].currencyName,
value
:
'currencyName'
,
},
];
const
requirementDockList
=
[
{
title
:
'中山龙华皮料有限公司'
,
value
:
'张三三'
},
];
const
renderCommonList
=
(
item
,
index
)
=>
(
<
View
style=
{
myStyle
.
CellIem
}
...
...
@@ -165,13 +156,11 @@ const RequireOrderDetail = ({ route, navigation }: IProp) => {
<
View
style=
{
{
flexDirection
:
'row'
}
}
>
<
Text
style=
{
myStyle
.
CellText
}
numberOfLines=
{
1
}
>
{
item
.
value
}
{
/* {item.copyfn && <Icons name="right" size={12} />} */
}
</
Text
>
{
item
.
hasCopy
&&
(
<
Text
style=
{
[
myStyle
.
addressName
,
{
marginLeft
:
10
}]
}
onPress=
{
()
=>
handleCopy
(
'zzzzzzzzzzzzzzzz'
)
}
onPress=
{
()
=>
handleCopy
(
item
.
value
)
}
>
{
t
(
'order.btn.copy'
)
}
</
Text
>
...
...
@@ -195,7 +184,11 @@ const RequireOrderDetail = ({ route, navigation }: IProp) => {
return
(
<
View
style=
{
myStyle
[
'Mcell-content'
]
}
>
<
Text
style=
{
myStyle
[
'Mcell-text'
]
}
>
{
title
}
</
Text
>
<
Text
style=
{
{
color
:
'#252D37'
}
}
>
{
Goods
?.[
value
]
}
</
Text
>
<
Text
style=
{
{
color
:
'#252D37'
}
}
>
{
item
.
formatNum
?
formatNum
(
Goods
?.[
value
],
6
)
:
Goods
?.[
value
]
}
</
Text
>
</
View
>
);
}
}
...
...
@@ -208,7 +201,7 @@ const RequireOrderDetail = ({ route, navigation }: IProp) => {
}
}
>
<
Text
>
期望单价:
</
Text
>
<
Text
>
{
Goods
?.[
'expectedUnitPrice'
]
}
</
Text
>
<
Text
>
{
formatNum
(
Goods
?.
expectedUnitPrice
,
6
)
}
</
Text
>
</
View
>
</
View
>
);
...
...
@@ -250,7 +243,7 @@ const RequireOrderDetail = ({ route, navigation }: IProp) => {
</
Text
>
<
Text
style=
{
[
myStyle
.
addressName
]
}
onPress=
{
()
=>
handleCopy
(
'zzzzzzzzzzzzzzzz'
)
}
onPress=
{
()
=>
handleCopy
(
orderData
?.
askPurchaseNo
)
}
>
{
t
(
'order.btn.copy'
)
}
</
Text
>
...
...
src/views/RequireOrder/pages/RequireOrderDetail/styles.ts
View file @
78cc2f5d
import
{
color
}
from
'react-native-reanimated'
;
import
{
StyleSheet
,
Platform
}
from
'react-native'
;
import
{
ThemeStyle
}
from
'../../../../constants/theme'
;
import
themeLayout
from
'../../../../constants/theme/layout'
;
...
...
@@ -57,13 +56,11 @@ export default (theme: ThemeStyle) =>
},
block
:
{
width
:
4
,
height
:
16
,
height
:
20
,
backgroundColor
:
'#00A98F'
,
borderRadius
:
2
,
position
:
'absolute'
,
// left: '-10',
// flex: 1,
left
:
-
8
,
left
:
-
10
,
top
:
2
,
},
'addressFlex-title-text'
:
{
...
...
@@ -118,7 +115,7 @@ export default (theme: ThemeStyle) =>
HeadCellText
:
{
fontSize
:
14
,
color
:
'#252D37'
,
fontWeight
:
'4
00'
,
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'6
00'
,
},
CellIem
:
{
display
:
'flex'
,
...
...
@@ -150,6 +147,7 @@ export default (theme: ThemeStyle) =>
},
Mcell
:
{
display
:
'flex'
,
marginTop
:
10
,
justifyContent
:
'space-between'
,
},
'Mcell-title'
:
{
...
...
src/views/RequireOrder/pages/RequirePriceOrder/components/OrderList/index.tsx
0 → 100644
View file @
78cc2f5d
import
React
from
'react'
;
import
{
View
,
Text
,
TouchableOpacity
}
from
'react-native'
;
import
{
RequireOrderStatusEnum
}
from
'../../../../constants'
;
import
{
useNavigation
}
from
'@react-navigation/native'
;
import
useAppStyle
from
'../../../../../../hooks/useAppStyle'
;
import
styles
from
'./styles'
;
const
OrderList
=
props
=>
{
const
{
data
:
item
,
askPurchaseId
}
=
props
;
const
myStyle
=
useAppStyle
(
styles
);
const
navigation
=
useNavigation
();
console
.
log
(
item
,
'itemitemitemitem'
);
return
(
<
TouchableOpacity
style=
{
myStyle
.
box
}
onPress=
{
()
=>
{
navigation
.
navigate
(
'RequirePriceOrderDetail'
,
{
askPurchaseId
:
askPurchaseId
,
quoteNoId
:
item
.
id
,
});
}
}
>
<
View
style=
{
myStyle
[
'box-top'
]
}
>
<
Text
style=
{
myStyle
[
'box-top-text'
]
}
>
{
item
.
memberName
}
</
Text
>
{
item
?.
status
?
(
<
Text
style=
{
myStyle
[
'box-top-text'
]
}
>
{
/* {RequireOrderStatusEnum.getLabelByValue(item?.status)} */
}
</
Text
>
)
:
null
}
</
View
>
<
View
style=
{
myStyle
[
'box-bottome'
]
}
>
<
View
style=
{
myStyle
[
'box-bottome-container'
]
}
>
<
View
style=
{
myStyle
[
'box-bottome-title'
]
}
>
<
Text
style=
{
myStyle
[
'box-bottome-title-text'
]
}
>
{
item
?.
name
}
</
Text
>
</
View
>
<
View
style=
{
myStyle
[
'box-bottome-content'
]
}
>
<
View
style=
{
myStyle
[
'box-bottome-content-left'
]
}
>
<
View
style=
{
myStyle
[
'box-bottome-content-left-text'
]
}
>
<
View
style=
{
{
marginRight
:
8
}
}
>
<
Text
style=
{
myStyle
[
'box-bottome-content-left-text-label'
]
}
>
营业担当
</
Text
>
</
View
>
<
Text
style=
{
myStyle
[
'box-bottome-content-left-text-value'
]
}
>
{
item
?.
salesDirectorName
}
</
Text
>
</
View
>
<
View
style=
{
myStyle
[
'box-bottome-content-left-text'
]
}
>
<
View
style=
{
{
marginRight
:
4
}
}
>
<
Text
style=
{
myStyle
[
'box-bottome-content-left-text-label'
]
}
>
截止时间
</
Text
>
</
View
>
<
Text
style=
{
myStyle
[
'box-bottome-content-left-text-value'
]
}
>
{
item
?.
quoteEndTime
}
</
Text
>
</
View
>
</
View
>
<
View
style=
{
myStyle
[
'box-bottome-content-right'
]
}
>
{
/* source={{ uri: products.logo }} */
}
{
/* <Image
source={lingxi_icon}
style={myStyle['box-bottome-content-right-img']}
/> */
}
</
View
>
</
View
>
</
View
>
{
/* {haveFoot ? (
<View style={myStyle['box-bottome-foot']}>
<TouchableOpacity
onPress={() => {
navigation.navigate('RequireOrderDetail', { id: item?.id });
}}
style={myStyle['box-bottome-content-button']}
>
<Text style={myStyle['box-bottome-content-button-text']}>
查看单据
</Text>
</TouchableOpacity>
<TouchableOpacity
onPress={() => {
navigation.navigate('RequirePriceOrder', { id: item?.id });
}}
style={myStyle['box-bottome-content-button']}
>
<Text style={myStyle['box-bottome-content-button-text']}>
查看报价
</Text>
</TouchableOpacity>
</View>
) : null} */
}
</
View
>
</
TouchableOpacity
>
);
};
export
default
OrderList
;
src/views/RequireOrder/pages/RequirePriceOrder/components/OrderList/styles.ts
0 → 100644
View file @
78cc2f5d
import
{
StyleSheet
,
Platform
}
from
'react-native'
;
import
{
ThemeStyle
}
from
'../../../../../../constants/theme'
;
import
themeLayout
from
'../../../../../../constants/theme/layout'
;
export
default
(
theme
:
ThemeStyle
)
=>
StyleSheet
.
create
({
container
:
{
flex
:
1
,
flexDirection
:
'column'
,
},
header
:
{
width
:
'100%'
,
flexDirection
:
'row'
,
backgroundColor
:
'#fff'
,
alignItems
:
'center'
,
},
input
:
{
width
:
'100%'
,
flexDirection
:
'row'
,
backgroundColor
:
'#fff'
,
alignItems
:
'center'
,
position
:
'relative'
,
},
IconView
:
{
position
:
'relative'
,
width
:
'100%'
,
},
searchImg
:
{
width
:
18
,
height
:
18
,
backgroundColor
:
'#F6F8FA'
,
position
:
'absolute'
,
left
:
25
,
top
:
12
,
zIndex
:
10
,
},
search
:
{
display
:
'flex'
,
width
:
'60%'
,
// flexDirection:'row'
},
categoryContainer
:
{
paddingHorizontal
:
themeLayout
[
'padding-l'
],
alignItems
:
'center'
,
flexDirection
:
'row'
,
backgroundColor
:
'#fff'
,
},
categoryWrap
:
{
flex
:
1
,
overflow
:
'hidden'
,
height
:
36
,
// justifyContent: 'center',
},
categoryBox
:
{
// width: '25%',
marginRight
:
5
,
flexDirection
:
'row'
,
alignItems
:
'center'
,
},
categoryItem
:
{
flexDirection
:
'row'
,
paddingRight
:
40
,
height
:
'100%'
,
alignItems
:
'center'
,
},
categoryText
:
{
// fontSize: 12,
textAlign
:
'center'
,
color
:
theme
.
fonts
.
black2
,
fontWeight
:
'400'
,
},
categoryText__active
:
{
color
:
'#00A98F'
,
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'600'
,
},
categoryIcon__active
:
{
color
:
'#00A98F'
,
// fontWeight: Platform.OS === 'ios' ? '500' : '600',
},
commodityList
:
{
backgroundColor
:
'#F4F5F7'
,
paddingHorizontal
:
8
,
paddingVertical
:
8
,
flex
:
1
,
},
searchBox
:
{
// flex: 0.9,
width
:
'90%'
,
height
:
40
,
borderRadius
:
18
,
alignItems
:
'center'
,
backgroundColor
:
'#F7F8FA'
,
paddingLeft
:
themeLayout
[
'padding-xs'
],
overflow
:
'hidden'
,
},
box
:
{
flex
:
1
,
height
:
132
,
backgroundColor
:
'#fff'
,
borderRadius
:
themeLayout
[
'padding-xs'
],
marginBottom
:
themeLayout
[
'padding-xs'
],
paddingHorizontal
:
themeLayout
[
'padding-s'
],
},
'box-top'
:
{
height
:
40
,
justifyContent
:
'space-between'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
},
'box-top-text'
:
{
color
:
'#252D37'
,
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'600'
,
},
'box-bottome'
:
{
height
:
131
,
justifyContent
:
'space-between'
,
alignItems
:
'center'
,
},
'box-bottome-container'
:
{
width
:
'100%'
,
height
:
83
,
justifyContent
:
'center'
,
// alignItems: 'center',
},
'box-bottome-title'
:
{
width
:
'100%'
,
height
:
20
,
// justifyContent: 'center',
alignItems
:
'flex-start'
,
marginTop
:
5
,
marginBottom
:
2
,
},
'box-bottome-title-text'
:
{
color
:
'#252D37'
,
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'600'
,
},
'box-bottome-content'
:
{
justifyContent
:
'space-between'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
},
'box-bottome-content-left'
:
{
justifyContent
:
'center'
,
alignItems
:
'center'
,
marginTop
:
14
,
},
'box-bottome-content-left-text'
:
{
width
:
'100%'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
// marginTop: 16,
},
'box-bottome-content-left-text-label'
:
{
color
:
'#91959B'
,
// marginRight: 6,
},
'box-bottome-content-left-text-value'
:
{
color
:
'#252D37'
,
marginLight
:
4
,
},
'box-bottome-content-right'
:
{
justifyContent
:
'center'
,
alignItems
:
'center'
,
},
'box-bottome-content-right-img'
:
{
height
:
48
,
width
:
48
,
},
'box-bottome-foot'
:
{
height
:
48
,
width
:
'100%'
,
alignItems
:
'center'
,
justifyContent
:
'flex-end'
,
flexDirection
:
'row'
,
},
'box-bottome-content-button'
:
{
backgroundColor
:
'#EBF9F6'
,
borderRadius
:
4
,
height
:
24
,
width
:
72
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
marginRight
:
8
,
},
'box-bottome-content-button-text'
:
{
color
:
'#00A98F'
,
},
});
src/views/RequireOrder/pages/RequirePriceOrder/index.tsx
View file @
78cc2f5d
...
...
@@ -8,22 +8,43 @@ import {
}
from
'react-native'
;
import
useAppStyle
from
'../../../../hooks/useAppStyle'
;
import
styles
from
'./styles'
;
import
{
useNavigation
}
from
'@react-navigation/native'
;
import
{
useNavigation
,
Route
,
NavigationProp
}
from
'@react-navigation/native'
;
import
{
useSafeAreaInsets
}
from
'react-native-safe-area-context'
;
import
Icons
from
'react-native-vector-icons/AntDesign'
;
import
FeatherIcons
from
'react-native-vector-icons/Feather'
;
import
{
postTransactionMobileAskPurchaseQuotePage
}
from
'../../../../services/TransactionV2Api'
;
import
CommodityItem
from
'../../components/CommodityItem'
;
import
{
postTransactionMobileAskPurchaseQuotePage
,
PostTransactionMobileAskPurchaseQuotePageRequest
as
ParamsType
,
}
from
'../../../../services/TransactionV2Api'
;
import
OrderList
from
'./components/OrderList'
;
import
OrderNavBar
from
'../../../../components/OrderNavBar'
;
import
{
FcRoute
}
from
'../../../../global'
;
type
Parmas
=
{
id
?:
number
;
};
const
RequirePriceOrder
=
props
=>
{
const
{
id
:
askPurchaseId
}
=
props
;
const
RequirePriceOrder
:
FcRoute
<
'RequirePriceOrder'
,
Parmas
>
=
props
=>
{
const
{
route
:
{
params
:
{
id
:
askPurchaseId
},
},
}
=
props
;
const
myStyle
=
useAppStyle
(
styles
);
const
safeInset
=
useSafeAreaInsets
();
const
navigation
=
useNavigation
();
const
[
productList
,
setProductList
]
=
useState
<
any
[]
>
([]);
const
[
innerValue
,
setInnerValue
]
=
useState
(
''
);
const
[
searchcriteria
,
setSearchcriteria
]
=
useState
<
ParamsType
>
({
pageSize
:
8
,
askPurchaseId
,
});
const
getProductList
=
():
Promise
<
any
[]
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
postTransactionMobileAskPurchaseQuotePage
({
askPurchaseId
}).
then
(
res
=>
{
postTransactionMobileAskPurchaseQuotePage
(
searchcriteria
).
then
(
res
=>
{
// postTransactionMobileAskPurchaseQuotePage({ askPurchaseId: 12 }).then(
// res => {
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
.
data
);
}
else
{
...
...
@@ -39,61 +60,31 @@ const RequirePriceOrder = props => {
setProductList
(
res
);
})
.
catch
(()
=>
{});
},
[]);
},
[
searchcriteria
]);
const
renderCommodityItem
=
({
item
,
index
,
}:
{
item
:
any
;
index
:
number
;
})
=>
{
return
<
CommodityItem
data=
{
item
}
/>;
const
handleChange
=
text
=>
{
setInnerValue
(
text
);
};
const
handleSearchSubmit
=
()
=>
{
setSearchcriteria
({
...
searchcriteria
,
askPurchaseMemberName
:
innerValue
,
});
};
const
renderCommodityItem
=
({
item
}:
{
item
:
any
})
=>
{
return
<
OrderList
data=
{
item
}
askPurchaseId=
{
askPurchaseId
}
/>;
};
return
(
<
View
style=
{
myStyle
.
container
}
>
{
/* 头区域 */
}
<
Status
Bar
translucent
backgroundColor=
"transparent"
barStyle=
"dark-content"
<
OrderNav
Bar
placeholder=
{
'报价会员'
}
onChangeText=
{
handleChange
}
onSubmitEditing=
{
handleSearchSubmit
}
/>
<
View
style=
{
{
paddingTop
:
safeInset
.
top
,
height
:
safeInset
.
top
+
4
}
}
/>
<
View
style=
{
myStyle
.
header
}
>
<
TouchableOpacity
style=
{
{
marginLeft
:
12
,
marginRight
:
20
}
}
onPress=
{
()
=>
{
navigation
.
goBack
();
}
}
activeOpacity=
{
0.8
}
>
<
Icons
name=
{
'left'
}
size=
{
24
}
color=
{
'#252D37'
}
/>
</
TouchableOpacity
>
<
View
style=
{
[
myStyle
.
input
]
}
>
<
FeatherIcons
name=
"search"
size=
{
18
}
style=
{
[
myStyle
.
searchImg
,
{
backgroundColor
:
'#fff'
}]
}
/>
<
View
style=
{
[
myStyle
.
searchBox
,
{
width
:
'73%'
}]
}
>
<
TextInput
placeholder=
{
'需求单号/需求单摘要'
}
returnKeyType=
"search"
returnKeyLabel=
"搜索"
// onSubmitEditing={handleSearchSubmit}
style=
{
{
fontSize
:
14
,
width
:
'90%'
,
backgroundColor
:
'#F6F8FA'
,
borderRadius
:
4
,
paddingLeft
:
25
,
}
}
// onChangeText={handleChange}
/>
</
View
>
</
View
>
</
View
>
{
/* 内容区域 */
}
<
View
style=
{
myStyle
.
commodityList
}
>
...
...
src/views/RequireOrder/pages/RequirePriceOrderDetail/index.tsx
0 → 100644
View file @
78cc2f5d
import
React
,
{
useRef
,
useEffect
,
useState
}
from
'react'
;
import
{
View
,
Text
,
ScrollView
}
from
'react-native'
;
import
NavBar
from
'../../../../components/NavBar'
;
import
useLocale
from
'../../../../hooks/useLocale'
;
// import useLocale from '../../../../hooks/useLocale';
import
styles
from
'./styles'
;
import
useAppStyle
from
'../../../../hooks/useAppStyle'
;
import
{
getTransactionMobileAskPurchaseDetail
,
GetTransactionMobileAskPurchaseDetailResponse
as
AskPurchaseDataType
,
getTransactionMobileAskPurchaseQuoteDetail
,
GetTransactionMobileAskPurchaseQuoteDetailResponse
as
DataType
,
}
from
'../../../../services/TransactionV2Api'
;
import
{
FcRoute
}
from
'../../../../global'
;
import
{
RequirePriceOrderStatusEnum
}
from
'../../constants'
;
import
Toast
from
'react-native-root-toast'
;
import
Clipboard
from
'expo-clipboard'
;
import
Popup
from
'../../../../components/Popup'
;
import
{
useSafeAreaInsets
}
from
'react-native-safe-area-context'
;
import
{
formatNum
}
from
'../../../../utils/formatNum'
;
// id =2
type
Params
=
{
quoteNoId
:
number
;
//求购单Id
askPurchaseId
:
number
;
//需求单Id
};
const
id
=
2
;
interface
PopupInfo
{
supplierQuote
:
number
;
manufacturerPric
:
number
;
}
const
RequirePriceOrderDetail
:
FcRoute
<
'RequirePriceOrderDeatail'
,
Params
>
=
props
=>
{
const
{
route
:
{
params
:
{
quoteNoId
,
askPurchaseId
},
},
}
=
props
;
const
myStyle
=
useAppStyle
(
styles
);
const
{
t
}
=
useLocale
(
'order'
);
const
[
orderData
,
setOrderData
]
=
useState
<
DataType
>
();
const
[
askPurchaseData
,
setAskPurchaseData
]
=
useState
<
AskPurchaseDataType
>
();
const
[
popupVisibal
,
setPopupVisibal
]
=
useState
<
boolean
>
(
false
);
const
[
popupInfo
,
setPopupInfo
]
=
useState
<
PopupInfo
>
();
const
insets
=
useSafeAreaInsets
();
const
fetchData
=
async
()
=>
{
console
.
log
(
quoteNoId
,
'paramsparams'
,
askPurchaseId
);
const
{
data
,
code
}
=
await
getTransactionMobileAskPurchaseQuoteDetail
({
id
:
quoteNoId
,
});
setOrderData
(
data
);
const
{
data
:
data2
,
code
:
code2
}
=
await
getTransactionMobileAskPurchaseDetail
({
id
:
askPurchaseId
,
});
setAskPurchaseData
(
data2
);
};
useEffect
(()
=>
{
fetchData
();
},
[]);
const
handleCopy
=
(
text
?:
string
)
=>
{
if
(
!
text
)
{
Toast
.
show
(
t
(
'order.tip.noCopy'
));
return
;
}
Clipboard
.
setString
(
text
);
Toast
.
show
(
t
(
'order.tip.successCopy'
));
};
const
renderCommonList
=
(
item
,
index
)
=>
(
<
View
style=
{
myStyle
.
CellIem
}
// onPress={() => (item.fn ? item.fn() : {})}
key=
{
`${item.title}_${index}`
}
>
<
Text
style=
{
myStyle
.
CellName
}
>
{
t
(
item
.
title
)
}
</
Text
>
<
View
style=
{
{
flexDirection
:
'row'
}
}
>
<
Text
style=
{
myStyle
.
CellText
}
numberOfLines=
{
1
}
>
{
item
.
value
}
</
Text
>
{
item
.
hasCopy
&&
(
<
Text
style=
{
[
myStyle
.
addressName
,
{
marginLeft
:
10
}]
}
onPress=
{
()
=>
handleCopy
(
item
.
value
)
}
>
{
t
(
'order.btn.copy'
)
}
</
Text
>
)
}
</
View
>
</
View
>
);
const
handleClose
=
()
=>
{};
const
renderMaterialList
=
(
topItem
,
topIndex
)
=>
{
const
Goods
:
any
=
orderData
?.
askPurchaseQuoteGoodsResponses
[
topIndex
];
return
(
<
View
style=
{
myStyle
.
Mcell
}
>
<
Text
style=
{
myStyle
[
'Mcell-title'
]
}
>
{
Goods
?.[
'goodsName'
]
}
</
Text
>
<
View
style=
{
{
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
marginBottom
:
10
,
}
}
>
<
Text
>
采购数量:
{
formatNum
(
Goods
.
num
,
6
)
}
</
Text
>
<
Text
>
期望单价:
{
formatNum
(
Goods
.
expectedUnitPrice
,
6
)
}
</
Text
>
</
View
>
{
Goods
.
quoteDetails
.
map
((
item
,
index
)
=>
{
return
(
<
View
style=
{
{
flexDirection
:
'row'
,
paddingVertical
:
10
,
justifyContent
:
'space-between'
,
}
}
>
<
Text
>
{
item
.
factoryName
}
</
Text
>
<
Text
onPress=
{
()
=>
{
setPopupVisibal
(
!
popupVisibal
);
setPopupInfo
({
supplierQuote
:
item
.
supplierQuote
,
manufacturerPric
:
item
.
manufacturerPric
,
});
}
}
style=
{
{
color
:
'#00A98F'
}
}
>
查看报价
</
Text
>
</
View
>
);
})
}
</
View
>
);
};
const
basicInfoList
=
[
{
title
:
'求购需求单号'
,
value
:
orderData
?.
quoteNo
,
hasCopy
:
true
},
{
title
:
'对应求购需求单'
,
value
:
orderData
?.
askPurchaseNo
},
{
title
:
'报价会员'
,
value
:
orderData
?.
memberName
},
{
title
:
'报价单摘要'
,
value
:
orderData
?.
name
},
{
title
:
'营业担当'
,
value
:
orderData
?.
salesDirectorName
},
{
title
:
'币种'
,
value
:
orderData
?.
currencyName
,
},
{
title
:
'单据时间'
,
value
:
orderData
?.
billTime
},
{
title
:
'报价截止时间'
,
value
:
orderData
?.
quoteEndTime
},
];
const
buyerTradeTermsList
=
[
{
title
:
'交易时间'
,
value
:
askPurchaseData
?.
deliverTime
},
{
title
:
'交付地址'
,
value
:
askPurchaseData
?.
deliverAddress
},
{
title
:
'报价截止时间'
,
value
:
askPurchaseData
?.
quoteEndTime
},
];
const
buyerOtherTermsList
=
[
{
title
:
'报价要求'
,
value
:
askPurchaseData
?.
quoteRequire
},
{
title
:
'付款说明'
,
value
:
askPurchaseData
?.
paymentWay
},
{
title
:
'税费说明'
,
value
:
askPurchaseData
?.
taxesRequire
},
{
title
:
'物流说明'
,
value
:
askPurchaseData
?.
logisticsRequire
},
{
title
:
'包装说明'
,
value
:
askPurchaseData
?.
packageRequire
},
{
title
:
'其他要求'
,
value
:
askPurchaseData
?.
otherRequire
},
];
const
supplierOtherTermsList
=
[
{
title
:
'报价联系人'
,
value
:
orderData
?.
contactName
},
{
title
:
'联系电话'
,
value
:
orderData
?.
contactMobile
},
{
title
:
'交付说明'
,
value
:
orderData
?.
deliverRemark
},
{
title
:
'付款说明'
,
value
:
orderData
?.
paymentRemark
},
{
title
:
'税费说明'
,
value
:
orderData
?.
taxesRemark
},
{
title
:
'物流说明'
,
value
:
orderData
?.
logisticsRemark
},
{
title
:
'包装说明'
,
value
:
orderData
?.
packageRemark
},
{
title
:
'其他要求'
,
value
:
orderData
?.
otherRemark
},
];
console
.
log
(
RequirePriceOrderStatusEnum
.
getLabelByValue
(
1
),
'///////////'
);
return
(
<
View
style=
{
myStyle
.
container
}
>
<
ScrollView
>
{
/* 头部 */
}
<
NavBar
title=
""
backIconColor=
"white"
customStyle=
{
{
backgroundColor
:
'#00A990'
}
}
/>
<
View
style=
{
myStyle
.
satus
}
>
<
Text
style=
{
myStyle
.
satusTxet
}
>
{
RequirePriceOrderStatusEnum
.
getLabelByValue
(
orderData
?.
status
)
}
</
Text
>
</
View
>
{
/* 内容 */
}
<
View
style=
{
{
flexDirection
:
'column'
,
paddingHorizontal
:
8
}
}
>
{
/* 单号 */
}
<
View
style=
{
myStyle
.
address
}
>
<
View
style=
{
myStyle
.
addressFlex
}
>
<
View
style=
{
myStyle
[
'addressFlex-title'
]
}
>
<
View
style=
{
myStyle
.
block
}
/>
<
Text
style=
{
myStyle
[
'addressFlex-title-text'
]
}
>
{
orderData
?.
name
}
</
Text
>
</
View
>
<
View
style=
{
myStyle
.
orderNo
}
>
<
Text
style=
{
[
myStyle
.
addressName
,
{
fontSize
:
12
,
marginRight
:
10
},
]
}
>
{
orderData
?.
askPurchaseNo
}
</
Text
>
<
Text
style=
{
[
myStyle
.
addressName
]
}
onPress=
{
()
=>
handleCopy
(
orderData
?.
askPurchaseNo
)
}
>
{
t
(
'order.btn.copy'
)
}
</
Text
>
</
View
>
</
View
>
</
View
>
{
/* 基本信息 */
}
<
View
style=
{
myStyle
.
cell
}
>
<
View
style=
{
myStyle
.
HeadCell
}
>
<
Text
style=
{
myStyle
.
HeadCellText
}
>
{
'基本信息'
}
</
Text
>
</
View
>
{
basicInfoList
.
map
((
item
,
index
)
=>
{
if
(
item
.
value
)
{
return
renderCommonList
(
item
,
index
);
}
return
false
;
})
}
</
View
>
{
/* 商品报价 */
}
<
View
style=
{
myStyle
.
cell
}
>
<
View
style=
{
myStyle
.
HeadCell
}
>
<
Text
style=
{
myStyle
.
HeadCellText
}
>
{
'商品报价'
}
</
Text
>
</
View
>
{
orderData
?.
askPurchaseQuoteGoodsResponses
.
map
((
item
,
index
)
=>
{
return
<>
{
renderMaterialList
(
item
,
index
)
}
</>;
})
}
</
View
>
{
/* 求购方交易条件 */
}
<
View
style=
{
myStyle
.
cell
}
>
<
View
style=
{
myStyle
.
HeadCell
}
>
<
Text
style=
{
myStyle
.
HeadCellText
}
>
{
'求购方交易条件'
}
</
Text
>
</
View
>
{
buyerTradeTermsList
.
map
((
item
,
index
)
=>
{
if
(
item
.
value
)
{
return
renderCommonList
(
item
,
index
);
}
return
false
;
})
}
</
View
>
{
/* 求购方其他条件 */
}
<
View
style=
{
myStyle
.
cell
}
>
<
View
style=
{
myStyle
.
HeadCell
}
>
<
Text
style=
{
myStyle
.
HeadCellText
}
>
{
'求购方其他条件'
}
</
Text
>
</
View
>
{
buyerOtherTermsList
.
map
((
item
,
index
)
=>
{
if
(
item
.
value
)
{
return
renderCommonList
(
item
,
index
);
}
return
false
;
})
}
</
View
>
{
/* 附件 */
}
<
View
style=
{
myStyle
.
cell
}
>
<
View
style=
{
myStyle
.
HeadCell
}
>
<
Text
style=
{
myStyle
.
HeadCellText
}
>
{
'附件'
}
</
Text
>
</
View
>
{
/* {basicInfoList.map((item, index) => {
if (item.value) {
return renderCommonList(item, index);
}
return false;
})} */
}
</
View
>
{
/* 报价方交易条件 */
}
<
View
style=
{
myStyle
.
cell
}
>
<
View
style=
{
myStyle
.
HeadCell
}
>
<
Text
style=
{
myStyle
.
HeadCellText
}
>
{
'报价方交易条件'
}
</
Text
>
</
View
>
{
supplierOtherTermsList
.
map
((
item
,
index
)
=>
{
if
(
item
.
value
)
{
return
renderCommonList
(
item
,
index
);
}
return
false
;
})
}
</
View
>
{
/* 附件 */
}
<
View
style=
{
myStyle
.
cell
}
>
<
View
style=
{
myStyle
.
HeadCell
}
>
<
Text
style=
{
myStyle
.
HeadCellText
}
>
{
'附件'
}
</
Text
>
</
View
>
{
/* {basicInfoList.map((item, index) => {
if (item.value) {
return renderCommonList(item, index);
}
return false;
})} */
}
</
View
>
{
/* ---- */
}
{
/* ~~~~ */
}
{
/* ………… */
}
</
View
>
</
ScrollView
>
<
Popup
visible=
{
popupVisibal
}
onClose=
{
()
=>
{
setPopupVisibal
(
false
);
}
}
contentStyle=
{
{
paddingBottom
:
Math
.
max
(
insets
.
bottom
,
0
)
}
}
title=
{
'报价信息'
}
customTitleStyle=
{
myStyle
[
'Popup-title'
]
}
>
{
/* <View style={{ height: '70%' }}> */
}
<
View
style=
{
myStyle
[
'Popup-container'
]
}
>
<
View
style=
{
myStyle
[
'Popup-content'
]
}
>
<
Text
>
供应商报价
</
Text
>
<
Text
style=
{
myStyle
[
'Popup-text'
]
}
>
{
formatNum
(
popupInfo
?.
supplierQuote
,
6
)
}
</
Text
>
</
View
>
<
View
style=
{
myStyle
[
'Popup-content'
]
}
>
<
Text
>
厂家报价
</
Text
>
<
Text
style=
{
myStyle
[
'Popup-text'
]
}
>
{
formatNum
(
popupInfo
?.
manufacturerPric
,
6
)
}
</
Text
>
</
View
>
</
View
>
</
Popup
>
</
View
>
);
};
export
default
RequirePriceOrderDetail
;
src/views/RequireOrder/pages/RequirePriceOrderDetail/styles.ts
0 → 100644
View file @
78cc2f5d
import
{
StyleSheet
,
Platform
}
from
'react-native'
;
import
{
ThemeStyle
}
from
'../../../../constants/theme'
;
import
themeLayout
from
'../../../../constants/theme/layout'
;
export
default
(
theme
:
ThemeStyle
)
=>
StyleSheet
.
create
({
container
:
{
flex
:
1
,
backgroundColor
:
'#F4F5F7'
,
flexDirection
:
'column'
,
},
satus
:
{
height
:
80
,
paddingVertical
:
15
,
paddingHorizontal
:
10
,
backgroundColor
:
'#00A990'
,
justifyContent
:
'space-between'
,
},
satusTxet
:
{
fontSize
:
20
,
color
:
'#fff'
,
fontWeight
:
'900'
,
},
address
:
{
width
:
'100%'
,
paddingHorizontal
:
10
,
backgroundColor
:
'#fff'
,
borderRadius
:
8
,
paddingVertical
:
12
,
alignItems
:
'flex-start'
,
// marginTop: -30,
position
:
'relative'
,
top
:
-
30
,
},
addressFlex
:
{
flexDirection
:
'column'
,
marginLeft
:
10
,
width
:
'100%'
,
},
'addressFlex-title'
:
{
flexDirection
:
'row'
,
position
:
'relative'
,
},
block
:
{
width
:
4
,
height
:
20
,
backgroundColor
:
'#00A98F'
,
borderRadius
:
2
,
position
:
'absolute'
,
left
:
-
10
,
top
:
2
,
},
'addressFlex-title-text'
:
{
color
:
'#303133'
,
fontSize
:
16
,
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'600'
,
marginBottom
:
6
,
},
orderNo
:
{
flexDirection
:
'row'
,
alignItems
:
'flex-end'
,
},
addressName
:
{
fontSize
:
12
,
color
:
'#252D37'
,
},
addressText
:
{
fontSize
:
13
,
lineHeight
:
23
,
},
customer
:
{
position
:
'relative'
,
top
:
-
30
,
marginTop
:
10
,
backgroundColor
:
'#fff'
,
justifyContent
:
'center'
,
paddingVertical
:
10
,
borderRadius
:
8
,
},
cell
:
{
position
:
'relative'
,
top
:
-
30
,
marginTop
:
10
,
paddingVertical
:
10
,
backgroundColor
:
'#fff'
,
borderRadius
:
8
,
paddingHorizontal
:
12
,
flexDirection
:
'column'
,
},
HeadCell
:
{
justifyContent
:
'space-between'
,
flexDirection
:
'row'
,
alignItems
:
'center'
,
width
:
'100%'
,
marginBottom
:
10
,
},
CellShow
:
{
fontSize
:
12
,
},
HeadCellText
:
{
fontSize
:
14
,
color
:
'#252D37'
,
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'600'
,
},
CellIem
:
{
display
:
'flex'
,
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
paddingVertical
:
10
,
},
cellCard
:
{
backgroundColor
:
'#F5F6F7'
,
borderRadius
:
6
,
},
cellCardItem
:
{
width
:
'100%'
,
display
:
'flex'
,
justifyContent
:
'space-between'
,
paddingHorizontal
:
10
,
paddingVertical
:
5
,
},
CellName
:
{
fontSize
:
14
,
color
:
'#5C626A'
,
},
CellText
:
{
maxWidth
:
260
,
fontSize
:
14
,
color
:
'#252D37'
,
},
Mcell
:
{
display
:
'flex'
,
marginTop
:
10
,
},
'Mcell-title'
:
{
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'600'
,
marginBottom
:
8
,
fontSize
:
14
,
color
:
'#252D37'
,
},
'Mcell-content'
:
{
flexDirection
:
'row'
,
width
:
'48%'
,
},
'Mcell-text'
:
{
marginRight
:
5
,
},
'Popup-title'
:
{
fontWeight
:
Platform
.
OS
===
'ios'
?
'500'
:
'600'
,
},
'Popup-container'
:
{
height
:
450
,
// flexDirection:'row',
},
'Popup-content'
:
{
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
paddingHorizontal
:
12
,
height
:
48
,
alignItems
:
'center'
,
},
'Popup-text'
:
{
color
:
'#252D37'
,
},
});
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