Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
zhangzhonghua
/
BoneHouse_Business_APP
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
40d3d481
authored
Aug 04, 2021
by
peii
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
产品选择相关
parent
54d0411d
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
151 additions
and
19 deletions
src/pages/order/productions/index.styl
src/pages/order/productions/index.tsx
src/pages/order/productions/production.tsx
src/stores/production.ts
src/pages/order/productions/index.styl
View file @
40d3d481
...
@@ -53,9 +53,14 @@ for i in 1 .. 50
...
@@ -53,9 +53,14 @@ for i in 1 .. 50
.text-icon-{i}__text
.text-icon-{i}__text
color hsl(i * 30, 50%, 50%)
color hsl(i * 30, 50%, 50%)
.body
width 100%
flex 1
@extend .row
.category
.category
width 80px
width 80px
flex 1
background-color #f5f5f5
&-item
&-item
height 60px
height 60px
...
@@ -90,3 +95,13 @@ for i in 1 .. 50
...
@@ -90,3 +95,13 @@ for i in 1 .. 50
&__active
&__active
color first_text_color
color first_text_color
font-weight 700
font-weight 700
.pro
flex 1
background-color foundation_color
padding-left 20px
&-item
padding 10px 0
border-bottom-width 1px
border-bottom-color rgba(99, 99, 99, 0.1)
src/pages/order/productions/index.tsx
View file @
40d3d481
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @FilePath: /BoneHouse_Business_APP/src/pages/order/productions/index.tsx
* @FilePath: /BoneHouse_Business_APP/src/pages/order/productions/index.tsx
* @Author: peii
* @Author: peii
* @Date: 2021-07-14 17:54:04
* @Date: 2021-07-14 17:54:04
* @LastEditTime: 2021-0
7-16 16:39:13
* @LastEditTime: 2021-0
8-03 23:45:15
* @LastEditors: peii
* @LastEditors: peii
* @Vision: 1.0
* @Vision: 1.0
* @Description: 自助下单选择产品页面
* @Description: 自助下单选择产品页面
...
@@ -17,6 +17,7 @@ import * as R from 'ramda'
...
@@ -17,6 +17,7 @@ import * as R from 'ramda'
import
Header
from
'../../../components/header/header'
import
Header
from
'../../../components/header/header'
import
Supplier
from
'./supplier'
import
Supplier
from
'./supplier'
import
Category
from
'./category'
import
Category
from
'./category'
import
Production
from
'./production'
import
{
g
,
getFormItem
,
isBlank
,
isNotBlank
,
show
,
translateSysprofile
}
from
'../../../utils/utils'
import
{
g
,
getFormItem
,
isBlank
,
isNotBlank
,
show
,
translateSysprofile
}
from
'../../../utils/utils'
import
styles
from
'./index.styl'
import
styles
from
'./index.styl'
...
@@ -81,8 +82,13 @@ class Productions extends Component<IProps, IState> {
...
@@ -81,8 +82,13 @@ class Productions extends Component<IProps, IState> {
{
/* 头部供应商 */
}
{
/* 头部供应商 */
}
<
Supplier
/>
<
Supplier
/>
<
View
style=
{
g
(
styles
,
'body'
)
}
>
{
/* 左侧产品分类 */
}
{
/* 左侧产品分类 */
}
<
Category
/>
<
Category
/>
{
/* 产品块 */
}
<
Production
/>
</
View
>
</
View
>
</
View
>
)
)
}
}
...
...
src/pages/order/productions/production.tsx
View file @
40d3d481
...
@@ -2,34 +2,80 @@
...
@@ -2,34 +2,80 @@
* @FilePath: /BoneHouse_Business_APP/src/pages/order/productions/production.tsx
* @FilePath: /BoneHouse_Business_APP/src/pages/order/productions/production.tsx
* @Author: peii
* @Author: peii
* @Date: 2021-07-16 15:36:02
* @Date: 2021-07-16 15:36:02
* @LastEditTime: 2021-0
7-16 17:43:16
* @LastEditTime: 2021-0
8-04 00:03:18
* @LastEditors: peii
* @LastEditors: peii
* @Vision: 1.0
* @Vision: 1.0
* @Description:
右侧
产品列表
* @Description: 产品列表
*/
*/
// @ts-nocheck
// @ts-nocheck
import
React
,
{
Component
}
from
'react'
import
React
,
{
Component
}
from
'react'
import
{
View
,
Text
,
ScrollView
}
from
'react-native'
import
{
View
,
Text
,
ScrollView
,
FlatList
}
from
'react-native'
import
{
inject
,
observer
}
from
'mobx-react'
import
{
inject
,
observer
}
from
'mobx-react'
import
{
ISupplier
}
from
'bonehouse'
import
{
ISupplier
}
from
'bonehouse'
import
*
as
R
from
'ramda'
import
*
as
R
from
'ramda'
import
{
g
,
getFormItem
,
isBlank
,
isNotBlank
,
show
,
translateSysprofile
}
from
'../../../utils/utils'
import
{
g
,
getFormItem
,
isBlank
,
isNotBlank
,
show
,
translateSysprofile
}
from
'../../../utils/utils'
import
styles
from
'./index.styl'
import
styles
from
'./index.styl'
type
IField
=
{
field
:
string
label
:
string
type
?:
string
style
?:
string
}
type
IProps
=
{
type
IProps
=
{
productionStore
:
{
productionStore
:
{
productionFields
:
IField
[]
productions
:
any
[]
}
}
}
}
type
IState
=
{}
type
IState
=
{}
class
Production
extends
Component
<
IProps
,
IState
>
{
class
Production
extends
Component
<
IProps
,
IState
>
{
renderItem
({
item
,
index
})
{
const
productionFields
=
this
.
props
.
productionStore
.
productionFields
console
.
log
(
item
)
return
(
<
View
style=
{
g
(
styles
,
'pro-item'
)
}
>
{
productionFields
.
map
((
field
,
idx
)
=>
{
return
(
<
View
key=
{
field
.
field
}
style=
{
g
(
styles
,
'pro-item__field'
)
}
>
<
Text
style=
{
[
g
(
styles
,
{
'pro-item__field-text'
:
true
,
'pro-item__field-text-title'
:
field
.
type
===
'title'
}),
field
.
style
,
]
}
>
{
field
.
type
===
'title'
?
(
<
Text
>
{
index
+
1
+
'.'
}
{
item
[
field
.
field
]
}
</
Text
>
)
:
(
<
Text
>
{
field
.
label
+
':'
+
(
item
[
field
.
field
]
||
'无'
)
}
</
Text
>
)
}
</
Text
>
</
View
>
)
})
}
</
View
>
)
}
render
()
{
render
()
{
return
<
View
style=
{
g
(
styles
,
'pro'
)
}
>
const
productions
=
this
.
props
.
productionStore
.
productions
return
(
<
View
style=
{
g
(
styles
,
'pro'
)
}
>
<
FlatList
data=
{
productions
}
renderItem=
{
this
.
renderItem
.
bind
(
this
)
}
keyExtractor=
{
item
=>
item
.
itemCode
||
item
.
templateNumber
}
/>
</
View
>
</
View
>
)
}
}
}
}
...
...
src/stores/production.ts
View file @
40d3d481
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @FilePath: /BoneHouse_Business_APP/src/stores/production.ts
* @FilePath: /BoneHouse_Business_APP/src/stores/production.ts
* @Author: peii
* @Author: peii
* @Date: 2021-07-15 10:49:02
* @Date: 2021-07-15 10:49:02
* @LastEditTime: 2021-0
7-16 18:12:13
* @LastEditTime: 2021-0
8-03 23:57:52
* @LastEditors: peii
* @LastEditors: peii
* @Vision: 1.0
* @Vision: 1.0
* @Description: 产品store
* @Description: 产品store
...
@@ -50,21 +50,53 @@ export default class Production {
...
@@ -50,21 +50,53 @@ export default class Production {
// 手术模板显示
// 手术模板显示
SURGERY_TEMPLATE
:
[
SURGERY_TEMPLATE
:
[
{
field
:
'templateName'
,
label
:
''
,
type
:
'title'
},
{
field
:
'templateName'
,
label
:
''
,
type
:
'title'
},
{
field
:
'customerName'
,
label
:
'客户'
,
style
:
'pro
duction
-item__text-big'
},
{
field
:
'customerName'
,
label
:
'客户'
,
style
:
'pro-item__text-big'
},
{
field
:
'doctorName'
,
label
:
'手术医生'
},
{
field
:
'doctorName'
,
label
:
'手术医生'
},
{
field
:
'surgeryTypeName'
,
label
:
'手术类型'
},
{
field
:
'surgeryTypeName'
,
label
:
'手术类型'
},
{
field
:
'templateDesc'
,
label
:
'模板说明'
,
style
:
'pro
duction
-item__text-small'
},
{
field
:
'templateDesc'
,
label
:
'模板说明'
,
style
:
'pro-item__text-small'
},
],
],
// 钉盒及器械包
package
:
[
package
:
[
{
field
:
'templateName'
,
label
:
''
,
type
:
'title'
},
{
field
:
'itemName'
,
label
:
''
,
type
:
'title'
},
{
field
:
'customerName'
,
label
:
'客户'
,
style
:
'production-item__text-big'
},
{
field
:
'generalName'
,
label
:
'通用名称'
,
style
:
'pro-item__text-big'
},
{
field
:
'doctorName'
,
label
:
'手术医生'
},
{
field
:
'specification'
,
label
:
'规格型号'
},
{
field
:
'surgeryTypeName'
,
label
:
'手术类型'
},
{
field
:
'serialNumber'
,
label
:
'物料序列'
},
],
// 零散器械
SCATTERED_EQUIPMENT
:
[
{
field
:
'manufacturerProductCode'
,
label
:
''
,
type
:
'title'
},
{
field
:
'itemName'
,
label
:
'物料名称'
,
style
:
'pro-item__text-big'
},
{
field
:
'generalName'
,
label
:
'通用名称'
},
{
field
:
'specification'
,
label
:
'规格型号'
},
// { field: 'itemCode', label: '', style: 'production-item__text-small' },
],
// 耗材
materials
:
[
{
field
:
'itemCode'
,
label
:
''
,
type
:
'title'
},
{
field
:
'itemName'
,
label
:
'物料名称'
,
style
:
'pro-item__text-big'
},
{
field
:
'generalName'
,
label
:
'通用名称'
},
{
field
:
'specification'
,
label
:
'规格型号'
},
],
],
}
}
// 图片字段
imageFields
=
{
imageFields
=
{
SURGERY_TEMPLATE
:
{
sourceField
:
''
,
textField
:
'templateName'
,
},
package
:
{
sourceField
:
'photos'
,
textField
:
'itemName'
,
},
SCATTERED_EQUIPMENT
:
{
sourceField
:
'photos'
,
textField
:
'itemName'
,
},
materials
:
{
sourceField
:
'photos'
,
textField
:
'itemName'
,
},
}
}
@
observable
orgCode
:
string
=
''
@
observable
orgCode
:
string
=
''
...
@@ -99,8 +131,36 @@ export default class Production {
...
@@ -99,8 +131,36 @@ export default class Production {
@
computed
@
computed
get
productions
()
{
get
productions
()
{
if
(
isBlank
(
this
.
orgCode
)
||
isBlank
(
this
.
activeSupplier
)
||
isBlank
(
this
.
activeCatetory
))
{
return
[]
return
[]
}
}
return
this
.
_productions
.
get
(
this
.
currentProductionKey
)
}
/**
* @description: 产品具体显示的字段
* @param {*}
* @return {*}
*/
@
computed
get
productionFields
()
{
if
(
isBlank
(
this
.
orgCode
)
||
isBlank
(
this
.
activeSupplier
)
||
isBlank
(
this
.
activeCatetory
))
{
return
[]
}
if
(
R
.
includes
(
this
.
activeCatetory
.
categoryCode
,
[
'1301'
,
'1302'
]))
{
return
this
.
showFields
.
package
}
let
fields
=
this
.
showFields
[
this
.
activeCatetory
.
categoryCode
]
if
(
isBlank
(
fields
))
{
fields
=
this
.
showFields
.
materials
}
return
fields
}
@
computed
get
currentProductionKey
()
{
return
`
${
this
.
orgCode
}
_
${
this
.
activeSupplier
.
supplierCode
}
_
${
this
.
activeCatetory
.
categoryCode
}
`
}
@
action
@
action
setOrgCode
(
orgCode
:
string
)
{
setOrgCode
(
orgCode
:
string
)
{
...
@@ -230,7 +290,9 @@ export default class Production {
...
@@ -230,7 +290,9 @@ export default class Production {
manufacturerCode
:
this
.
activeSupplier
.
supplierCode
,
manufacturerCode
:
this
.
activeSupplier
.
supplierCode
,
}
}
const
res
=
yield
this
.
service
.
getSurgeryTemplates
(
params
)
const
res
=
yield
this
.
service
.
getSurgeryTemplates
(
params
)
console
.
log
(
res
)
if
(
res
.
errorCode
)
return
this
.
_productions
.
set
(
this
.
currentProductionKey
,
R
.
pathOr
([],
[
'data'
,
'surgeryTemplateHeaders'
])(
res
))
})
})
/**
/**
...
@@ -243,7 +305,8 @@ export default class Production {
...
@@ -243,7 +305,8 @@ export default class Production {
categoryCode
:
this
.
activeCatetory
.
categoryCode
,
categoryCode
:
this
.
activeCatetory
.
categoryCode
,
}
}
const
res
=
yield
this
.
service
.
getItemPackage
(
params
)
const
res
=
yield
this
.
service
.
getItemPackage
(
params
)
console
.
log
(
res
)
if
(
res
.
errorCode
)
return
this
.
_productions
.
set
(
this
.
currentProductionKey
,
R
.
pathOr
([],
[
'data'
,
'items'
])(
res
))
})
})
/**
/**
...
@@ -255,7 +318,8 @@ export default class Production {
...
@@ -255,7 +318,8 @@ export default class Production {
manufacturerCode
:
this
.
activeSupplier
.
supplierCode
,
manufacturerCode
:
this
.
activeSupplier
.
supplierCode
,
}
}
const
res
=
yield
this
.
service
.
getTools
(
params
)
const
res
=
yield
this
.
service
.
getTools
(
params
)
console
.
log
(
res
)
if
(
res
.
errorCode
)
return
this
.
_productions
.
set
(
this
.
currentProductionKey
,
R
.
pathOr
([],
[
'data'
,
'tools'
])(
res
))
})
})
/**
/**
...
@@ -269,6 +333,7 @@ export default class Production {
...
@@ -269,6 +333,7 @@ export default class Production {
categoryCode
:
this
.
activeCatetory
.
categoryCode
,
categoryCode
:
this
.
activeCatetory
.
categoryCode
,
}
}
const
res
=
yield
this
.
service
.
getItemDetail
(
params
)
const
res
=
yield
this
.
service
.
getItemDetail
(
params
)
console
.
log
(
res
)
if
(
res
.
errorCode
)
return
this
.
_productions
.
set
(
this
.
currentProductionKey
,
R
.
pathOr
([],
[
'data'
,
'details'
])(
res
))
})
})
}
}
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