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
858e12ec
authored
Dec 31, 2020
by
Denglingling
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
调整自助下单功能
parent
7f6910eb
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
952 additions
and
312 deletions
App.js
app/action/SelfAction.js
app/base/BaseStyle.js
app/containers/common/LocalVariable.js
app/containers/common/ProductModel.js
app/containers/common/listDataComponent/ChooseCardList.js
app/containers/common/listDataComponent/LoadingModel.js
app/containers/common/listDataComponent/PageListArrow.js
app/containers/common/listDataComponent/PicTitDetaiCalcu.js
app/containers/common/listDataComponent/PictureZoom.js
app/containers/selfOrder/SelfOrderPage.js
app/containers/selfOrder/module/ChooseProductPage.js
app/containers/selfOrder/module/EditThirdLevelPage.js
app/containers/selfOrder/module/ProductRightStyle.js
app/containers/selfOrder/module/mock/index.js
app/containers/selfOrder/module/mock/inter_mock.js
app/containers/selfOrder/module/mock/sen_mock.js
App.js
View file @
858e12ec
...
...
@@ -5,9 +5,9 @@
* @format
* @flow
*/
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
{
Text
,
TextInput
}
from
'react-native'
;
import
{
Provider
}
from
'react-redux'
;
import
{
Provider
}
from
'react-redux'
;
import
configureStore
from
'./app/store/configureStore'
;
import
Router
from
'./app/Router'
;
const
store
=
configureStore
();
...
...
@@ -19,10 +19,11 @@ TextInput.defaultProps = Object.assign({}, TextInput.defaultProps, { allowFontSc
console
.
reportErrorsAsExceptions
=
false
;
export
default
class
App
extends
Component
{
render
()
{
return
(
<
Provider
store
=
{
store
}
>
<
Router
/>
<
Router
/>
<
/Provider
>
);
}
...
...
app/action/SelfAction.js
View file @
858e12ec
...
...
@@ -197,7 +197,8 @@ export function requestSelfSumbit({access_token, ...params}) {
return
(
dispatch
,
getState
)
=>
{
dispatch
(
requestSubmiting
());
let
{
global_domain_config
}
=
getState
().
login
PostRequest
(
global_domain_config
,
getUrlParams
(
'/order/sur_requirement/create'
,
{
access_token
:
access_token
}),
params
)
PostRequest
(
global_domain_config
,
getUrlParams
(
'/surgery/collect_order/via_data/create'
,
{
access_token
:
access_token
}),
params
)
// PostRequest(global_domain_config, getUrlParams('/order/sur_requirement/create', {access_token: access_token}), params)
.
then
(
res
=>
{
console
.
log
(
'提交数据 res====='
,
res
);
if
(
res
.
error_code
==
0
)
{
...
...
@@ -222,67 +223,76 @@ export function requestSelfSumbit({access_token, ...params}) {
// 选择产品-供应商信息查询接口
export
const
reqPurSupplierSearch
=
async
(
global_domain_config
,
params
)
=>
{
return
local_inter_mock
.
inter_1
//
return local_inter_mock.inter_1
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/order/pur_supplier/search'
,
params
))
}
// 选择产品-产品信息分类查询接口
export
const
reqProCategorySearch
=
async
(
global_domain_config
,
params
)
=>
{
return
local_inter_mock
.
inter_2
//
return local_inter_mock.inter_2
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/order/item/search'
,
params
))
}
// 选择产品-手术
模板
头查询接口
// 选择产品-手术
套包
头查询接口
export
const
reqSurTempHeadSearch
=
async
(
global_domain_config
,
params
)
=>
{
return
local_inter_mock
.
inter_3
//
return local_inter_mock.inter_3
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/surgery/template_header/search'
,
params
))
}
// 选择产品-手术
模板
行查询接口
// 选择产品-手术
套包
行查询接口
export
const
reqSurTempLineSearch
=
async
(
global_domain_config
,
params
)
=>
{
return
local_inter_mock
.
inter_4
//
return local_inter_mock.inter_4
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/surgery/template_line/search'
,
params
))
}
// 选择产品-螺钉盒(器械包)头查询接口
export
const
reqNailEquipHeadSearch
=
async
(
global_domain_config
,
params
)
=>
{
if
(
params
.
category_code
===
'1301'
){
return
local_inter_mock
.
inter_5
}
else
{
return
local_inter_mock
.
inter_55
}
//
if(params.category_code === '1301'){
//
return local_inter_mock.inter_5
//
}else {
//
return local_inter_mock.inter_55
//
}
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/inventory/item_package_header/search'
,
params
))
}
// 选择产品-螺钉盒明细查询接口
export
const
reqNailBoxLineSearch
=
async
(
global_domain_config
,
params
)
=>
{
return
local_inter_mock
.
inter_6
//
return local_inter_mock.inter_6
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/inventory/nail_box_template_detail/search'
,
params
))
}
// 选择产品-器械包明细查询接口
export
const
reqEquipPackageLineSearch
=
async
(
global_domain_config
,
params
)
=>
{
return
local_inter_mock
.
inter_7
//
return local_inter_mock.inter_7
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/inventory/item_package/search'
,
params
))
}
// 选择产品-螺钉盒明细/器械包明细查询接口
export
const
reqNailAndEquipSearch
=
async
(
global_domain_config
,
params
)
=>
{
// if(params.nail_box_flag == 'Y'){
// return local_inter_mock.inter_6
// }else {
// return local_inter_mock.inter_77
// }
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/inventory/item_package_detail/search'
,
params
))
}
// 选择产品-零散器械查询接口
export
const
reqScatEquipmentSearch
=
async
(
global_domain_config
,
params
)
=>
{
return
local_inter_mock
.
inter_8
//
return local_inter_mock.inter_8
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/order/tool/search'
,
params
))
}
// 选择产品-单点耗材查询接口
export
const
reqSingleConsumSearch
=
async
(
global_domain_config
,
params
)
=>
{
if
(
params
.
leftIndex
&&
params
.
leftIndex
%
2
===
0
){
return
local_inter_mock
.
inter_9
}
else
{
return
local_inter_mock
.
inter_99
}
//
if(params.leftIndex && params.leftIndex%2 === 0){
//
return local_inter_mock.inter_9
//
}else {
//
return local_inter_mock.inter_99
//
}
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/order/item_detail/search'
,
params
))
}
...
...
app/base/BaseStyle.js
View file @
858e12ec
...
...
@@ -40,6 +40,10 @@ export const first_text_color = '#333333'; // 一级字体
export
const
second_text_color
=
"#666666"
;
// 次级字体
export
const
third_text_color
=
"#999999"
;
// 三级字体
export
const
point_color
=
"#ff0000"
;
// * 颜色
export
const
text_default_color
=
"#01B2B9"
;
// 默认颜色
export
const
text_audit_color
=
"#FF0000"
;
// 拒绝颜色
export
const
text_return_color
=
"#007EFF"
;
// 归还颜色
export
const
text_other_color
=
"#F4B61B"
;
// 其他颜色
// 字号
export
const
first_text_size
=
20
;
// 一级字号
...
...
app/containers/common/LocalVariable.js
View file @
858e12ec
...
...
@@ -58,7 +58,7 @@ export default class LocalVariable {
static
PLAN_QUANTITY
=
'plan_quantity'
/**
* 手术
模板
名
* 手术
套包
名
*/
static
SURGICAL_TEMPLATE
=
'surgical_template_name'
...
...
@@ -78,7 +78,7 @@ export default class LocalVariable {
static
SCATTERED_EQUIPMENT
=
'scattered_equipment_name'
/**
*
单选
耗材名
* 耗材名
*/
static
SIGN_SELECT_CONSUMABLES
=
'sign_select_consumables_name'
...
...
app/containers/common/ProductModel.js
View file @
858e12ec
...
...
@@ -55,7 +55,7 @@ class ProductModel extends Component {
let
otherArr
=
[]
let
otherChildObj
=
{
category_code
:
'local_sign_items'
,
category_name
:
'
单选
耗材'
,
category_name
:
'耗材'
,
[
LocalVariable
.
SELECTED_QUQNTITY
]:
0
,
[
LocalVariable
.
SELECTED_DATA_ARR
]:
[],
[
LocalVariable
.
LOCAL_SECOND_DATA
]:
[]
...
...
@@ -92,7 +92,7 @@ class ProductModel extends Component {
// let otherArr = []
// let otherChildObj = {
// category_code: 'local_sign_items',
// category_name: '
单选
耗材',
// category_name: '耗材',
// [LocalVariable.SELECTED_QUQNTITY]: 0,
// [LocalVariable.SELECTED_DATA_ARR]: [],
// [LocalVariable.LOCAL_SECOND_DATA]: []
...
...
@@ -148,13 +148,13 @@ class ProductModel extends Component {
this
.
props
.
closeModal
(
false
);
}
//
单选
耗材清空图标回调
// 耗材清空图标回调
handleClearBack
(
item
,
index
,
superIndex
)
{
let
{
orginOptionList
,
topProcOptionList
}
=
this
.
state
console
.
log
(
'耗材😋====='
,
item
,
index
,
superIndex
)
console
.
log
(
'耗材😋====='
,
orginOptionList
)
console
.
log
(
'耗材😋====='
,
topProcOptionList
)
//
单选
耗材当前清空项
// 耗材当前清空项
let
allCountQuantity
=
0
// 初始化
topProcOptionList
.
forEach
(
function
(
orgOpts
,
orgInd
)
{
...
...
@@ -326,7 +326,7 @@ class ProductModel extends Component {
}
}
else
{
// 手术
模板
// 手术
套包
let
deleFlag
=
false
let
deleInd
=
null
console
.
log
(
'listItem[LocalVariable.SELECTED_DATA_ARR][superIndex][LocalVariable.CHILDREN_LINE_NAME][index]--'
,
listItem
[
LocalVariable
.
SELECTED_DATA_ARR
][
superIndex
][
LocalVariable
.
CHILDREN_LINE_NAME
][
index
])
...
...
@@ -480,7 +480,7 @@ class ProductModel extends Component {
// listItem[LocalVariable.SELECTED_DATA_ARR].splice(deleInd, 1)
// }
// } else {
// // 手术
模板
// // 手术
套包
// let deleFlag = false
// let deleInd = null
// // 初始化 三级
...
...
@@ -565,6 +565,7 @@ class ProductModel extends Component {
// this.closeModal()
this
.
refs
.
ClearAllModel
.
show
(
'清空当前所有数据'
)
console
.
log
(
'this--'
,
this
)
// topProcOptionList.map(function(top_item) {
// top_item[LocalVariable.SELECTED_QUQNTITY] = 0
...
...
@@ -613,18 +614,22 @@ class ProductModel extends Component {
modelClearAllCB
(
clear_flag
){
console
.
log
(
'clear_flag==='
,
clear_flag
)
let
{
orginOptionList
,
topProcOptionList
}
=
this
.
state
let
that
=
this
if
(
clear_flag
){
topProcOptionList
.
map
(
function
(
top_item
)
{
top_item
[
LocalVariable
.
SELECTED_QUQNTITY
]
=
0
top_item
[
LocalVariable
.
SELECTED_DATA_ARR
]
=
[]
})
console
.
log
(
'清空'
,
this
)
th
is
.
props
.
changeCallBack
(
topProcOptionList
)
th
at
.
props
.
changeCallBack
(
topProcOptionList
)
th
is
.
setState
({
th
at
.
setState
({
topProcOptionList
:
topProcOptionList
})
this
.
closeModal
()
setTimeout
(()
=>
{
that
.
closeModal
()
},
300
)
}
}
...
...
@@ -733,7 +738,7 @@ class ProductModel extends Component {
localBottomContData
.
push
(
sedItem
)
// if (topActiveIndex === 0) {
// // 手术
模板
// // 手术
套包
// // localBottomContData.push(...sedItem[LocalVariable.CHILDREN_LINE_NAME])
// localBottomContData.push(sedItem)
...
...
@@ -1062,7 +1067,8 @@ const styles = StyleSheet.create({
fontSize
:
14
},
edit_cont
:
{
flex
:
1
marginBottom
:
80
// flex: 1
},
edit_scroll_cont
:
{
height
:
'100%'
...
...
@@ -1088,9 +1094,7 @@ const styles = StyleSheet.create({
flexDirection
:
"row"
},
col_shpp_tit
:
{
// fontSize: second_text_size,
fontSize
:
12
,
// marginLeft: 10
},
col_shpp_clear
:
{},
list_icon
:
{
...
...
app/containers/common/listDataComponent/ChooseCardList.js
View file @
858e12ec
...
...
@@ -127,7 +127,7 @@ const styles = StyleSheet.create({
borderBottomWidth
:
4
,
borderBottomColor
:
home_background_color
,
minWidth
:
60
,
maxWidth
:
8
0
maxWidth
:
9
0
},
list_inner_act
:
{
borderBottomWidth
:
2
,
...
...
app/containers/common/listDataComponent/LoadingModel.js
View file @
858e12ec
...
...
@@ -9,7 +9,9 @@ import {
}
from
'react-native'
;
import
{
safe_view
,
promary_color
promary_color
,
title_text_color
,
text_other_color
}
from
'../../../base/BaseStyle'
;
/** 加载中 */
...
...
@@ -48,6 +50,7 @@ class LoadingModel extends Component {
<
View
style
=
{[
styles
.
loding_cont
,
style_back
]}
>
<
View
style
=
{
styles
.
loding_title
}
>
<
ActivityIndicator
size
=
{
size
?
size
:
"small"
}
color
=
{
color
?
color
:
promary_color
}
/
>
{
/* <ActivityIndicator size={size ? size : "small"} color={color ? color : title_text_color} /> */
}
<
Text
style
=
{
styles
.
tit_inner
}
>
{
title
?
title
:
this
.
state
.
title
}
<
/Text
>
<
/View
>
<
/View
>
...
...
@@ -64,7 +67,7 @@ const styles = StyleSheet.create({
},
loding_cont
:
{
flex
:
1
,
backgroundColor
:
'rgba(0, 0, 0, 0.
1
)'
,
backgroundColor
:
'rgba(0, 0, 0, 0.
3
)'
,
paddingTop
:
'55%'
,
alignItems
:
'center'
},
...
...
@@ -75,8 +78,10 @@ const styles = StyleSheet.create({
},
tit_inner
:
{
fontSize
:
16
,
// fontSize: 20,
paddingLeft
:
10
,
color
:
promary_color
// color: title_text_color
}
})
...
...
app/containers/common/listDataComponent/PageListArrow.js
View file @
858e12ec
import
React
,
{
Component
}
from
'react'
;
import
{
StyleSheet
,
Image
,
TouchableOpacity
,
View
}
from
'react-native'
;
import
{
font_family_regular
,
icon_style
,
pxSize
,
second_text_color
,
second_text_size
}
from
'../../../base/BaseStyle'
;
import
{
StyleSheet
,
Image
,
TouchableOpacity
,
View
,
Text
}
from
'react-native'
;
import
{
f
irst_text_color
,
f
ont_family_regular
,
icon_style
,
pxSize
,
second_text_color
,
second_text_size
}
from
'../../../base/BaseStyle'
;
import
{
AsteriskTextStyle
,
CellTextStyle
,
ContInputTextStyle
,
ContTextStyle
,
TitleTextStyle
}
from
'../CellTextStyle'
;
const
PropTypes
=
require
(
'prop-types'
);
...
...
@@ -18,6 +18,7 @@ class PageListArrow extends Component {
listItem
:
PropTypes
.
object
,
listTitle
:
PropTypes
.
string
,
listName
:
PropTypes
.
string
,
listValue
:
PropTypes
.
string
,
listHasArrow
:
PropTypes
.
bool
,
listOtherInput
:
PropTypes
.
string
,
otherInput
:
PropTypes
.
string
,
...
...
@@ -26,6 +27,7 @@ class PageListArrow extends Component {
inputCallBack
:
PropTypes
.
func
,
isTitInputStyle
:
PropTypes
.
bool
,
listMaxLines
:
PropTypes
.
number
,
// 文本最大行数
listIsAudio
:
PropTypes
.
bool
,
}
constructor
(
props
)
{
...
...
@@ -43,8 +45,8 @@ class PageListArrow extends Component {
render
()
{
let
{
listActOpa
,
listCallBack
,
listHasAster
,
listEditAble
,
listDefaValue
,
listItem
,
listTitle
,
listName
,
listHasArrow
,
listOtherInput
,
otherInput
,
otherInputCallBack
,
listInputPlace
,
inputCallBack
,
isTitInputStyle
,
listMaxLines
}
=
this
.
props
listName
,
list
Value
,
list
HasArrow
,
listOtherInput
,
otherInput
,
otherInputCallBack
,
listInputPlace
,
inputCallBack
,
isTitInputStyle
,
listMaxLines
,
listIsAudio
}
=
this
.
props
if
(
!
listMaxLines
){
listMaxLines
=
2
// 默认
}
...
...
@@ -68,6 +70,38 @@ class PageListArrow extends Component {
{
listHasArrow
?
<
View
style
=
{
styles
.
arr_icon_box
}
>
<
Image
source
=
{
require
(
'../../../images/arr_rig.png'
)}
style
=
{
icon_style
}
/
>
<
/View> : null
}
{
listIsAudio
?
<
View
style
=
{
styles
.
btn_radio_box
}
>
<
TouchableOpacity
activeOpacity
=
{.
8
}
style
=
{
styles
.
btn_yes
}
onPress
=
{()
=>
{
return
listCallBack
?
listCallBack
(
'Y'
)
:
''
}}
>
<
View
style
=
{
styles
.
radio_icon
}
>
{
listItem
[
listValue
]
==
'Y'
?
<
Image
style
=
{
icon_style
}
source
=
{
require
(
'../../../images/radio_yes.png'
)}
/
>
:
<
Image
style
=
{
icon_style
}
source
=
{
require
(
'../../../images/radio_no.png'
)}
/
>
}
<
/View
>
<
Text
style
=
{
styles
.
radio_txt
}
>
是
<
/Text
>
<
/TouchableOpacity
>
<
TouchableOpacity
activeOpacity
=
{.
8
}
style
=
{
styles
.
btn_no
}
onPress
=
{()
=>
{
return
listCallBack
?
listCallBack
(
'N'
)
:
''
}}
>
<
View
style
=
{
styles
.
radio_icon
}
>
{
listItem
[
listValue
]
==
'N'
?
<
Image
style
=
{
icon_style
}
source
=
{
require
(
'../../../images/radio_yes.png'
)}
/
>
:
<
Image
style
=
{
icon_style
}
source
=
{
require
(
'../../../images/radio_no.png'
)}
/
>
}
<
/View
>
<
Text
style
=
{
styles
.
radio_txt
}
>
否
<
/Text
>
<
/TouchableOpacity
>
<
/View> : nul
l
}
<
/CellTextStyle
>
<
/TouchableOpacity
>
{
(
listOtherInput
&&
listItem
[
otherInput
])
?
<
CellTextStyle
>
...
...
@@ -108,6 +142,34 @@ const styles = StyleSheet.create({
cell_input
:
{
textAlign
:
'left'
},
btn_radio_box
:
{
flexDirection
:
'row'
,
justifyContent
:
'flex-end'
,
alignItems
:
'center'
,
flex
:
1
,
paddingRight
:
20
},
btn_yes
:
{
flexDirection
:
'row'
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
paddingRight
:
16
},
btn_no
:
{
flexDirection
:
'row'
,
justifyContent
:
'center'
,
alignItems
:
'center'
},
radio_icon
:
{
width
:
pxSize
(
22
),
height
:
pxSize
(
22
),
marginRight
:
4
},
radio_txt
:
{
color
:
first_text_color
,
fontSize
:
16
,
fontFamily
:
font_family_regular
},
})
export
default
PageListArrow
;
\ No newline at end of file
app/containers/common/listDataComponent/PicTitDetaiCalcu.js
View file @
858e12ec
import
React
,
{
Component
}
from
'react'
;
import
{
StyleSheet
,
Image
,
Text
,
TouchableOpacity
,
View
}
from
'react-native'
;
import
{
connect
}
from
'react-redux'
;
import
{
first_text_color
,
font_family_medium
,
font_family_regular
,
font_family_semibold
,
home_background_color
,
icon_style
,
pxSize
,
second_text_
size
,
third_text_color
,
third_text_size
}
from
'../../../base/BaseStyle'
;
import
{
first_text_color
,
font_family_medium
,
font_family_regular
,
font_family_semibold
,
home_background_color
,
icon_style
,
pxSize
,
second_text_
color
,
second_text_size
,
text_audit_color
,
text_default_color
,
text_other_color
,
text_return_color
,
third_text_color
,
third_text_size
}
from
'../../../base/BaseStyle'
;
import
PictureZoom
from
'../../common/listDataComponent/PictureZoom'
;
const
PropTypes
=
require
(
'prop-types'
);
...
...
@@ -22,6 +22,7 @@ class PicTitDetaiCalcu extends Component {
calField
:
PropTypes
.
string
,
// 计算的字段名
titCallBack
:
PropTypes
.
func
,
// 标题回调函数
titText
:
PropTypes
.
string
,
// 标题
titTextTit
:
PropTypes
.
string
,
tipTextStr
:
PropTypes
.
string
,
tipTextStrTit
:
PropTypes
.
string
,
tipTextOne
:
PropTypes
.
string
,
...
...
@@ -89,7 +90,7 @@ class PicTitDetaiCalcu extends Component {
render
()
{
let
{
listItem
,
listIndex
,
calField
,
listStyleBox
,
listStyleTit
,
listStyleTip
,
listStyleCalBtn
,
listPicType
,
titCallBack
,
titText
,
tipTextStr
,
tipTextOne
,
tipTextTwo
,
tipTextThr
,
listImgIcon
,
listStyleImg
,
showClearIcon
,
showClearIndex
,
listCardActIndex
,
listStyleClearBtn
,
clearCallBack
,
onlyShowNum
,
onlyShowSelect
,
tipTextStrTit
,
tipTextOneTit
,
tipTextTwoTit
,
tipTextThrTit
,
listStyleClearBtn
,
clearCallBack
,
onlyShowNum
,
onlyShowSelect
,
ti
tTextTit
,
ti
pTextStrTit
,
tipTextOneTit
,
tipTextTwoTit
,
tipTextThrTit
,
global_domain_config
,
listMaxNum
}
=
this
.
props
let
{
listPicTypeArr
,
picStyleArr
}
=
this
.
state
...
...
@@ -115,6 +116,11 @@ class PicTitDetaiCalcu extends Component {
listItem
[
listImgIcon
].
map
((
iconIt
)
=>
{
cur_photos
.
push
({
url
:
global_domain_config
+
'/jeecg-boot/sys/common/view/'
+
iconIt
})
})
if
(
listItem
[
listImgIcon
].
length
===
0
){
cur_photos
[
0
]
=
(
require
(
'../../../images/not_img.png'
))
}
}
else
if
(
typeof
listItem
[
listImgIcon
]
===
'string'
){
cur_photos
[
0
]
=
{
url
:
global_domain_config
+
'/jeecg-boot/sys/common/view/'
+
listItem
[
listImgIcon
]
}
}
return
(
...
...
@@ -134,19 +140,23 @@ class PicTitDetaiCalcu extends Component {
style
=
{
styles
.
oth_box
}
>
<
Text
numberOfLines
=
{
2
}
style
=
{[
styles
.
thr_ot
,
listStyleTit
]}
>
{
listItem
[
titText
]}
{
listItem
[
titText
]
?
listItem
[
titText
]
:
''
}
{
!
listItem
[
titText
]
&&
titTextTit
?
`
${
titTextTit
}
: 空`
:
''
}
<
/Text
>
{
listItem
[
tipTextStr
]
?
<
Text
numberOfLines
=
{
2
}
style
=
{[
styles
.
ri_te_ot
,
styles
.
te_ot_str
,
listStyleTip
]}
>
{
tipTextStrTit
?
`
${
tipTextStrTit
}
:`
:
''
}{
listItem
[
tipTextStr
]
}
{
tipTextStrTit
?
<
Text
numberOfLines
=
{
2
}
style
=
{[
styles
.
ri_te_ot
,
styles
.
te_ot_str
,
listStyleTip
]}
>
{
`
${
tipTextStrTit
}
:`
}
{
listItem
[
tipTextStr
]
?
listItem
[
tipTextStr
]
:
'空'
}
<
/Text> : null
}
{
listItem
[
tipTextOne
]
?
<
Text
numberOfLines
=
{
1
}
style
=
{[
styles
.
ri_te_ot
,
listStyleTip
]}
>
{
tipTextOneTit
?
`
${
tipTextOneTit
}
:`
:
''
}{
listItem
[
tipTextOne
]}
{
tipTextOneTit
?
<
Text
numberOfLines
=
{
2
}
style
=
{[
styles
.
ri_te_ot
,
styles
.
te_ot_one
,
listStyleTip
]}
>
{
/* {tipTextOneTit ? `${tipTextOneTit}:` : ''}{listItem[tipTextOne]} */
}
{
`
${
tipTextOneTit
}
:`
}
{
listItem
[
tipTextOne
]
?
listItem
[
tipTextOne
]
:
'空'
}
<
/Text> : null
}
{
listItem
[
tipTextTwo
]
?
<
Text
numberOfLines
=
{
1
}
style
=
{[
styles
.
ri_te_ot
,
listStyleTip
]}
>
{
tipTextTwoTit
?
`
${
tipTextTwoTit
}
:`
:
''
}{
listItem
[
tipTextTwo
]}
{
tipTextTwoTit
?
<
Text
numberOfLines
=
{
2
}
style
=
{[
styles
.
ri_te_ot
,
styles
.
te_ot_two
,
listStyleTip
]}
>
{
/* {tipTextTwoTit ? `${tipTextTwoTit}:` : ''}{listItem[tipTextTwo]} */
}
{
`
${
tipTextTwoTit
}
:`
}
{
listItem
[
tipTextTwo
]
?
listItem
[
tipTextTwo
]
:
'空'
}
<
/Text> : null
}
{
listItem
[
tipTextThr
]
?
<
Text
numberOfLines
=
{
1
}
style
=
{[
styles
.
ri_te_ot
,
listStyleTip
]}
>
{
tipTextThrTit
?
`
${
tipTextThrTit
}
:`
:
''
}{
listItem
[
tipTextThr
]}
{
tipTextThrTit
?
<
Text
numberOfLines
=
{
2
}
style
=
{[
styles
.
ri_te_ot
,
styles
.
te_ot_thr
,
listStyleTip
]}
>
{
/* {tipTextThrTit ? `${tipTextThrTit}:` : ''}{listItem[tipTextThr]} */
}
{
`
${
tipTextThrTit
}
:`
}
{
listItem
[
tipTextThr
]
?
listItem
[
tipTextThr
]
:
'空'
}
<
/Text> : null
}
<
/TouchableOpacity
>
<
/View
>
...
...
@@ -219,7 +229,8 @@ const styles = StyleSheet.create({
ri_te_ot
:
{
fontSize
:
third_text_size
,
color
:
third_text_color
,
fontFamily
:
font_family_regular
fontFamily
:
font_family_regular
,
paddingBottom
:
2
},
oth_box
:
{
paddingBottom
:
2
...
...
@@ -227,18 +238,31 @@ const styles = StyleSheet.create({
thr_ot
:
{
fontFamily
:
font_family_medium
,
fontSize
:
second_text_size
,
color
:
'rgba(0, 0, 0, 0.87)'
// color: 'rgba(0, 0, 0, 0.87)'
color
:
text_default_color
,
paddingBottom
:
4
},
te_ot_str
:
{
fontFamily
:
font_family_semibold
,
color
:
'rgba(58, 58, 58, 100)'
// color: 'rgba(58, 58, 58, 100)'
color
:
text_return_color
},
te_ot_one
:{
color
:
first_text_color
},
te_ot_two
:{
color
:
first_text_color
},
te_ot_thr
:{
color
:
first_text_color
},
oth_img_box
:
{
width
:
pxSize
(
58
),
height
:
pxSize
(
58
),
justifyContent
:
'center'
,
alignItems
:
'center'
,
marginRight
:
6
marginRight
:
6
,
padding
:
6
},
round_pic
:
{
borderColor
:
'rgba(0, 0, 0, 0.12)'
,
...
...
app/containers/common/listDataComponent/PictureZoom.js
View file @
858e12ec
...
...
@@ -76,7 +76,7 @@ class PictureZoom extends Component {
<
Image
defaultSource
=
{
require
(
'../../../images/not_img.png'
)}
source
=
{{
uri
:
listImageUrls
[
listImageIndex
].
url
}}
style
=
{
[
icon_style
,
styles
.
list_item_img
]
}
style
=
{
icon_style
}
resizeMode
=
"cover"
/>
<
/TouchableOpacity
>
<
Modal
...
...
app/containers/selfOrder/SelfOrderPage.js
View file @
858e12ec
...
...
@@ -18,6 +18,10 @@ import PageListArrow from '../common/listDataComponent/PageListArrow';
import
TipInfoNeedSelect
from
'../common/listDataComponent/TipInfoNeedSelect'
;
import
LocalVariable
from
'../common/LocalVariable'
;
import
LoadingModel
from
'../common/listDataComponent/LoadingModel'
;
import
NotEnoughModel
from
'../common/NotEnoughModel'
;
import
ImagePicker
from
'react-native-image-picker'
;
import
ZoomPictureModel
from
'../common/ZoomPictureModel'
;
import
{
uploadTransImg
}
from
'../../action/TransAction'
;
class
SelfOrderPage
extends
Component
{
constructor
(
props
)
{
...
...
@@ -63,40 +67,54 @@ class SelfOrderPage extends Component {
showInput
:
false
,
inputValue
:
''
},
// {
// "id": "6",
// title: '手术名称',
// value: ''
// },
{
"id"
:
"6"
,
title
:
'手术名称'
,
value
:
''
},
{
"id"
:
"7"
,
title
:
'手术时间'
,
name
:
'请选择'
,
value
:
''
,
dateValue
:
new
Date
(),
showDatePicker
:
true
},
// {
// "id": "8",
// title: '手术类型',
// name: '请选择',
// value: '',
// },
{
"id"
:
"8"
,
title
:
'手术类型'
,
name
:
'请选择'
,
value
:
''
,
},
{
"id"
:
"9"
,
"id"
:
"7"
,
title
:
'订单类型'
,
name
:
'请选择'
,
value
:
''
},
{
"id"
:
"
10
"
,
"id"
:
"
8
"
,
title
:
'选择产品'
,
name
:
'请选择'
,
value
:
''
,
lines
:
[],
sub_lines
:
[],
replace_item_flag
:
'N'
,
// 器械包
take_cert_flag
:
'N'
// 合格证
take_cert_flag
:
'N'
// 注册证
},
{
"id"
:
"9"
,
title
:
'需要携带注册证'
,
// name: '',
value
:
''
,
isRedio
:
''
// 单选
},
{
"id"
:
"10"
,
title
:
'同意替换器械包'
,
// 同意替换同品不同器械包
// name: '',
value
:
'N'
,
isRedio
:
'N'
// 单选
},
{
"id"
:
"11"
,
...
...
@@ -109,6 +127,13 @@ class SelfOrderPage extends Component {
title
:
'还有什么要安排的,可录音备注哟!'
,
value
:
''
,
isRecode
:
true
// 录音
},
{
"id"
:
"13"
,
title
:
'添加图片'
,
value
:
''
,
isAddImage
:
true
,
// 添加图片
uploadImgArr
:
[]
// 上传后的路径
}
],
subInitListOption
:
[],
// 存储最初数据
...
...
@@ -121,10 +146,15 @@ class SelfOrderPage extends Component {
doctor_name
:
''
,
// 主治医生
surgery_name
:
''
,
// 手术名称
surgery_date
:
''
,
// 手术时间
// surgery_type_code: '', // 手术类型,用来筛选手术
模板
// surgery_type_code: '', // 手术类型,用来筛选手术
套包
order_type_code
:
''
,
// 订单类型
surgery_desc
:
''
,
// 备注信息
voice_url
:
''
,
// 录音地址
order_currency
:
'CNY'
,
Caller
:
'dingding'
,
// Caller: 'APP',
force_balance_check_flag
:
'Y'
,
// 检查缺失物料
replace_item_flag
:
'N'
,
// 器械包
take_cert_flag
:
'N'
// 合格证
},
currentItem
:
{
name
:
'请选择'
,
...
...
@@ -146,6 +176,11 @@ class SelfOrderPage extends Component {
stop
:
false
,
//录音是否停止
currentTime
:
0
,
//录音时长
localCustomersOption
:
[],
// 当前医院信息:客户名称、收单地点、收货地点、主治医生
showNotEnogPop
:
false
,
// 库存不足弹窗
not_enough_items_list
:
[],
// 库存不足数据
localPhoOption
:
[],
// 本地图片
isShowImage
:
false
,
currShowImgIndex
:
0
}
}
...
...
@@ -327,7 +362,7 @@ class SelfOrderPage extends Component {
that
.
setState
({
isSubLoding
:
false
,
lodingTitle
:
'加载中'
},()
=>
{
},
()
=>
{
that
.
changeCurrentOption
()
})
break
;
...
...
@@ -363,7 +398,7 @@ class SelfOrderPage extends Component {
that
.
setState
({
isSubLoding
:
false
,
lodingTitle
:
'提交中'
},()
=>
{
},
()
=>
{
that
.
processReturnData
()
})
},
500
)
...
...
@@ -392,7 +427,7 @@ class SelfOrderPage extends Component {
let
that
=
this
this
.
setState
({
listOptionData
:
listOptionData
.
map
((
item
,
index
)
=>
{
if
(
index
>
curIndex
&&
index
<
12
)
{
if
(
index
>
curIndex
&&
index
<
9
)
{
item
.
name
=
localOtherObj
.
name
item
.
value
=
localOtherObj
.
value
if
(
listOptionData
[
1
].
value
&&
item
.
title
==
'客户名称'
)
{
...
...
@@ -421,7 +456,7 @@ class SelfOrderPage extends Component {
let
tempTit
=
''
let
curTip
=
'未选择'
for
(
let
chIndex
in
listOptionData
)
{
if
(
chIndex
>
0
&&
chIndex
<
1
1
&&
chIndex
!=
8
if
(
chIndex
>
0
&&
chIndex
<
1
0
&&
chIndex
!=
5
&&
!
listOptionData
[
chIndex
].
value
&&
listOptionData
[
chIndex
].
name
!==
'其他'
)
{
// 不是主治医生
...
...
@@ -511,16 +546,18 @@ class SelfOrderPage extends Component {
})
}
tempOption
=
that
.
changeNameAndValue
(
currentArr
,
'customer_name'
,
'customer_code'
)
}
else
if
(
currentTitle
===
'手术类型'
)
{
let
resultArr
=
[]
selfOrderOption
.
forEach
(
item
=>
{
let
obj
=
{}
obj
.
name
=
item
.
value_name
obj
.
value
=
item
.
value_code
resultArr
.
push
(
obj
)
})
tempOption
=
[...
resultArr
]
}
else
if
(
currentTitle
===
'订单类型'
)
{
}
// else if (currentTitle === '手术类型') {
// let resultArr = []
// selfOrderOption.forEach(item => {
// let obj = {}
// obj.name = item.value_name
// obj.value = item.value_code
// resultArr.push(obj)
// })
// tempOption = [...resultArr]
// }
else
if
(
currentTitle
===
'订单类型'
)
{
tempOption
=
that
.
changeNameAndValue
(
selfOrderOption
,
'value_name'
,
'value_code'
)
}
that
.
setState
({
...
...
@@ -787,18 +824,18 @@ class SelfOrderPage extends Component {
// 手术名称 输入
handleSurNameInput
(
text
,
curData
)
{
let
{
listOptionData
}
=
this
.
state
let
that
=
this
listOptionData
.
map
(
function
(
item
)
{
if
(
item
.
title
===
curData
.
title
)
{
item
.
value
=
text
}
})
that
.
setState
({
listOptionData
:
listOptionData
},
()
=>
{
that
.
changeCanSub
()
})
//
let { listOptionData } = this.state
//
let that = this
//
listOptionData.map(function (item) {
//
if (item.title === curData.title) {
//
item.value = text
//
}
//
})
//
that.setState({
//
listOptionData: listOptionData
//
}, () => {
//
that.changeCanSub()
//
})
}
// 手术时间 点击 2020-04-23 17:41
...
...
@@ -828,6 +865,7 @@ class SelfOrderPage extends Component {
// 修改当前日期数据
dateModalCallback
(
date
,
curData
)
{
let
{
listOptionData
}
=
this
.
state
let
that
=
this
listOptionData
.
map
(
function
(
item
)
{
if
(
item
.
title
===
curData
.
title
)
{
item
.
name
=
date
...
...
@@ -835,30 +873,32 @@ class SelfOrderPage extends Component {
item
.
dateValue
=
formatStrForDate
(
date
)
}
})
th
is
.
setState
({
th
at
.
setState
({
listOptionData
:
listOptionData
},
()
=>
{
that
.
changeCanSub
()
})
}
// 手术类型 点击
handleSurTypeCheck
(
curData
)
{
let
{
props
}
=
this
let
that
=
this
if
(
this
.
judgeOrgIsNull
()
&&
this
.
judgeCustomerIsNull
())
{
that
.
setState
({
currentTitle
:
curData
.
title
,
currentItem
:
{
name
:
curData
.
name
,
value
:
curData
.
value
}
},
()
=>
{
let
params
=
{
access_token
:
props
.
token
,
value_set_code
:
'ORTHOPEDICS_PRODUCT_CLASS'
}
props
.
requestSelfSurgeryType
(
params
)
})
}
//
let { props } = this
//
let that = this
//
if (this.judgeOrgIsNull() && this.judgeCustomerIsNull()) {
//
that.setState({
//
currentTitle: curData.title,
//
currentItem: {
//
name: curData.name,
//
value: curData.value
//
}
//
}, () => {
//
let params = {
//
access_token: props.token,
//
value_set_code: 'ORTHOPEDICS_PRODUCT_CLASS'
//
}
//
props.requestSelfSurgeryType(params)
//
})
//
}
}
// 订单类型 点击
...
...
@@ -881,6 +921,28 @@ class SelfOrderPage extends Component {
}
}
// 需要携带注册证 / 自动更换同品不同器械包 点击
handleCertAndItemCheck
(
curData
,
certFlag
)
{
console
.
log
(
'更新'
,
curData
,
certFlag
)
let
{
listOptionData
}
=
this
.
state
let
that
=
this
listOptionData
.
map
(
function
(
item
)
{
if
(
item
.
title
===
curData
.
title
)
{
item
.
value
=
certFlag
}
})
that
.
setState
({
listOptionData
:
listOptionData
},
()
=>
{
that
.
changeCanSub
()
})
}
// // 自动更换同品不同器械包 点击
// handleItemCheck(curData, itemFlag) {
// console.log('更新', curData, itemFlag)
// }
// 选择产品 点击跳转
handleProductCheck
()
{
if
(
this
.
judgeOrgIsNull
())
{
...
...
@@ -889,7 +951,8 @@ class SelfOrderPage extends Component {
this
.
props
.
navigation
.
navigate
(
'ChooseProductPage'
,
{
title
:
`选择产品`
,
selfData
:
{
org_code
:
listOptionData
[
1
].
value
org_code
:
listOptionData
[
1
].
value
,
doctor_name
:
(
listOptionData
[
5
].
name
==
'其他'
||
listOptionData
[
5
].
name
==
'请选择'
)
?
listOptionData
[
5
].
inputValue
:
listOptionData
[
5
].
name
},
productCallBack
:
that
.
productCallBack
.
bind
(
that
)
})
...
...
@@ -899,21 +962,23 @@ class SelfOrderPage extends Component {
// 选择产品 回调
productCallBack
(
params
)
{
let
{
listOptionData
}
=
this
.
state
listOptionData
[
10
].
name
=
'请选择'
listOptionData
[
10
].
value
=
''
listOptionData
[
10
].
lines
=
[]
let
local_prod
=
listOptionData
[
8
]
local_prod
.
name
=
'请选择'
local_prod
.
value
=
''
local_prod
.
lines
=
[]
let
cur_params
=
params
if
(
cur_params
&&
cur_params
.
length
>
0
)
{
cur_params
.
forEach
(
loc_item
=>
{
if
(
loc_item
[
LocalVariable
.
SELECTED_QUQNTITY
]
>
0
)
{
l
istOptionData
[
10
]
.
value
+=
`【
${
loc_item
.
supplier_short_name
}
】`
l
ocal_prod
.
value
+=
`【
${
loc_item
.
supplier_short_name
}
】`
}
})
if
(
!!
l
istOptionData
[
10
]
.
value
)
{
l
istOptionData
[
10
].
name
=
listOptionData
[
10
]
.
value
l
istOptionData
[
10
]
.
lines
=
cloneObject
(
cur_params
)
if
(
!!
l
ocal_prod
.
value
)
{
l
ocal_prod
.
name
=
local_prod
.
value
l
ocal_prod
.
lines
=
cloneObject
(
cur_params
)
}
}
listOptionData
[
8
]
=
local_prod
this
.
setState
({
listOptionData
:
listOptionData
},
()
=>
{
...
...
@@ -934,6 +999,123 @@ class SelfOrderPage extends Component {
})
}
// 添加图片 点击
handleAddPicCheck
()
{
let
{
localPhoOption
,
listOptionData
}
=
this
.
state
let
{
props
}
=
this
let
that
=
this
const
options
=
{
title
:
'选择图片'
,
cancelButtonTitle
:
'取消'
,
takePhotoButtonTitle
:
'拍照'
,
chooseFromLibraryButtonTitle
:
'相册'
,
cameraType
:
'back'
,
mediaType
:
'photo'
,
videoQuality
:
'high'
,
durationLimit
:
10
,
maxWidth
:
720
,
maxHeight
:
1280
,
aspectX
:
2
,
aspectY
:
1
,
quality
:
1
,
angle
:
0
,
allowsEditing
:
false
,
noData
:
false
,
storageOptions
:
{
skipBackup
:
true
,
path
:
'WisdomTrans'
// 存储本地地址
}
};
ImagePicker
.
showImagePicker
(
options
,
async
(
res
)
=>
{
if
(
res
.
didCancel
)
{
console
.
log
(
'User cancelled photo picker'
);
}
else
if
(
res
.
error
)
{
console
.
log
(
'ImagePicker Error: '
,
res
.
error
);
if
(
res
.
error
.
indexOf
(
'Camera permissions not granted'
)
>
-
1
){
Alert
.
alert
((
'提示信息'
,
'APP需要使用相机,请打开相机权限允许APP使用'
),
[{
text
:
'设置'
,
onPress
:
()
=>
{
Linking
.
openURL
(
'app-settings:'
)
.
catch
(
err
=>
console
.
log
(
'error'
,
err
))
}
},{
text
:
'取消'
}])
}
if
(
res
.
error
.
indexOf
(
'Photo library permissions not granted'
)
>
-
1
){
Alert
.
alert
(
'提示信息'
,
'APP需要使用相册,请打开相册权限允许APP使用'
,
[{
text
:
'设置'
,
onPress
:
()
=>
{
Linking
.
openURL
(
'app-settings:'
)
.
catch
(
err
=>
console
.
log
(
'error'
,
err
))
}
},{
text
:
'取消'
}]);
}
}
else
if
(
res
.
customButton
)
{
console
.
log
(
'User tapped custom button: '
,
res
.
customButton
);
}
else
{
that
.
changeSubLoding
(
true
,
'上传中'
)
let
source
;
//保存选中的图片
if
(
Platform
.
OS
===
'android'
)
{
source
=
res
.
uri
;
}
else
{
source
=
res
.
uri
.
replace
(
'file://'
,
''
);
}
const
formData
=
new
FormData
();
let
file
=
{
uri
:
source
,
type
:
'multipart/form-data'
,
name
:
res
.
fileName
};
formData
.
append
(
'file'
,
file
);
let
params
=
{
access_token
:
props
.
token
,
formData
}
let
{
global_domain_config
}
=
props
//上传图片接口
let
imgResult
=
await
uploadTransImg
(
global_domain_config
,
params
);
console
.
log
(
'res='
,
imgResult
)
if
(
imgResult
.
error_code
==
0
)
{
that
.
changeSubLoding
(
false
)
// 提交订单
show
(
'上传成功'
);
let
{
url
}
=
imgResult
.
data
localPhoOption
.
push
(
source
);
// 本地图片地址
listOptionData
[
13
].
uploadImgArr
.
push
(
url
)
// 服务器图片地址
that
.
setState
({
localPhoOption
,
listOptionData
});
}
else
if
(
imgResult
.
error_code
==
41006
)
{
that
.
changeSubLoding
(
false
)
show
(
'登录过期,请重新登录'
);
props
.
exitLoginStatus
();
}
else
{
that
.
changeSubLoding
(
false
)
let
error_msg
=
imgResult
.
error_msg
||
imgResult
.
message
show
(
error_msg
);
}
}
})
}
// 删除单个照片 点击
handleDelPickCheck
(
item
,
index
)
{
let
{
listOptionData
,
localPhoOption
}
=
this
.
state
localPhoOption
.
splice
(
index
,
1
)
// 删除本地地址
listOptionData
[
7
].
uploadImgArr
.
splice
(
index
,
1
)
// 删除服务器地址
this
.
setState
({
listOptionData
,
localPhoOption
},
()
=>
{
show
(
'删除成功'
)
})
}
// 生成订单 点击
async
handleSubmit
()
{
this
.
changeCanSub
(
true
)
...
...
@@ -948,7 +1130,9 @@ class SelfOrderPage extends Component {
path
:
state
.
audioPath
}
let
{
global_domain_config
}
=
props
console
.
log
(
'params=='
,
params
)
let
audioResult
=
await
requestSelfAudio
(
global_domain_config
,
params
);
console
.
log
(
'res=='
,
audioResult
)
that
.
changeSubLoding
(
true
,
'上传中'
)
if
(
audioResult
.
error_code
==
0
)
{
// 提交订单
...
...
@@ -994,16 +1178,24 @@ class SelfOrderPage extends Component {
}
else
{
tempSubOption
.
doctor_name
=
state
.
listOptionData
[
5
].
value
}
tempSubOption
.
surgery_name
=
state
.
listOptionData
[
6
].
value
tempSubOption
.
surgery_date
=
state
.
listOptionData
[
7
].
value
// tempSubOption.surgery_name = state.listOptionData[6].value
tempSubOption
.
surgery_date
=
state
.
listOptionData
[
6
].
value
// tempSubOption.surgery_type_code = state.listOptionData[8].value
tempSubOption
.
order_type_code
=
state
.
listOptionData
[
9
].
value
tempSubOption
.
order_type_code
=
state
.
listOptionData
[
7
].
value
tempSubOption
.
lines
=
state
.
listOptionData
[
8
].
sub_lines
tempSubOption
.
take_cert_flag
=
state
.
listOptionData
[
9
].
value
tempSubOption
.
replace_item_flag
=
state
.
listOptionData
[
10
].
value
tempSubOption
.
surgery_desc
=
state
.
listOptionData
[
11
].
value
tempSubOption
.
voice_url
=
state
.
listOptionData
[
12
].
value
tempSubOption
.
replace_item_flag
=
state
.
listOptionData
[
10
].
replace_item_flag
tempSubOption
.
take_cert_flag
=
state
.
listOptionData
[
10
].
take_cert_flag
tempSubOption
.
Caller
=
'APP'
tempSubOption
.
lines
=
state
.
listOptionData
[
10
].
sub_lines
tempSubOption
.
image_url
=
state
.
listOptionData
[
13
].
uploadImgArr
.
join
(
','
)
// tempSubOption.replace_item_flag = state.listOptionData[10].replace_item_flag
// tempSubOption.take_cert_flag = state.listOptionData[10].take_cert_flag
let
params
=
{
access_token
:
props
.
token
,
data
:
{
...
tempSubOption
}
...
...
@@ -1016,7 +1208,8 @@ class SelfOrderPage extends Component {
getSumLinesOps
()
{
let
{
listOptionData
}
=
this
.
state
// 修改提交的行数据
let
local_lines
=
cloneObject
(
listOptionData
[
10
].
lines
)
let
local_lines
=
cloneObject
(
listOptionData
[
8
].
lines
)
let
that
=
this
let
res_lines
=
[]
let
showPackageTip
=
false
local_lines
.
forEach
(
sup_item
=>
{
...
...
@@ -1025,7 +1218,7 @@ class SelfOrderPage extends Component {
let
select_arr
=
lef_item
[
LocalVariable
.
SELECTED_DATA_ARR
]
if
(
lef_item
[
LocalVariable
.
SELECTED_QUQNTITY
]
>
0
&&
select_arr
&&
select_arr
.
length
>
0
)
{
if
(
lef_item
.
category_code
===
LocalVariable
.
SURGICAL_TEMPLATE
)
{
// 手术
模板
// 手术
套包
select_arr
.
forEach
(
sel_item
=>
{
let
template_number
=
sel_item
.
template_number
if
(
sel_item
[
LocalVariable
.
CHILDREN_LINE_NAME
]
&&
sel_item
[
LocalVariable
.
CHILDREN_LINE_NAME
].
length
>
0
)
{
...
...
@@ -1034,7 +1227,7 @@ class SelfOrderPage extends Component {
chi_item
[
LocalVariable
.
LINE_OPTIONS
].
forEach
(
lin_item
=>
{
if
(
lin_item
[
LocalVariable
.
SELECTED_DATA_ARR
]
&&
lin_item
[
LocalVariable
.
SELECTED_DATA_ARR
].
length
>
0
)
{
lin_item
[
LocalVariable
.
SELECTED_DATA_ARR
].
forEach
(
sel_item
=>
{
sel_item
[
'template_number'
]
=
template_number
// sel_item['template_number'] = template_number // 暂时不用
sel_item
[
LocalVariable
.
PLAN_QUANTITY
]
=
sel_item
[
LocalVariable
.
QUANTITY_FIELD
]
res_lines
.
push
(
sel_item
)
})
...
...
@@ -1050,7 +1243,8 @@ class SelfOrderPage extends Component {
showPackageTip
=
true
}
select_arr
.
forEach
(
sel_item
=>
{
sel_item
[
'prefer_serial_number'
]
=
sel_item
.
serial_number
// sel_item['prefer_serial_number'] = sel_item.serial_number // 暂时不用
sel_item
[
'line_remark'
]
=
sel_item
.
serial_number
sel_item
[
LocalVariable
.
PLAN_QUANTITY
]
=
sel_item
[
LocalVariable
.
QUANTITY_FIELD
]
res_lines
.
push
(
sel_item
)
})
...
...
@@ -1063,7 +1257,7 @@ class SelfOrderPage extends Component {
})
}
else
{
//
单选
耗材
// 耗材
if
(
select_arr
[
0
].
details
&&
select_arr
[
0
].
details
.
length
>
0
)
{
// 大-中-小类
select_arr
.
forEach
(
sel_item
=>
{
...
...
@@ -1086,12 +1280,46 @@ class SelfOrderPage extends Component {
})
}
})
listOptionData
[
10
].
sub_lines
=
res_lines
if
(
showPackageTip
)
{
this
.
refs
.
PackageModel
.
show
()
}
else
{
this
.
refs
.
CertModel
.
show
(
'需要携带注册证?'
)
let
line_obj
=
{}
let
end_lines
=
[]
// 汇总同类物料
res_lines
.
map
(
line_it
=>
{
if
(
!
line_obj
[
line_it
.
item_code
]){
line_obj
[
line_it
.
item_code
]
=
line_it
.
item_code
end_lines
.
push
(
line_it
)
}
else
{
end_lines
.
forEach
(
function
(
fil_li
)
{
if
(
fil_li
.
item_code
===
line_it
.
item_code
)
{
if
(
line_it
[
'line_remark'
]){
fil_li
.
line_remark
=
line_it
.
line_remark
}
fil_li
[
LocalVariable
.
QUANTITY_FIELD
]
+=
line_it
[
LocalVariable
.
QUANTITY_FIELD
]
fil_li
[
LocalVariable
.
PLAN_QUANTITY
]
=
fil_li
[
LocalVariable
.
QUANTITY_FIELD
]
}
})
}
})
end_lines
.
map
(
function
(
line_obj
,
line_ind
)
{
line_obj
[
'line_number'
]
=
line_ind
+
1
})
listOptionData
[
8
].
sub_lines
=
end_lines
that
.
setState
({
listOptionData
:
listOptionData
},()
=>
{
that
.
submitSelfOrder
()
})
// if (showPackageTip) {
// this.refs.PackageModel.show()
// } else {
// this.refs.CertModel.show('需要携带注册证?')
// }
}
// 判断组织是否为空
...
...
@@ -1120,16 +1348,31 @@ class SelfOrderPage extends Component {
processReturnData
()
{
let
{
selfOrderOption
}
=
this
.
props
let
that
=
this
if
(
selfOrderOption
&&
selfOrderOption
.
create_success
==
'Y'
)
{
if
(
selfOrderOption
)
{
if
(
selfOrderOption
.
create_success
==
'N'
)
{
// 打开库存不足弹窗
this
.
setState
({
not_enough_items_list
:
selfOrderOption
.
not_enough_items_list
},
()
=>
{
// 解决 IOS 弹窗显示问题
setTimeout
(()
=>
{
that
.
setState
({
showNotEnogPop
:
true
})
},
500
)
})
}
else
if
(
selfOrderOption
.
create_success
==
'Y'
)
{
// 打开下单成功页面
that
.
clearAllData
()
let
{
state
:
{
params
:
{
title
}
}
}
=
that
.
props
.
navigation
that
.
props
.
navigation
.
navigate
(
'SubSuccPage'
,
{
title
:
`
${
title
}
- 提交成功`
,
orderNumber
:
selfOrderOption
.
order_number
title
:
`
${
title
}
- 下单成功`
,
orderNumber
:
selfOrderOption
.
survey_collect_number
// orderNumber: selfOrderOption.order_number
})
}
}
}
// 清空数据
clearAllData
()
{
let
{
props
}
=
this
...
...
@@ -1139,22 +1382,52 @@ class SelfOrderPage extends Component {
this
.
setState
({
listOptionData
,
currentTime
:
0
,
stop
:
false
stop
:
false
,
localPhoOption
:
[]
})
}
// 提交的提示回调函数
modelPackageCertCB
(
typeName
,
nowVal
)
{
let
{
listOptionData
}
=
this
.
state
listOptionData
[
10
][
typeName
]
=
nowVal
// let { listOptionData } = this.state
// listOptionData[10][typeName] = nowVal
// this.setState({
// listOptionData: listOptionData
// })
// if (typeName === 'replace_item_flag') {
// this.refs.CertModel.show('需要携带注册证?')
// } else {
// this.submitSelfOrder()
// }
}
// 库存不足弹窗回调 -- 确定
handleNotEnoughCallBack
()
{
let
{
submitOption
}
=
this
.
state
let
that
=
this
this
.
setState
({
listOptionData
:
listOptionData
submitOption
:
{
...
submitOption
,
force_balance_check_flag
:
'N'
}
},
()
=>
{
// that.handleSubmit()
that
.
submitSelfOrder
()
})
if
(
typeName
===
'replace_item_flag'
)
{
this
.
refs
.
CertModel
.
show
(
'需要携带注册证?'
)
}
else
{
this
.
submitSelfOrder
()
}
// 库存不足弹窗关闭
handleNotEnoughCloseModal
(
show
)
{
this
.
setState
({
showNotEnogPop
:
show
})
}
// 展示/隐藏 放大图片
handleZoomPicture
(
flag
,
index
)
{
this
.
setState
({
isShowImage
:
flag
,
currShowImgIndex
:
index
||
0
})
}
// 返回备注以上的元素
...
...
@@ -1208,7 +1481,7 @@ class SelfOrderPage extends Component {
/
>
<
PageListArrow
listActOpa
=
{.
8
}
listHasAster
=
{
true
}
//
listHasAster={true}
listItem
=
{
listOptionData
[
5
]}
listName
=
{
'name'
}
listTitle
=
{
'title'
}
...
...
@@ -1218,7 +1491,7 @@ class SelfOrderPage extends Component {
otherInput
=
{
'showInput'
}
otherInputCallBack
=
{(
text
)
=>
this
.
handleDoctorInput
(
text
,
listOptionData
[
5
])}
/
>
<
PageListArrow
{
/*
<PageListArrow
listActOpa={.8}
listHasAster={true}
listItem={listOptionData[6]}
...
...
@@ -1227,14 +1500,14 @@ class SelfOrderPage extends Component {
listTitle={'title'}
inputCallBack={(text) => this.handleSurNameInput(text, listOptionData[6])}
isTitInputStyle={true}
/
>
/>
*/
}
<
PageListArrow
listActOpa
=
{.
8
}
listHasAster
=
{
true
}
listItem
=
{
listOptionData
[
7
]}
listItem
=
{
listOptionData
[
6
]}
listName
=
{
'name'
}
listTitle
=
{
'title'
}
listCallBack
=
{()
=>
this
.
handleSurDateCheck
(
listOptionData
[
7
])}
listCallBack
=
{()
=>
this
.
handleSurDateCheck
(
listOptionData
[
6
])}
listHasArrow
=
{
true
}
/
>
{
/* <PageListArrow
...
...
@@ -1249,32 +1522,51 @@ class SelfOrderPage extends Component {
<
PageListArrow
listActOpa
=
{.
8
}
listHasAster
=
{
true
}
listItem
=
{
listOptionData
[
9
]}
listItem
=
{
listOptionData
[
7
]}
listName
=
{
'name'
}
listTitle
=
{
'title'
}
listCallBack
=
{()
=>
this
.
handleOrderCheck
(
listOptionData
[
9
])}
listCallBack
=
{()
=>
this
.
handleOrderCheck
(
listOptionData
[
7
])}
listHasArrow
=
{
true
}
/
>
<
PageListArrow
listActOpa
=
{.
8
}
listHasAster
=
{
true
}
listItem
=
{
listOptionData
[
10
]}
listItem
=
{
listOptionData
[
8
]}
listName
=
{
'name'
}
listTitle
=
{
'title'
}
listCallBack
=
{()
=>
this
.
handleProductCheck
(
listOptionData
[
10
])}
listCallBack
=
{()
=>
this
.
handleProductCheck
(
listOptionData
[
8
])}
listHasArrow
=
{
true
}
listMaxLines
=
{
1
}
/
>
<
PageListArrow
listActOpa
=
{.
8
}
listHasAster
=
{
true
}
listItem
=
{
listOptionData
[
9
]}
// listName={'name'}
listTitle
=
{
'title'
}
listValue
=
{
'value'
}
listCallBack
=
{(
radioFlag
)
=>
this
.
handleCertAndItemCheck
(
listOptionData
[
9
],
radioFlag
)}
listIsAudio
=
{
true
}
/
>
<
PageListArrow
listActOpa
=
{.
8
}
listItem
=
{
listOptionData
[
10
]}
// listName={'name'}
listTitle
=
{
'title'
}
listValue
=
{
'value'
}
listCallBack
=
{(
radioFlag
)
=>
this
.
handleCertAndItemCheck
(
listOptionData
[
10
],
radioFlag
)}
listIsAudio
=
{
true
}
/
>
<
DateModel
date
=
{
listOptionData
[
7
].
dateValue
}
date
=
{
listOptionData
[
6
].
dateValue
}
closeModal
=
{(
show
)
=>
this
.
closeDateModal
(
show
)}
show
=
{
dateModelPop
}
callback
=
{(
date
)
=>
this
.
dateModalCallback
(
date
,
listOptionData
[
7
])}
callback
=
{(
date
)
=>
this
.
dateModalCallback
(
date
,
listOptionData
[
6
])}
/
>
{
this
.
renderPickerModel
()}
{
this
.
renderTipModelPackage
()}
{
this
.
renderTipModelCert
()}
{
/* {
this.renderTipModelPackage()}
{ this.renderTipModelCert()}
*/
}
<
/View
>
)
}
...
...
@@ -1380,6 +1672,88 @@ class SelfOrderPage extends Component {
)
}
// 返回添加图片
renderAddPicturesItem
()
{
let
{
state
}
=
this
return
(
<
CellTextStyle
style
=
{
list_common_item
.
consu_addpic
}
>
<
View
style
=
{
list_common_item
.
addpic_inner
}
>
<
Text
style
=
{
list_common_item
.
addpic_tit
}
>
添加图片
<
/Text
>
<
View
style
=
{
list_common_item
.
addpic_cont
}
>
{
state
.
localPhoOption
.
length
?
state
.
localPhoOption
.
map
((
item
,
index
)
=>
this
.
renderPicItem
(
item
,
index
)
)
:
null
}
<
TouchableOpacity
activeOpacity
=
{.
8
}
style
=
{
list_common_item
.
addpic_img_btn
}
onPress
=
{()
=>
this
.
handleAddPicCheck
()}
>
<
Image
style
=
{
icon_style
}
source
=
{
require
(
'../../images/add_icon_large.png'
)}
/
>
<
/TouchableOpacity
>
<
/View>
<
/View
>
<
/CellTextStyle
>
)
}
// 返回增加的图片
renderPicItem
(
item
,
index
)
{
// let cur_photos = []
return
(
<
View
style
=
{
list_common_item
.
addnew_pic_btn
}
key
=
{
index
}
>
<
TouchableOpacity
activeOpacity
=
{.
8
}
style
=
{
list_common_item
.
show_pic_btn
}
onPress
=
{()
=>
this
.
handleZoomPicture
(
true
,
index
)}
>
<
Image
style
=
{
icon_style
}
source
=
{{
uri
:
item
}}
/
>
<
/TouchableOpacity
>
<
TouchableOpacity
activeOpacity
=
{.
8
}
style
=
{
list_common_item
.
del_img_box
}
onPress
=
{(
item
,
index
)
=>
this
.
handleDelPickCheck
(
item
,
index
)}
>
<
Image
style
=
{
icon_style
}
source
=
{
require
(
'../../images/close_err_icon.png'
)}
/
>
<
/TouchableOpacity
>
<
/View
>
)
}
// 加载放大图片弹窗
renderZoomPicture
()
{
let
{
isShowImage
,
currShowImgIndex
,
listOptionData
}
=
this
.
state
let
{
global_domain_config
}
=
this
.
props
// // 测试
// let zoomImages = [{
// url: 'https://obs.uat.sfrx.guke.tech/upload/dingding/image/QDw05sTo.jpg',
// props: {
// // headers: ...
// }
// },{
// url: 'https://obs.uat.sfrx.guke.tech/upload/dingding/image/QDw05sTo.jpg',
// },{
// url: 'https://obs.uat.sfrx.guke.tech/jeecg-boot/sys/common/view/upload/dingding/image/8V4599aH.jpg'
// }]
// 正式
let
zoomImages
=
[]
listOptionData
[
13
].
uploadImgArr
.
forEach
(
item
=>
{
zoomImages
.
push
({
url
:
`
${
global_domain_config
}
/
${
item
}
`
})
})
return
(
<
ZoomPictureModel
isShowImage
=
{
isShowImage
}
currShowImgIndex
=
{
currShowImgIndex
}
zoomImages
=
{
zoomImages
}
callBack
=
{(
flag
)
=>
this
.
handleZoomPicture
(
flag
)}
><
/ZoomPictureModel
>
)
}
// 返回正在加载中
renderLodingItem
()
{
let
{
lodingTitle
,
isSubLoding
}
=
this
.
state
...
...
@@ -1409,6 +1783,21 @@ class SelfOrderPage extends Component {
)
}
// 返回库存不足弹窗
renderNotEnoughModel
()
{
let
{
not_enough_items_list
,
showNotEnogPop
}
=
this
.
state
return
(
<
SafeAreaView
style
=
{
styles
.
item_container
}
>
<
NotEnoughModel
not_enough_items_list
=
{
not_enough_items_list
}
callback
=
{()
=>
this
.
handleNotEnoughCallBack
()}
show
=
{
showNotEnogPop
}
closeModal
=
{(
show
)
=>
this
.
handleNotEnoughCloseModal
(
show
)}
/
>
<
/SafeAreaView
>
)
}
render
()
{
let
{
canSubFlag
}
=
this
.
state
let
{
navigation
}
=
this
.
props
...
...
@@ -1429,6 +1818,8 @@ class SelfOrderPage extends Component {
{
this
.
renderListItem
()}
{
this
.
renderRemarksItem
()}
{
this
.
renderRecordingItem
()}
{
this
.
renderAddPicturesItem
()}
{
this
.
renderZoomPicture
()}
<
FooterBtnStyle
style
=
{
canSubFlag
?
styles
.
sub_btn_pro
:
''
}
activeOpacity
=
{
canSubFlag
?
.
8
:
1
}
...
...
@@ -1441,6 +1832,7 @@ class SelfOrderPage extends Component {
{
this
.
renderLodingItem
()}
{
this
.
renderLodingItemNew
()}
{
this
.
renderNotEnoughModel
()
}
<
/SafeAreaView
>
<
/View
>
...
...
app/containers/selfOrder/module/ChooseProductPage.js
View file @
858e12ec
...
...
@@ -25,7 +25,7 @@ class ChooseProductPage extends Component {
selectShowPopup
:
false
,
// 共计已选弹窗
defalutLeftItem
:
[{
"category_code"
:
LocalVariable
.
SURGICAL_TEMPLATE
,
"category_name"
:
"手术
模板
"
,
"category_name"
:
"手术
套包
"
,
"cate_local_icon"
:
require
(
'../../../images/surg_temp.png'
)
},
{
"category_code"
:
LocalVariable
.
NAIL_BOX
,
...
...
@@ -162,8 +162,10 @@ class ChooseProductPage extends Component {
}
that
.
refs
.
LoadingModel
.
show
()
let
cur_org_code
=
''
let
cur_doctor_name
=
''
if
(
navigation
.
state
.
params
.
selfData
)
{
cur_org_code
=
navigation
.
state
.
params
.
selfData
.
org_code
cur_doctor_name
=
navigation
.
state
.
params
.
selfData
.
doctor_name
}
let
topItem
=
topProcOptionList
[
topActiveIndex
]
if
(
leftIndex
===
0
)
{
...
...
@@ -171,6 +173,7 @@ class ChooseProductPage extends Component {
access_token
:
token
,
org_code
:
cur_org_code
,
manufacturer_code
:
topItem
.
supplier_code
,
doctor_name
:
cur_doctor_name
}
console
.
log
(
'params='
,
params
)
let
sur_head_search
=
await
reqSurTempHeadSearch
(
global_domain_config
,
params
)
...
...
@@ -412,9 +415,8 @@ class ChooseProductPage extends Component {
// 改变弹窗后的回调
handleChangeCallBack
(
options
){
let
{
topProcOptionList
,
topActiveIndex
}
=
this
.
state
console
.
log
(
'🐯 改变后的回调 🐯====='
,
options
)
console
.
log
(
'🐯 改变后的回调 🐯====='
,
topProcOptionList
)
// console.log('🐯 改变后的回调 🐯=====', options)
// console.log('🐯 改变后的回调 🐯=====', topProcOptionList)
let
localSurgicalOpts
=
options
[
0
][
LocalVariable
.
SELECTED_DATA_ARR
]
let
localNailOpts
=
options
[
1
][
LocalVariable
.
SELECTED_DATA_ARR
]
let
localQuipmentOpts
=
options
[
2
][
LocalVariable
.
SELECTED_DATA_ARR
]
...
...
@@ -422,9 +424,7 @@ class ChooseProductPage extends Component {
let
localSignOpts
=
options
[
4
][
LocalVariable
.
SELECTED_DATA_ARR
]
topProcOptionList
.
forEach
(
function
(
top_item
,
top_index
)
{
top_item
[
LocalVariable
.
SELECTED_QUQNTITY
]
=
0
if
(
top_item
.
leftOptionList
&&
top_item
.
leftOptionList
.
length
>
0
){
top_item
.
leftOptionList
.
forEach
(
function
(
left_item
,
left_index
)
{
...
...
@@ -443,23 +443,18 @@ class ChooseProductPage extends Component {
let
cur_clear_flag
=
false
let
four_clear_flag
=
false
options
.
forEach
(
opt_obj
=>
{
if
(
opt_obj
.
category_code
===
left_item
.
category_code
// (opt_obj.category_code === LocalVariable.SURGICAL_TEMPLATE || opt_obj.category_code === LocalVariable.NAIL_BOX || opt_obj.category_code === LocalVariable.EQUIPMENT_BAG || opt_obj.category_code === LocalVariable.SCATTERED_EQUIPMENT)
){
if
(
opt_obj
.
category_code
===
left_item
.
category_code
){
cur_no_clear
=
opt_obj
[
LocalVariable
.
SELECTED_DATA_ARR
].
filter
(
fi_it
=>
{
if
(
fi_it
.
supplier_code
===
top_item
.
supplier_code
){
cur_clear_flag
=
true
}
//
if(fi_it.supplier_code === top_item.supplier_code){
//
cur_clear_flag = true
//
}
return
fi_it
.
supplier_code
===
top_item
.
supplier_code
})
if
(
opt_obj
[
LocalVariable
.
SELECTED_DATA_ARR
].
length
===
0
){
four_clear_flag
=
true
}
//
if(opt_obj[LocalVariable.SELECTED_DATA_ARR].length === 0){
//
four_clear_flag = true
//
}
}
})
console
.
log
(
'cur_no_clear---'
,
cur_no_clear
,
four_clear_flag
)
console
.
log
(
'cur_no_clear--🆚🆚-'
,
cur_clear_flag
,
top_item
.
supplier_name
,
left_item
.
category_name
)
// 清空
if
(
cur_no_clear
.
length
===
0
||
(
left_item
.
category_code
===
LocalVariable
.
SURGICAL_TEMPLATE
&&
localSurgicalOpts
.
length
===
0
)
||
...
...
@@ -467,9 +462,6 @@ class ChooseProductPage extends Component {
(
left_item
.
category_code
===
LocalVariable
.
EQUIPMENT_BAG
&&
localQuipmentOpts
.
length
===
0
)
||
(
left_item
.
category_code
===
LocalVariable
.
SCATTERED_EQUIPMENT
&&
localScatteredOpts
.
length
===
0
)
){
console
.
log
(
'cur_no_clear--- 🈳️🈳️'
,
top_item
.
supplier_name
,
left_item
.
category_name
)
left_item
[
LocalVariable
.
SELECTED_DATA_ARR
]
=
[]
left_item
[
LocalVariable
.
SELECTED_QUQNTITY
]
=
0
left_item
[
LocalVariable
.
LOCAL_SECOND_DATA
].
forEach
(
function
(
local_opts
)
{
...
...
@@ -479,15 +471,11 @@ class ChooseProductPage extends Component {
}
})
}
}
else
{
// 单选耗材
// 耗材
left_item
[
LocalVariable
.
SELECTED_DATA_ARR
]
=
[]
localSignOpts
.
forEach
((
sign_obj
,
sign_index
)
=>
{
if
(
sign_obj
.
supplier_code
===
top_item
.
supplier_code
){
sign_obj
[
LocalVariable
.
CHILDREN_LINE_NAME
].
forEach
((
si_line
,
si_ind
)
=>
{
if
(
si_line
.
left_category_code
===
left_item
.
category_code
){
left_item
[
LocalVariable
.
SELECTED_DATA_ARR
].
push
(
si_line
)
...
...
@@ -497,10 +485,7 @@ class ChooseProductPage extends Component {
}
})
left_item
[
LocalVariable
.
LOCAL_SECOND_DATA
].
forEach
(
function
(
loc_da
,
loc_ind
)
{
// loc_da[LocalVariable.QUANTITY_FIELD] = 0
if
(
left_item
[
LocalVariable
.
SELECTED_DATA_ARR
]
&&
left_item
[
LocalVariable
.
SELECTED_DATA_ARR
].
length
===
0
){
loc_da
[
LocalVariable
.
QUANTITY_FIELD
]
=
0
if
(
loc_da
.
details
){
...
...
@@ -516,7 +501,6 @@ class ChooseProductPage extends Component {
hasSignFlag
=
true
}
})
if
(
!
hasSignFlag
){
// 已清除
loc_da
[
LocalVariable
.
QUANTITY_FIELD
]
=
0
...
...
@@ -526,27 +510,15 @@ class ChooseProductPage extends Component {
})
}
}
// loc_da[LocalVariable.QUANTITY_FIELD] = 0
// if(loc_da.details){
// loc_da.details.forEach(function(det_item) {
// det_item[LocalVariable.QUANTITY_FIELD] = 0
// })
// }
}
})
}
top_item
[
LocalVariable
.
SELECTED_QUQNTITY
]
+=
left_item
[
LocalVariable
.
SELECTED_QUQNTITY
]
})
}
})
console
.
log
(
'👌👌👌 改变后的回调 👌====='
,
topProcOptionList
)
// console.log('👌👌👌 改变后的回调 👌=====', topProcOptionList)
this
.
setState
({
topProcOptionList
:
topProcOptionList
})
...
...
@@ -731,7 +703,7 @@ class ChooseProductPage extends Component {
// }
cur_sel_options
=
[{
category_name
:
'手术
模板
'
,
category_name
:
'手术
套包
'
,
category_code
:
LocalVariable
.
SURGICAL_TEMPLATE
,
[
LocalVariable
.
SELECTED_DATA_ARR
]:
[],
[
LocalVariable
.
SELECTED_QUQNTITY
]:
0
...
...
@@ -751,7 +723,7 @@ class ChooseProductPage extends Component {
[
LocalVariable
.
SELECTED_DATA_ARR
]:
[],
[
LocalVariable
.
SELECTED_QUQNTITY
]:
0
},
{
category_name
:
'
单选
耗材'
,
category_name
:
'耗材'
,
category_code
:
LocalVariable
.
SIGN_SELECT_CONSUMABLES
,
[
LocalVariable
.
SELECTED_DATA_ARR
]:
[],
[
LocalVariable
.
SELECTED_QUQNTITY
]:
0
...
...
@@ -767,7 +739,7 @@ class ChooseProductPage extends Component {
let
leftOptionList
=
top_item
.
leftOptionList
leftOptionList
.
map
(
left_item
=>
{
// let category_name = '
单选
耗材'
// let category_name = '耗材'
// let category_code = LocalVariable.SIGN_SELECT_CONSUMABLES
// if(left_item.category_code === LocalVariable.SURGICAL_TEMPLATE || left_item.category_code === LocalVariable.NAIL_BOX || left_item.category_code === LocalVariable.EQUIPMENT_BAG || left_item.category_code === LocalVariable.SCATTERED_EQUIPMENT){
// category_name = left_item.category_name
...
...
@@ -806,7 +778,7 @@ class ChooseProductPage extends Component {
}
}
if
(
!
localNotSign
)
{
//
单选
耗材
// 耗材
cur_line_obj
.
category_code
=
cur_sel_options
[
cur_sel_options
.
length
-
1
].
category_code
cur_line_obj
.
category_name
=
cur_sel_options
[
cur_sel_options
.
length
-
1
].
category_name
// cur_line_obj.left_category_code = left_item.category_code
...
...
@@ -826,10 +798,6 @@ class ChooseProductPage extends Component {
cur_sel_options
[
cur_sel_options
.
length
-
1
][
LocalVariable
.
SELECTED_DATA_ARR
].
forEach
(
function
(
sel_arr
)
{
if
(
sel_arr
.
supplier_code
===
cur_line_obj
.
supplier_code
){
sel_arr
[
LocalVariable
.
SELECTED_QUQNTITY
]
+=
cur_line_obj
[
LocalVariable
.
SELECTED_QUQNTITY
]
// console.log('add➕🏠=====',sel_arr[LocalVariable.CHILDREN_LINE_NAME])
// console.log('add➕🏠=====',cur_line_obj.supplier_name,cur_line_obj[LocalVariable.CHILDREN_LINE_NAME])
// sel_arr[LocalVariable.CHILDREN_LINE_NAME].push(...cur_line_obj[LocalVariable.CHILDREN_LINE_NAME])
let
has_line_sign
=
[]
has_line_sign
=
sel_arr
[
LocalVariable
.
CHILDREN_LINE_NAME
].
filter
((
line_item
)
=>
{
if
(
line_item
.
details
){
...
...
@@ -839,9 +807,9 @@ class ChooseProductPage extends Component {
}
})
if
(
has_line_sign
.
length
===
0
){
console
.
log
(
'add➕🏠====='
,
has_line_sign
,
has_line_sign
.
length
)
console
.
log
(
'add➕🏠====='
,
sel_arr
[
LocalVariable
.
CHILDREN_LINE_NAME
])
console
.
log
(
'add➕🏠====='
,
cur_line_obj
.
supplier_name
,
cur_line_obj
[
LocalVariable
.
CHILDREN_LINE_NAME
])
//
console.log('add➕🏠=====',has_line_sign, has_line_sign.length)
//
console.log('add➕🏠=====',sel_arr[LocalVariable.CHILDREN_LINE_NAME])
//
console.log('add➕🏠=====',cur_line_obj.supplier_name,cur_line_obj[LocalVariable.CHILDREN_LINE_NAME])
sel_arr
[
LocalVariable
.
CHILDREN_LINE_NAME
].
push
(...
cur_line_obj
[
LocalVariable
.
CHILDREN_LINE_NAME
])
}
}
...
...
@@ -854,32 +822,12 @@ class ChooseProductPage extends Component {
})
}
// let cur_obj = {
// supplier_code: top_item.category_code,
// supplier_short_name: top_item.supplier_short_name,
// supplier_name: top_item.supplier_name,
// [LocalVariable.CHILDREN_LINE_NAME]: top_item.leftOptionList.filter(fi_item => fi_item[LocalVariable.SELECTED_QUQNTITY] > 0)
// }
// }
})
// cur_sel_options = topProcOptionList[topActiveIndex].leftOptionList.filter(fi_item => fi_item[LocalVariable.SELECTED_QUQNTITY] > 0)
}
// cur_sel_options.forEach(function (curOpts) {
// curOpts[LocalVariable.SELECTED_QUQNTITY] = curOpts[LocalVariable.SELECTED_DATA_ARR].length
// })
// cur_sel_options = topProcOptionList
console
.
log
(
'传递🚢======'
,
topProcOptionList
)
console
.
log
(
'传递🚢======'
,
topActiveIndex
)
console
.
log
(
'传递🚢======'
,
cur_sel_options
)
// console.log('传递🚢======', topProcOptionList)
// console.log('传递🚢======', topActiveIndex)
// console.log('传递🚢======', cur_sel_options)
return
(
<
View
style
=
{
list_common_item
.
sub_box
}
>
...
...
app/containers/selfOrder/module/EditThirdLevelPage.js
View file @
858e12ec
...
...
@@ -9,7 +9,7 @@ import ChooseCardList from '../../common/listDataComponent/ChooseCardList';
import
PicTitDetaiCalcu
from
'../../common/listDataComponent/PicTitDetaiCalcu'
;
import
PictureZoom
from
'../../common/listDataComponent/PictureZoom'
;
import
{
cloneObject
,
show
}
from
'../../../utils/Utils'
;
import
{
reqSurTempLineSearch
,
reqNailBoxLineSearch
,
reqEquipPackageLineSearch
}
from
'../../../action/SelfAction'
;
import
{
reqSurTempLineSearch
,
reqNailBoxLineSearch
,
reqEquipPackageLineSearch
,
reqNailAndEquipSearch
}
from
'../../../action/SelfAction'
;
import
LoadingModel
from
'../../common/listDataComponent/LoadingModel'
;
import
LocalVariable
from
'../../common/LocalVariable'
;
import
{
exitLoginStatus
}
from
'../../../action/LoginAction'
;
...
...
@@ -23,9 +23,9 @@ class EditThirdLevelPage extends Component {
topActiveIndex
:
0
,
onlyShow
:
false
,
// 只展示
onlySignSelect
:
false
,
// 单选
defalutTopItem
:
[{
// 手术
模板
显示
defalutTopItem
:
[{
// 手术
套包
显示
"category_code"
:
LocalVariable
.
SIGN_SELECT_CONSUMABLES
,
"category_name"
:
"
单选
耗材"
"category_name"
:
"耗材"
},
{
"category_code"
:
LocalVariable
.
NAIL_BOX
,
"category_name"
:
"钉盒"
,
...
...
@@ -96,16 +96,32 @@ class EditThirdLevelPage extends Component {
that
.
showRrrorTip
(
sur_line_search
)
}
}
else
if
(
leftIndex
===
1
)
{
// let params = {
// access_token: token,
// nail_box_code: superItem.item_code,
// nail_box_serial_number: superItem.serial_number,
// inv_code: superItem.inv_code
// }
// let nail_line_search = await reqNailBoxLineSearch(global_domain_config, params)
let
params
=
{
access_token
:
token
,
nail_box_code
:
superItem
.
item_code
,
nail_box_serial_number
:
superItem
.
serial_number
,
inv_code
:
superItem
.
inv_code
item_code
:
superItem
.
item_code
,
serial_number
:
superItem
.
serial_number
,
inv_code
:
superItem
.
inv_code
,
nail_box_flag
:
'Y'
}
let
nail_line_search
=
await
reqNail
BoxLine
Search
(
global_domain_config
,
params
)
let
nail_line_search
=
await
reqNail
AndEquip
Search
(
global_domain_config
,
params
)
console
.
log
(
'res_line_1 : '
,
nail_line_search
)
if
(
nail_line_search
.
error_code
===
0
)
{
let
{
data
}
=
nail_line_search
if
(
data
.
segemt
&&
data
.
segemt
.
length
>
0
)
{
data
.
segemt
.
forEach
(
function
(
seg_it
)
{
if
(
seg_it
.
segment_code
==
"0"
)
{
seg_it
.
segment_name
=
"默认区域"
}
})
}
topProcOptionList
=
cloneObject
(
data
.
segemt
)
topProcOptionList
.
forEach
(
function
(
topIt
)
{
topIt
[
LocalVariable
.
LOCAL_THRID_CONT_DATA
]
=
topIt
[
'details'
]
...
...
@@ -123,22 +139,48 @@ class EditThirdLevelPage extends Component {
that
.
showRrrorTip
(
nail_line_search
)
}
}
else
if
(
leftIndex
===
2
)
{
// let params = {
// access_token: token,
// inv_code: superItem.inv_code,
// item_code: superItem.item_code,
// serial_number: superItem.serial_number,
// start_index: 1,
// limit: 1000
// }
// let equip_line_search = await reqEquipPackageLineSearch(global_domain_config, params)
let
params
=
{
access_token
:
token
,
inv_code
:
superItem
.
inv_code
,
item_code
:
superItem
.
item_code
,
serial_number
:
superItem
.
serial_number
,
start_index
:
1
,
limit
:
1000
inv_code
:
superItem
.
inv_code
,
nail_box_flag
:
'N'
}
let
equip_line_search
=
await
req
EquipPackageLine
Search
(
global_domain_config
,
params
)
let
equip_line_search
=
await
req
NailAndEquip
Search
(
global_domain_config
,
params
)
console
.
log
(
'res_line_1 : '
,
equip_line_search
)
if
(
equip_line_search
.
error_code
===
0
)
{
let
{
data
}
=
equip_line_search
data
[
LocalVariable
.
LOCAL_THRID_CONT_DATA
]
=
data
[
'package_components'
]
data
[
LocalVariable
.
SELECTED_DATA_ARR
]
=
[]
data
[
LocalVariable
.
SELECTED_QUQNTITY
]
=
0
topProcOptionList
[
0
]
=
cloneObject
(
data
)
// data[LocalVariable.LOCAL_THRID_CONT_DATA] = data['package_components']
// data[LocalVariable.SELECTED_DATA_ARR] = []
// data[LocalVariable.SELECTED_QUQNTITY] = 0
// topProcOptionList[0] = cloneObject(data)
if
(
data
.
segemt
&&
data
.
segemt
.
length
>
0
)
{
data
.
segemt
.
forEach
(
function
(
seg_it
)
{
if
(
seg_it
.
segment_code
==
"0"
)
{
seg_it
.
segment_name
=
"未分层器械"
}
else
{
seg_it
.
segment_name
=
`第
${
seg_it
.
segment_code
}
层器械`
}
})
}
topProcOptionList
=
cloneObject
(
data
.
segemt
)
topProcOptionList
.
forEach
(
function
(
topIt
)
{
topIt
[
LocalVariable
.
LOCAL_THRID_CONT_DATA
]
=
topIt
[
'details'
]
topIt
[
LocalVariable
.
SELECTED_DATA_ARR
]
=
[]
topIt
[
LocalVariable
.
SELECTED_QUQNTITY
]
=
0
})
that
.
setState
({
topProcOptionList
:
topProcOptionList
,
onlyShow
:
true
...
...
@@ -212,7 +254,6 @@ class EditThirdLevelPage extends Component {
this
.
refs
.
LoadingModel
.
hide
()
if
(
result
.
error_code
==
41006
)
{
show
(
'登录过期,请重新登录'
);
console
.
log
(
'this.props---'
,
this
.
props
)
this
.
props
.
exitLoginStatus
();
}
else
{
let
error_msg
=
result
.
error_msg
||
result
.
message
...
...
@@ -227,13 +268,8 @@ class EditThirdLevelPage extends Component {
let
curTit
=
''
,
curTopList
=
topProcOptionList
if
(
leftIndex
===
0
)
{
curTit
=
'category_name'
}
else
if
(
leftIndex
===
1
)
{
}
else
if
(
leftIndex
===
1
||
leftIndex
===
2
)
{
curTit
=
'segment_name'
if
(
curTopList
.
length
>
0
&&
curTopList
[
0
].
segment_code
===
'ALL'
)
{
curTopList
=
[]
}
}
else
if
(
leftIndex
===
2
)
{
curTopList
=
[]
}
return
(
<
ChooseCardList
...
...
@@ -297,16 +333,49 @@ class EditThirdLevelPage extends Component {
// 返回每一列元素
renderContColumnItem
(
item
,
index
)
{
let
{
onlyShow
,
onlySignSelect
}
=
this
.
state
let
{
onlyShow
,
onlySignSelect
,
topActiveIndex
,
superData
}
=
this
.
state
let
{
leftIndex
}
=
superData
let
curTit
=
''
,
curTipStr
=
''
,
curTipOne
=
''
,
curTipTwo
=
''
,
curCalField
=
''
,
curImgIcon
=
''
let
curTipStrTit
=
''
,
curTipOneTit
=
''
,
curTipTwoTit
=
''
let
curTxtTit
=
''
,
curTipStrTit
=
''
,
curTipOneTit
=
''
,
curTipTwoTit
=
''
if
(
leftIndex
===
0
){
if
(
topActiveIndex
===
0
||
topActiveIndex
===
3
)
{
curTit
=
'manufacturer_product_code'
curTipStr
=
'item_name'
curTipOne
=
'general_name'
curTipTwo
=
'specification'
curTxtTit
=
'厂家产品代码'
curTipStrTit
=
'物料名称'
curTipOneTit
=
'通用名称'
curTipTwoTit
=
'规格型号'
}
else
if
(
topActiveIndex
===
1
)
{
curTit
=
'item_name'
curTipStr
=
'general_name'
curTipOne
=
'specification'
curTipTwo
=
'item_desc
'
curTxtTit
=
'物料名称
'
curTipStrTit
=
'通用名称'
curTipOneTit
=
'规格型号'
curTipTwoTit
=
'物料说明'
}
else
if
(
topActiveIndex
===
2
)
{
curTit
=
'item_name'
curTipStr
=
'general_name'
curTxtTit
=
'物料名称'
curTipStrTit
=
'通用名称'
}
}
else
if
(
leftIndex
===
1
||
leftIndex
===
2
){
curTit
=
'manufacturer_product_code'
curTipStr
=
'item_name'
curTipOne
=
'general_name'
curTipTwo
=
'specification'
curTxtTit
=
'厂家产品代码'
curTipStrTit
=
'物料名称'
curTipOneTit
=
'通用名称'
curTipTwoTit
=
'规格型号'
}
// curTit = 'item_name'
// curTipStr = 'general_name'
// curTipOne = 'specification'
// curTipStrTit = '通用名称'
// curTipOneTit = '规格型号'
curCalField
=
LocalVariable
.
QUANTITY_FIELD
curImgIcon
=
'photos'
...
...
@@ -321,6 +390,7 @@ class EditThirdLevelPage extends Component {
tipTextStr
=
{
curTipStr
}
tipTextOne
=
{
curTipOne
}
tipTextTwo
=
{
curTipTwo
}
titTextTit
=
{
curTxtTit
}
tipTextStrTit
=
{
curTipStrTit
}
tipTextOneTit
=
{
curTipOneTit
}
tipTextTwoTit
=
{
curTipTwoTit
}
...
...
app/containers/selfOrder/module/ProductRightStyle.js
View file @
858e12ec
...
...
@@ -22,7 +22,7 @@ class ProductRightStyle extends Component {
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
rightSecondData
:
this
.
props
.
superStencilData
,
// 右侧数据-手术
模板
、螺钉盒、器械包、零散器械
rightSecondData
:
this
.
props
.
superStencilData
,
// 右侧数据-手术
套包
、螺钉盒、器械包、零散器械
rowSingleData
:
[],
// 耗材-小类
thridIsVisible
:
false
,
// 小类展示
curThridObj
:
{
...
...
@@ -66,7 +66,7 @@ class ProductRightStyle extends Component {
childrenPageCallBack
:
this
.
childrenPageCallBack
.
bind
(
this
)
// 传递函数,编辑完成时调用
})
}
else
if
(
leftIndex
>
3
)
{
//
单选
耗材 中级标题点击
// 耗材 中级标题点击
this
.
changeThrShow
(
true
,
item
,
index
)
}
}
...
...
@@ -92,7 +92,7 @@ class ProductRightStyle extends Component {
}
}
// 手术
模板
-编辑页面回调
// 手术
套包
-编辑页面回调
childrenPageCallBack
(
childData
,
index
)
{
let
{
rightSecondData
}
=
this
.
state
let
{
leftIndex
}
=
this
.
props
...
...
@@ -185,7 +185,7 @@ class ProductRightStyle extends Component {
// 计算后的回调 - 头/行
handleCalCallBack
(
item
,
index
,
dataName
,
coutFieName
)
{
// 除了
单选
耗材小类的回调
// 除了耗材小类的回调
if
(
dataName
&&
this
.
state
[
dataName
])
{
let
curDataName
=
this
.
state
[
dataName
]
curDataName
[
index
]
=
item
...
...
@@ -205,11 +205,11 @@ class ProductRightStyle extends Component {
}
}
// 返回右侧二级每一列(
单选
耗材以上)
// 返回右侧二级每一列(耗材以上)
renderSecondtem
(
item
,
index
)
{
let
{
leftIndex
}
=
this
.
props
let
curTitCallBack
=
''
,
curPlusCallBack
=
''
,
curReduceCallBack
=
''
let
curTit
=
''
,
curTipStr
=
''
,
curTipOne
=
''
,
curTipTwo
=
''
,
curTipThr
=
''
,
curTipStrTit
=
''
,
curTipOneTit
=
''
,
curTipTwoTit
=
''
,
curTipThrTit
=
''
,
curIcon
=
''
let
curTit
=
''
,
curTipStr
=
''
,
curTipOne
=
''
,
curTipTwo
=
''
,
curTipThr
=
''
,
curT
xtTit
=
''
,
curT
ipStrTit
=
''
,
curTipOneTit
=
''
,
curTipTwoTit
=
''
,
curTipThrTit
=
''
,
curIcon
=
''
let
curListMaxNum
=
''
if
(
leftIndex
===
0
)
{
curTit
=
'template_name'
...
...
@@ -217,21 +217,38 @@ class ProductRightStyle extends Component {
curTipOne
=
'doctor_name'
curTipTwo
=
'surgery_type'
curTipThr
=
'template_desc'
curTxtTit
=
'套包名称'
curTipStrTit
=
'客户'
curTipOneTit
=
'主治医生'
curTipTwoTit
=
'手术类型'
curTipThrTit
=
'模板说明'
curIcon
=
'photos'
}
else
if
(
leftIndex
===
1
||
leftIndex
===
2
||
leftIndex
===
3
)
{
}
else
if
(
leftIndex
===
1
)
{
curTit
=
'item_name'
curTipStr
=
'general_name'
curTipOne
=
'specification'
curTipTwo
=
'item_desc'
curTipTwo
=
'serial_number'
curTxtTit
=
'物料名称'
curTipStrTit
=
'通用名称'
curTipOneTit
=
'规格型号'
curTipTwoTit
=
'物料说明'
curIcon
=
'photos'
curTipTwoTit
=
'物料序列'
}
else
if
(
leftIndex
===
2
)
{
curTit
=
'item_name'
curTipStr
=
'general_name'
curTipOne
=
'serial_number'
curTxtTit
=
'物料名称'
curTipStrTit
=
'通用名称'
curTipOneTit
=
'物料序列'
}
else
if
(
leftIndex
===
3
)
{
curTit
=
'manufacturer_product_code'
curTipStr
=
'item_name'
curTipOne
=
'general_name'
curTipTwo
=
'specification'
curTxtTit
=
'厂家产品代码'
curTipStrTit
=
'物料名称'
curTipOneTit
=
'通用名称'
curTipTwoTit
=
'规格型号'
}
curIcon
=
'photos'
if
(
leftIndex
===
1
)
{
// 钉盒
curTitCallBack
=
((
item
,
index
)
=>
this
.
TitleClickEvent
(
item
,
index
))
...
...
@@ -266,6 +283,7 @@ class ProductRightStyle extends Component {
tipTextOne
=
{
curTipOne
}
tipTextTwo
=
{
curTipTwo
}
tipTextThr
=
{
curTipThr
}
titTextTit
=
{
curTxtTit
}
tipTextStrTit
=
{
curTipStrTit
}
tipTextOneTit
=
{
curTipOneTit
}
tipTextTwoTit
=
{
curTipTwoTit
}
...
...
@@ -280,7 +298,7 @@ class ProductRightStyle extends Component {
)
}
// 返回右侧元素(
单选
耗材以上)
// 返回右侧元素(耗材以上)
renderStencilStyle
()
{
let
{
rightSecondData
}
=
this
.
state
return
(
...
...
@@ -298,7 +316,7 @@ class ProductRightStyle extends Component {
)
}
//
单选
耗材 -- 小类每一列
// 耗材 -- 小类每一列
renderThridItem
(
item
,
index
)
{
return
(
<
SafeAreaView
style
=
{
styles
.
thr_container
}
key
=
{
'item_code'
+
index
}
>
...
...
@@ -307,20 +325,21 @@ class ProductRightStyle extends Component {
listIndex
=
{
index
}
calField
=
{
LocalVariable
.
QUANTITY_FIELD
}
subCalCallBack
=
{(
item
,
index
)
=>
this
.
handleCalCallBack
(
item
,
index
,
'rowSingleData'
)}
titText
=
{
'item_name'
}
tipTextStr
=
{
'general_name'
}
tipTextOne
=
{
'specification'
}
tipTextTwo
=
{
'item_desc'
}
tipTextStrTit
=
{
'通用名称'
}
tipTextOneTit
=
{
'规格型号'
}
tipTextTwoTit
=
{
'物料说明'
}
titText
=
{
'manufacturer_product_code'
}
tipTextStr
=
{
'item_name'
}
tipTextOne
=
{
'general_name'
}
tipTextTwo
=
{
'specification'
}
titTextTit
=
{
'厂家产品代码'
}
tipTextStrTit
=
{
'物料名称'
}
tipTextOneTit
=
{
'通用名称'
}
tipTextTwoTit
=
{
'规格型号'
}
listImgIcon
=
{
'photos'
}
/
>
<
/SafeAreaView
>
)
}
//
单选
耗材 -- 小类
// 耗材 -- 小类
renderThridStyle
()
{
let
{
rowSingleData
}
=
this
.
state
return
(
...
...
@@ -336,23 +355,26 @@ class ProductRightStyle extends Component {
)
}
//
单选
耗材 -- 大类每一列
// 耗材 -- 大类每一列
renderOtherListItem
(
item
,
index
)
{
let
curTit
=
''
,
curTipStr
=
''
,
curTipOne
=
''
,
curTipTwo
=
''
,
curTipStrTit
=
''
,
curTipOneTit
=
''
,
curTipTwoTit
=
''
,
curIcon
=
''
let
curTit
=
''
,
curTipStr
=
''
,
curTipOne
=
''
,
curTipTwo
=
''
,
curT
xtTit
=
''
,
curT
ipStrTit
=
''
,
curTipOneTit
=
''
,
curTipTwoTit
=
''
,
curIcon
=
''
let
curTitCallBack
=
''
,
curPlusCallBack
=
''
,
curReduceCallBack
=
''
if
(
item
[
LocalVariable
.
ONLY_TWO_LEVELS
])
{
// 两级数据
curTit
=
'item_name'
curTipStr
=
'general_name'
curTipOne
=
'specification'
curTipTwo
=
'item_desc'
curTipStrTit
=
'通用名称'
curTipOneTit
=
'规格型号'
curTipTwoTit
=
'物料说明'
curTit
=
'manufacturer_product_code'
curTipStr
=
'item_name'
curTipOne
=
'general_name'
curTipTwo
=
'specification'
curTxtTit
=
'厂家产品代码'
curTipStrTit
=
'物料名称'
curTipOneTit
=
'通用名称'
curTipTwoTit
=
'规格型号'
curIcon
=
'photos'
}
else
{
// 三级数据
curTit
=
'category_name'
curTxtTit
=
'分类名称'
curIcon
=
'category_image'
curTitCallBack
=
(
item
,
index
)
=>
this
.
TitleClickEvent
(
item
,
index
)
curPlusCallBack
=
(
item
,
index
)
=>
this
.
handleAllPlusReduce
(
item
,
index
,
true
)
curReduceCallBack
=
(
item
,
index
)
=>
this
.
handleAllPlusReduce
(
item
,
index
)
...
...
@@ -372,6 +394,7 @@ class ProductRightStyle extends Component {
tipTextStr
=
{
curTipStr
}
tipTextOne
=
{
curTipOne
}
tipTextTwo
=
{
curTipTwo
}
titTextTit
=
{
curTxtTit
}
tipTextStrTit
=
{
curTipStrTit
}
tipTextOneTit
=
{
curTipOneTit
}
tipTextTwoTit
=
{
curTipTwoTit
}
...
...
@@ -382,7 +405,7 @@ class ProductRightStyle extends Component {
)
}
//
单选
耗材 -- 大类
// 耗材 -- 大类
renderOtherStyle
()
{
let
{
rightSecondData
}
=
this
.
state
return
(
...
...
@@ -416,7 +439,7 @@ class ProductRightStyle extends Component {
}
}
//
单选
耗材 -- 三级顶部标题
// 耗材 -- 三级顶部标题
renderThrHeadStyle
()
{
let
{
thridIsVisible
,
curThridObj
}
=
this
.
state
if
(
thridIsVisible
)
{
...
...
app/containers/selfOrder/module/mock/index.js
View file @
858e12ec
export
const
leftOptionList
=
[
{
title
:
'手术
模板
'
,
title
:
'手术
套包
'
,
iconImg
:
require
(
'../../../images/surg_temp.png'
),
stencilData
:
[{
"id"
:
"0"
,
...
...
app/containers/selfOrder/module/mock/inter_mock.js
View file @
858e12ec
...
...
@@ -82,12 +82,12 @@ const inter_2 = {
}
}
// 选择产品-手术
模板
头查询接口
// 选择产品-手术
套包
头查询接口
const
inter_3
=
{
"error_code"
:
0
,
"error_msg"
:
"成功"
,
"data"
:
{
//手术
模板
//手术
套包
"surgery_template_headers"
:
[
{
"org_id"
:
""
,
...
...
@@ -134,7 +134,7 @@ const inter_3 = {
}
}
// 选择产品-手术
模板
行查询接口
// 选择产品-手术
套包
行查询接口
const
inter_4
=
{
"error_code"
:
0
,
"error_msg"
:
"成功"
,
...
...
@@ -589,6 +589,101 @@ const inter_7 = {
}
}
const
inter_77
=
//当钉盒可视化时,分区域展示
{
"error_code"
:
0
,
"error_msg"
:
"成功"
,
"data"
:
{
"segemt"
:
[
{
"details"
:
[
{
"item_code"
:
"GYSXQX01100002"
,
"quantity"
:
2
,
"category_name"
:
"一类医疗器械"
,
"category_code"
:
"12"
,
"specification"
:
""
,
"item_name"
:
"SKI膝关节器械"
,
"unit"
:
"个"
,
"category_desc"
:
"单件可重复使用的器械"
,
"general_name"
:
"膝关节手术工具"
,
"start_date"
:
"2020-10-27T18:46:21"
},
{
"item_code"
:
"GYSXQX02200003"
,
"quantity"
:
3
,
"category_name"
:
"一类医疗器械"
,
"category_code"
:
"12"
,
"specification"
:
""
,
"item_name"
:
"HARMONY全髋器械"
,
"unit"
:
"个"
,
"category_desc"
:
"单件可重复使用的器械"
,
"general_name"
:
"人工髋关节手术工具(箱)"
,
"start_date"
:
"2020-10-27T18:46:21"
},
{
"item_code"
:
"GYSXQX00330004"
,
"quantity"
:
2
,
"category_name"
:
"一类医疗器械"
,
"category_code"
:
"12"
,
"specification"
:
""
,
"item_name"
:
"SKII膝关节器械"
,
"unit"
:
"个"
,
"category_desc"
:
"单件可重复使用的器械"
,
"general_name"
:
"膝关节手术工具"
,
"start_date"
:
"2020-10-27T18:46:21"
}
],
"segment_name"
:
"膝关节手术工具"
,
"segment_code"
:
"HA3.5PZ"
},
{
"details"
:
[
{
"item_code"
:
"GYSXQX01100012"
,
"quantity"
:
2
,
"category_name"
:
"一类医疗器械"
,
"category_code"
:
"12"
,
"specification"
:
""
,
"item_name"
:
"SKI膝关节器械"
,
"unit"
:
"个"
,
"category_desc"
:
"单件可重复使用的器械"
,
"general_name"
:
"膝关节手术工具"
,
"start_date"
:
"2020-10-27T18:46:21"
},
{
"item_code"
:
"GYSXQX02200023"
,
"quantity"
:
3
,
"category_name"
:
"一类医疗器械"
,
"category_code"
:
"12"
,
"specification"
:
""
,
"item_name"
:
"HARMONY全髋器械"
,
"unit"
:
"个"
,
"category_desc"
:
"单件可重复使用的器械"
,
"general_name"
:
"人工髋关节手术工具(箱)"
,
"start_date"
:
"2020-10-27T18:46:21"
},
{
"item_code"
:
"GYSXQX00330034"
,
"quantity"
:
2
,
"category_name"
:
"一类医疗器械"
,
"category_code"
:
"12"
,
"specification"
:
""
,
"item_name"
:
"SKII膝关节器械"
,
"unit"
:
"个"
,
"category_desc"
:
"单件可重复使用的器械"
,
"general_name"
:
"膝关节手术工具"
,
"start_date"
:
"2020-10-27T18:46:21"
}
],
"segment_name"
:
"人工髋关节手术工具(箱)"
,
"segment_code"
:
"HB3.5PT"
}
]
}
}
// 选择产品-零散器械查询接口
const
inter_8
=
{
"error_code"
:
0
,
...
...
@@ -724,6 +819,7 @@ export default {
inter_6
,
inter_66
,
inter_7
,
inter_77
,
inter_8
,
inter_9
,
inter_99
...
...
app/containers/selfOrder/module/mock/sen_mock.js
View file @
858e12ec
...
...
@@ -42,7 +42,7 @@ const localTestImageUrls = [{
url
:
'https://obs.uat.sfrx.guke.tech/jeecg-boot/sys/common/view/files/20200921/3_1599645381259_1600672375488.jpg'
}]
// 手术
模板
-- 大类
// 手术
套包
-- 大类
const
localSingleSeleHead_1
=
[{
"id"
:
"0"
,
title
:
'华森标准PFNA'
,
...
...
@@ -426,7 +426,7 @@ const localSingleRowData = [
// 左侧分类数据
const
localLeftOption
=
[
{
title
:
'手术
模板
'
,
title
:
'手术
套包
'
,
iconImg
:
require
(
'../../../../images/surg_temp.png'
),
localSecondData
:
localSingleSeleHead_1
},
...
...
@@ -800,12 +800,12 @@ const localBottomOption = [
]
},
{
title
:
'
单选
耗材'
,
title
:
'耗材'
,
iconImg
:
localTestImageUrls
,
localBottomContData
:
[
{
"id"
:
"0"
,
title
:
'已选
单选
耗材11'
,
title
:
'已选耗材11'
,
tip1
:
'型号:10'
,
tip2
:
'物料代码:JUST00000104'
,
value
:
0
,
...
...
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