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
a21209f4
authored
Jun 13, 2020
by
Denglingling
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
增加【转单】相关的 store 文件
parent
43f89082
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
344 additions
and
46 deletions
app/action/TransAction.js
app/base/ActionTypes.js
app/containers/common/HeadBackItem.js
app/containers/transOrder/TransOrderPage.js
app/images/exit_icon_2.png
app/reducers/index.js
app/reducers/module/trans.js
app/action/TransAction.js
View file @
a21209f4
import
{
PostRequest
,
GetRequest
}
from
'../network/RequestUtils'
;
import
{
show
}
from
'../utils/Utils'
;
import
{
PostRequest
,
GetRequest
,
UploadRequest
}
from
'../network/RequestUtils'
;
import
{
show
,
getUrlParams
}
from
'../utils/Utils'
;
import
{
exitLoginStatus
}
from
'./LoginAction'
;
// import { SELF_ORDER_LIST_DOING, SELF_ORDER_LIST_SUCCESS, SELF_ORDER_LIST_FAILURE } from '../base/ActionTypes';
import
{
TRANS_ORDER_LIST_DOING
,
TRANS_ORDER_LIST_SUCCESS
,
TRANS_ORDER_LIST_FAILURE
,
TRANS_SUBMIT_DOING
,
TRANS_SUBMIT_SUCCESS
,
TRANS_SUBMIT_FAILURE
,
TRANS_INIT_DATA
,
GET_TRANS_DETAIL_OPTION
}
from
'../base/ActionTypes'
;
// 获取组织 params={access_token:''}
export
function
requestTransOrganizations
(
params
)
{
return
(
dispatch
,
getState
)
=>
{
dispatch
(
requestListDataing
());
let
{
global_domain_config
}
=
getState
().
login
GetRequest
(
global_domain_config
,
getUrlParams
(
'/authorized_inventory/search'
,
params
))
.
then
(
res
=>
{
if
(
res
.
error_code
==
0
)
{
let
{
data
:
{
organizations
}
}
=
res
dispatch
(
requestListDataSuccess
(
organizations
));
}
else
if
(
res
.
error_code
===
41006
)
{
show
(
'登录过期,请重新登录'
);
dispatch
(
exitLoginStatus
());
}
else
{
let
error_msg
=
res
.
error_msg
||
res
.
message
show
(
error_msg
);
dispatch
(
requestListDataFail
());
}
})
.
catch
(
err
=>
{
console
.
log
(
'------err--====requestTransOrganizations----'
,
Object
.
keys
(
err
),
err
)
show
(
err
.
error
);
dispatch
(
requestListDataFail
());
})
}
}
// 获取手术医院 params={access_token:'', org_code:'', seller_code:''}
export
function
requestTransSurgeryHospital
(
params
)
{
return
(
dispatch
,
getState
)
=>
{
dispatch
(
requestListDataing
());
let
{
global_domain_config
}
=
getState
().
login
GetRequest
(
global_domain_config
,
getUrlParams
(
'/sale/seller_customer/search'
,
params
))
.
then
(
res
=>
{
if
(
res
.
error_code
==
0
)
{
let
{
data
:
{
customers
}
}
=
res
dispatch
(
requestListDataSuccess
(
customers
));
}
else
if
(
res
.
error_code
===
41006
)
{
show
(
'登录过期,请重新登录'
);
dispatch
(
exitLoginStatus
());
}
else
{
let
error_msg
=
res
.
error_msg
||
res
.
message
show
(
error_msg
);
dispatch
(
requestListDataFail
());
}
})
.
catch
(
err
=>
{
console
.
log
(
'------err--====requestTransSurgeryHospital----'
,
Object
.
keys
(
err
),
err
)
show
(
err
.
error
);
dispatch
(
requestListDataFail
());
})
}
}
// 获取目标订单信息 params={access_token: '', org_code: '', seller_code: '', customer_code: '', collect_header_status: 'COLLECTING_WAITING_CONFIRM,CONFIRM_COLLECT,COLLECTED_WAITING_CONFIRMED,APPROVED,COLLECTED'}
export
function
requestTransTargetOrderInfo
(
params
)
{
return
(
dispatch
,
getState
)
=>
{
dispatch
(
requestListDataing
());
let
{
global_domain_config
}
=
getState
().
login
GetRequest
(
global_domain_config
,
getUrlParams
(
'/surgery/collect_order/search'
,
params
))
.
then
(
res
=>
{
if
(
res
.
error_code
==
0
)
{
// 待确认!!!!!!!????
let
{
data
:
{
surgery_collect_headers
}
}
=
res
dispatch
(
requestListDataSuccess
(
surgery_collect_headers
));
}
else
if
(
res
.
error_code
===
41006
)
{
show
(
'登录过期,请重新登录'
);
dispatch
(
exitLoginStatus
());
}
else
{
let
error_msg
=
res
.
error_msg
||
res
.
message
show
(
error_msg
);
dispatch
(
requestListDataFail
());
}
})
.
catch
(
err
=>
{
console
.
log
(
'------err--====requestTransTargetOrderInfo----'
,
Object
.
keys
(
err
),
err
)
show
(
err
.
error
);
dispatch
(
requestListDataFail
());
})
}
}
function
requestListDataing
()
{
return
{
type
:
TRANS_ORDER_LIST_DOING
}
}
function
requestListDataSuccess
(
data
)
{
return
{
type
:
TRANS_ORDER_LIST_SUCCESS
,
rawData
:
data
}
}
function
requestListDataFail
()
{
return
{
type
:
TRANS_ORDER_LIST_FAILURE
}
}
// 获取当前临时存储的明细
export
function
getTransDetailOption
(
data
)
{
return
{
type
:
GET_TRANS_DETAIL_OPTION
,
rawData
:
data
}
}
// 上传语音
export
const
requestTransAudio
=
async
(
global_domain_config
,
params
)
=>
{
let
{
access_token
,
path
}
=
params
let
formData
=
new
FormData
()
let
soundPath
=
`file://
${
path
}
`
let
fileName
=
path
.
substring
(
path
.
lastIndexOf
(
'/'
)
+
1
,
path
.
length
)
let
file
=
{
uri
:
soundPath
,
type
:
"multipart/form-data"
,
name
:
fileName
}
formData
.
append
(
'file'
,
file
)
return
await
UploadRequest
(
global_domain_config
,
getUrlParams
(
'/dingding/upload_media'
,
{
access_token
}),
formData
)
}
// 获取消耗明细 params={access_token:'', org_code: '', surgery_collect_number: '', item_name: '', serial_number: '', seller_name: '', surgery_name: ''}
export
const
requestTransDetails
=
async
(
global_domain_config
,
params
)
=>
{
return
await
GetRequest
(
global_domain_config
,
getUrlParams
(
'/transferSurOrder/sur_order_transfer_line_search'
,
params
))
}
// 图片上传
export
const
uploadTransImg
=
async
(
global_domain_config
,
params
)
=>
{
let
{
access_token
,
formData
}
=
params
return
await
UploadRequest
(
global_domain_config
,
getUrlParams
(
'/dingding/upload_media'
,
{
access_token
}),
formData
)
}
// 提交数据
export
function
requestTransSumbit
({
access_token
,
...
params
})
{
return
(
dispatch
,
getState
)
=>
{
dispatch
(
requestSubmiting
());
let
{
global_domain_config
}
=
getState
().
login
PostRequest
(
global_domain_config
,
getUrlParams
(
'/transferSurOrder/sur_order_transfer/create'
,
{
access_token
:
access_token
}),
params
)
.
then
(
res
=>
{
if
(
res
.
error_code
==
0
)
{
dispatch
(
requestSubmitSuccess
(
res
));
}
else
if
(
res
.
error_code
===
41006
)
{
show
(
'登录过期,请重新登录'
);
dispatch
(
exitLoginStatus
());
}
else
{
let
error_msg
=
res
.
error_msg
||
res
.
message
show
(
error_msg
);
dispatch
(
requestSubmitFail
());
}
})
.
catch
(
err
=>
{
console
.
log
(
'------err--====requestTransSumbit----'
,
Object
.
keys
(
err
),
err
)
show
(
err
.
error
);
dispatch
(
requestSubmitFail
());
})
}
}
function
requestSubmiting
()
{
return
{
type
:
TRANS_SUBMIT_DOING
}
}
function
requestSubmitSuccess
(
data
)
{
return
{
type
:
TRANS_SUBMIT_SUCCESS
,
rawData
:
data
}
}
function
requestSubmitFail
()
{
return
{
type
:
TRANS_SUBMIT_FAILURE
}
}
// 初始化数据
export
function
setTransInitData
()
{
return
{
type
:
TRANS_INIT_DATA
}
}
app/base/ActionTypes.js
View file @
a21209f4
...
...
@@ -42,4 +42,15 @@ export const GET_SUB_DETAIL_OPTION = "GET_SUB_DETAIL_OPTION"
export
const
HISTOR_ORDER_SEARCH_NO
=
"HISTOR_ORDER_SEARCH_NO"
export
const
HISTOR_ORDER_SEARCH_DOING
=
"HISTOR_ORDER_SEARCH_DOING"
export
const
HISTOR_ORDER_SEARCH_SUCCESS
=
"HISTOR_ORDER_SEARCH_SUCCESS"
export
const
HISTOR_ORDER_SEARCH_FAILURE
=
"HISTOR_ORDER_SEARCH_FAILURE"
\ No newline at end of file
export
const
HISTOR_ORDER_SEARCH_FAILURE
=
"HISTOR_ORDER_SEARCH_FAILURE"
//-----------transfer order search---------------------
export
const
TRANS_ORDER_LIST_NO
=
"TRANS_ORDER_LIST_NO"
export
const
TRANS_ORDER_LIST_DOING
=
"TRANS_ORDER_LIST_DOING"
export
const
TRANS_ORDER_LIST_SUCCESS
=
"TRANS_ORDER_LIST_SUCCESS"
export
const
TRANS_ORDER_LIST_FAILURE
=
"TRANS_ORDER_LIST_FAILURE"
export
const
TRANS_SUBMIT_NO
=
"TRANS_SUBMIT_NO"
export
const
TRANS_SUBMIT_DOING
=
"TRANS_SUBMIT_DOING"
export
const
TRANS_SUBMIT_SUCCESS
=
"TRANS_SUBMIT_SUCCESS"
export
const
TRANS_SUBMIT_FAILURE
=
"TRANS_SUBMIT_FAILURE"
export
const
TRANS_INIT_DATA
=
"TRANS_INIT_DATA"
export
const
GET_TRANS_DETAIL_OPTION
=
"GET_TRANS_DETAIL_OPTION"
\ No newline at end of file
app/containers/common/HeadBackItem.js
View file @
a21209f4
...
...
@@ -74,7 +74,7 @@ class HeadBackItem extends Component {
onPress
=
{()
=>
this
.
goLogin
()}
>
<
View
style
=
{
styles
.
back_rig_style
}
>
<
Image
source
=
{
require
(
'../../images/exit_icon.png'
)}
style
=
{
icon_style
}
/
>
<
Image
source
=
{
require
(
'../../images/exit_icon
_2
.png'
)}
style
=
{
icon_style
}
/
>
<
/View
>
<
/TouchableOpacity
>
:
null
...
...
@@ -126,8 +126,8 @@ const styles = StyleSheet.create({
paddingRight
:
20
},
back_rig_style
:
{
width
:
pxSize
(
2
0
),
height
:
pxSize
(
2
0
)
width
:
pxSize
(
2
6
),
height
:
pxSize
(
2
6
)
}
})
...
...
app/containers/transOrder/TransOrderPage.js
View file @
a21209f4
...
...
@@ -32,6 +32,17 @@ import { connect } from 'react-redux';
import
{
AudioRecorder
,
AudioUtils
}
from
'react-native-audio'
;
import
Sound
from
'react-native-sound'
;
import
DialogModel
from
'../common/DialogModel'
;
import
{
requestTransOrganizations
,
requestTransSurgeryHospital
,
requestTransTargetOrderInfo
,
getTransDetailOption
,
requestTransAudio
,
requestTransDetails
,
uploadTransImg
,
requestTransSumbit
,
setTransInitData
}
from
'../../action/TransAction'
;
class
EquipConsuPage
extends
Component
{
constructor
(
props
)
{
...
...
@@ -42,50 +53,37 @@ class EquipConsuPage extends Component {
{
"id"
:
"0"
,
title
:
'销售员'
,
name
:
'蔡妍'
,
value
:
'caiyan'
,
isPicker
:
false
,
select
:
false
,
isEditable
:
false
// 不可编辑
name
:
''
,
value
:
''
},
{
"id"
:
"1"
,
title
:
'组织'
,
name
:
'请选择'
,
value
:
''
,
isPicker
:
true
,
select
:
false
value
:
''
},
{
"id"
:
"2"
,
title
:
'手术医院'
,
name
:
'请选择'
,
value
:
''
,
isPicker
:
true
,
select
:
false
value
:
''
},
{
"id"
:
"3"
,
title
:
'目标订单信息'
,
name
:
'请选择'
,
value
:
''
,
isPicker
:
true
,
select
:
false
value
:
''
},
{
"id"
:
"4"
,
title
:
'备注'
,
value
:
''
,
isPicker
:
false
,
select
:
false
,
isRemark
:
true
// 备注
},
{
"id"
:
"5"
,
title
:
'还有什么要安排的,可录音备注哟!'
,
value
:
''
,
isPicker
:
false
,
select
:
false
,
isRecode
:
true
// 录音
},
{
...
...
@@ -93,36 +91,33 @@ class EquipConsuPage extends Component {
title
:
'耗材明细'
,
btnTit
:
'+添加转单申请明细'
,
value
:
''
,
isPicker
:
false
,
select
:
false
,
isJumpSubPage
:
true
,
// 跳转子页
isShowSub
:
true
,
// 是否展示子项
subOption
:
[{
titl
e
:
'人工髋关节假体-JS-HB ||| 人工髋关节假体-JS-HB'
,
orderN
umber
:
'SC20200506000006, SC20200506000006'
item_nam
e
:
'人工髋关节假体-JS-HB ||| 人工髋关节假体-JS-HB'
,
serial_n
umber
:
'SC20200506000006, SC20200506000006'
},{
titl
e
:
'人工髋关节假体-JS-22 ||| 人工髋关节假体-JS-HB'
,
orderN
umber
:
'SC20200506000006, SC20200506000006'
item_nam
e
:
'人工髋关节假体-JS-22 ||| 人工髋关节假体-JS-HB'
,
serial_n
umber
:
'SC20200506000006, SC20200506000006'
},{
titl
e
:
'人工髋关节假体-JS-33 ||| 人工髋关节假体-JS-HB'
,
orderN
umber
:
'SC20200506000006, SC20200506000006'
item_nam
e
:
'人工髋关节假体-JS-33 ||| 人工髋关节假体-JS-HB'
,
serial_n
umber
:
'SC20200506000006, SC20200506000006'
},{
titl
e
:
'人工髋关节假体-JS-44 ||| 人工髋关节假体-JS-HB'
,
orderN
umber
:
'SC20200506000006, SC20200506000006'
item_nam
e
:
'人工髋关节假体-JS-44 ||| 人工髋关节假体-JS-HB'
,
serial_n
umber
:
'SC20200506000006, SC20200506000006'
},{
titl
e
:
'人工髋关节假体-JS-5 ||| 人工髋关节假体-JS-HB'
,
orderN
umber
:
'SC20200506000006, SC20200506000006'
item_nam
e
:
'人工髋关节假体-JS-5 ||| 人工髋关节假体-JS-HB'
,
serial_n
umber
:
'SC20200506000006, SC20200506000006'
}]
},
{
"id"
:
"7"
,
title
:
'添加照片'
,
value
:
''
,
isPicker
:
false
,
select
:
false
,
isAddImage
:
true
// 添加图片
}
],
subInitListOption
:
[],
// 提交成功后,初始化当前数据
submitOption
:
{
// 提交的信息
// seller_code: '', // 用户名username
// org_code: '', // 组织
...
...
@@ -174,7 +169,10 @@ class EquipConsuPage extends Component {
pause
:
false
,
//录音是否暂停
stop
:
false
,
//录音是否停止
currentTime
:
0
,
//录音时长
// localCustomersOption: [], // 当前医院信息:手术医院、收单地点、收货地点、主治医生
// localCustomersOption: [], // 当前医院信息:手术医院、收单地点、收货地点、主治医生
localPhoOption
:
[
// 添加的图片
// 'file:///storage/emulated/0/Pictures/images/image-ea1a24b8-2d12-468f-ac23-e9aed20c6d31.jpg'
],
}
}
...
...
@@ -549,10 +547,10 @@ class EquipConsuPage extends Component {
return
(
<
View
style
=
{
list_common_item
.
con_de_sub
}
>
<
Text
style
=
{
list_common_item
.
de_sub_tit
}
>
{
index
+
1
}
:
{
item
.
titl
e
}
{
index
+
1
}
:
{
item
.
item_nam
e
}
<
/Text
>
<
Text
style
=
{
list_common_item
.
de_tip
}
>
{
item
.
orderN
umber
}
{
item
.
serial_n
umber
}
<
/Text
>
<
/View
>
)
...
...
@@ -668,14 +666,34 @@ const mapStateToProps = (state) => {
userInfo
:
state
.
login
.
userInfo
,
token
:
state
.
login
.
token
,
loginState
:
state
.
login
.
loginState
,
trans_list_status
:
state
.
trans
.
trans_list_status
,
submit_trans_order_status
:
state
.
trans
.
submit_trans_order_status
,
transOrderOption
:
state
.
trans
.
transOrderOption
,
subTransDetOption
:
state
.
trans
.
subTransDetOption
,
// 器械消耗对应 subDetOption
global_domain_config
:
state
.
login
.
global_domain_config
}
}
const
mapDispatchToProps
=
(
dispatch
)
=>
{
return
{
// requestQuickOrganizations: (params) => {
// dispatch(requestQuickOrganizations(params))
// },
exitLoginStatus
:
()
=>
{
dispatch
(
exitLoginStatus
())
},
requestTransOrganizations
:
(
params
)
=>
{
dispatch
(
requestTransOrganizations
(
params
))
},
requestTransSurgeryHospital
:
(
params
)
=>
{
dispatch
(
requestTransSurgeryHospital
(
params
))
},
requestTransTargetOrderInfo
:
(
params
)
=>
{
dispatch
(
requestTransTargetOrderInfo
(
params
))
},
requestTransSumbit
:
(
params
)
=>
{
dispatch
(
requestTransSumbit
(
params
))
},
setTransInitData
:
(
params
)
=>
{
dispatch
(
setTransInitData
(
params
))
},
}
}
...
...
app/images/exit_icon_2.png
0 → 100644
View file @
a21209f4
442 Bytes
app/reducers/index.js
View file @
a21209f4
...
...
@@ -5,6 +5,7 @@ import quick from './module/quick';
import
selfOrder
from
'./module/selfOrder'
;
import
equip
from
'./module/equip'
;
import
histor
from
'./module/histor'
;
import
trans
from
'./module/trans'
;
const
loginConfig
=
{
key
:
'login'
,
...
...
@@ -41,12 +42,20 @@ const historConfig = {
blackList
:
[]
}
const
transConfig
=
{
key
:
'trans'
,
storage
,
debug
:
false
,
blackList
:
[]
}
const
rootReducer
=
{
login
:
persistReducer
(
loginConfig
,
login
),
selfOrder
:
persistReducer
(
selfConfig
,
selfOrder
),
quick
:
persistReducer
(
quickConfig
,
quick
),
equip
:
persistReducer
(
equipConfig
,
equip
),
histor
:
persistReducer
(
historConfig
,
histor
),
trans
:
persistReducer
(
transConfig
,
trans
),
}
export
default
rootReducer
;
\ No newline at end of file
app/reducers/module/trans.js
View file @
a21209f4
import
{
TRANS_ORDER_LIST_NO
,
TRANS_ORDER_LIST_DOING
,
TRANS_ORDER_LIST_SUCCESS
,
TRANS_ORDER_LIST_FAILURE
,
TRANS_SUBMIT_NO
,
TRANS_SUBMIT_DOING
,
TRANS_SUBMIT_SUCCESS
,
TRANS_SUBMIT_FAILURE
,
TRANS_INIT_DATA
,
GET_TRANS_DETAIL_OPTION
}
from
'../../base/ActionTypes'
;
// 转单状态
const
defaultState
=
{
trans_list_status
:
TRANS_ORDER_LIST_NO
,
// 获取数据状态
submit_trans_order_status
:
TRANS_SUBMIT_NO
,
// 提交订单状态
transOrderOption
:
{},
// 当前选择器临时存储数据
subTransDetOption
:
[],
// 选择的消耗明细数据
}
export
default
trans
=
(
state
=
defaultState
,
action
)
=>
{
switch
(
action
.
type
)
{
case
TRANS_ORDER_LIST_DOING
:
return
Object
.
assign
({},
state
,
{
trans_list_status
:
TRANS_ORDER_LIST_DOING
});
case
TRANS_ORDER_LIST_SUCCESS
:
return
Object
.
assign
({},
state
,
{
trans_list_status
:
TRANS_ORDER_LIST_SUCCESS
,
transOrderOption
:
action
.
rawData
})
case
TRANS_ORDER_LIST_FAILURE
:
return
Object
.
assign
({},
state
,
{
trans_list_status
:
TRANS_ORDER_LIST_FAILURE
})
case
TRANS_SUBMIT_DOING
:
return
Object
.
assign
({},
state
,
{
submit_trans_order_status
:
TRANS_SUBMIT_DOING
});
case
TRANS_SUBMIT_SUCCESS
:
return
Object
.
assign
({},
state
,
{
submit_trans_order_status
:
TRANS_SUBMIT_SUCCESS
,
transOrderOption
:
action
.
rawData
// transOrderOption: {} // 清空当前临时数据
})
case
TRANS_SUBMIT_FAILURE
:
return
Object
.
assign
({},
state
,
{
submit_trans_order_status
:
TRANS_SUBMIT_FAILURE
})
case
TRANS_INIT_DATA
:
return
Object
.
assign
({},
state
,
{
// 初始化数据
trans_list_status
:
TRANS_ORDER_LIST_NO
,
submit_trans_order_status
:
TRANS_SUBMIT_NO
,
transOrderOption
:
{},
subTransDetOption
:
[]
})
case
GET_TRANS_DETAIL_OPTION
:
return
Object
.
assign
({},
state
,
{
subTransDetOption
:
action
.
rawData
})
default
:
return
state
;
}
}
\ No newline at end of file
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