Commit a21209f4 by Denglingling

增加【转单】相关的 store 文件

parent 43f89082
import { PostRequest, GetRequest } from '../network/RequestUtils'; import { PostRequest, GetRequest, UploadRequest } from '../network/RequestUtils';
import { show } from '../utils/Utils'; import { show, getUrlParams } from '../utils/Utils';
import { exitLoginStatus } from './LoginAction'; 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
}
}
...@@ -43,3 +43,14 @@ export const HISTOR_ORDER_SEARCH_NO = "HISTOR_ORDER_SEARCH_NO" ...@@ -43,3 +43,14 @@ 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_DOING = "HISTOR_ORDER_SEARCH_DOING"
export const HISTOR_ORDER_SEARCH_SUCCESS = "HISTOR_ORDER_SEARCH_SUCCESS" export const HISTOR_ORDER_SEARCH_SUCCESS = "HISTOR_ORDER_SEARCH_SUCCESS"
export const HISTOR_ORDER_SEARCH_FAILURE = "HISTOR_ORDER_SEARCH_FAILURE" 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
...@@ -74,7 +74,7 @@ class HeadBackItem extends Component { ...@@ -74,7 +74,7 @@ class HeadBackItem extends Component {
onPress={() => this.goLogin()} onPress={() => this.goLogin()}
> >
<View style={styles.back_rig_style}> <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> </View>
</TouchableOpacity> </TouchableOpacity>
: null : null
...@@ -126,8 +126,8 @@ const styles = StyleSheet.create({ ...@@ -126,8 +126,8 @@ const styles = StyleSheet.create({
paddingRight: 20 paddingRight: 20
}, },
back_rig_style: { back_rig_style: {
width: pxSize(20), width: pxSize(26),
height: pxSize(20) height: pxSize(26)
} }
}) })
......
...@@ -32,6 +32,17 @@ import { connect } from 'react-redux'; ...@@ -32,6 +32,17 @@ import { connect } from 'react-redux';
import { AudioRecorder, AudioUtils } from 'react-native-audio'; import { AudioRecorder, AudioUtils } from 'react-native-audio';
import Sound from 'react-native-sound'; import Sound from 'react-native-sound';
import DialogModel from '../common/DialogModel'; import DialogModel from '../common/DialogModel';
import {
requestTransOrganizations,
requestTransSurgeryHospital,
requestTransTargetOrderInfo,
getTransDetailOption,
requestTransAudio,
requestTransDetails,
uploadTransImg,
requestTransSumbit,
setTransInitData
} from '../../action/TransAction';
class EquipConsuPage extends Component { class EquipConsuPage extends Component {
constructor(props) { constructor(props) {
...@@ -42,50 +53,37 @@ class EquipConsuPage extends Component { ...@@ -42,50 +53,37 @@ class EquipConsuPage extends Component {
{ {
"id": "0", "id": "0",
title: '销售员', title: '销售员',
name: '蔡妍', name: '',
value: 'caiyan', value: ''
isPicker: false,
select: false,
isEditable: false // 不可编辑
}, },
{ {
"id": "1", "id": "1",
title: '组织', title: '组织',
name: '请选择', name: '请选择',
value: '', value: ''
isPicker: true,
select: false
}, },
{ {
"id": "2", "id": "2",
title: '手术医院', title: '手术医院',
name: '请选择', name: '请选择',
value: '', value: ''
isPicker: true,
select: false
}, },
{ {
"id": "3", "id": "3",
title: '目标订单信息', title: '目标订单信息',
name: '请选择', name: '请选择',
value: '', value: ''
isPicker: true,
select: false
}, },
{ {
"id": "4", "id": "4",
title: '备注', title: '备注',
value: '', value: '',
isPicker: false,
select: false,
isRemark: true // 备注 isRemark: true // 备注
}, },
{ {
"id": "5", "id": "5",
title: '还有什么要安排的,可录音备注哟!', title: '还有什么要安排的,可录音备注哟!',
value: '', value: '',
isPicker: false,
select: false,
isRecode: true // 录音 isRecode: true // 录音
}, },
{ {
...@@ -93,36 +91,33 @@ class EquipConsuPage extends Component { ...@@ -93,36 +91,33 @@ class EquipConsuPage extends Component {
title: '耗材明细', title: '耗材明细',
btnTit: '+添加转单申请明细', btnTit: '+添加转单申请明细',
value: '', value: '',
isPicker: false,
select: false,
isJumpSubPage: true, // 跳转子页 isJumpSubPage: true, // 跳转子页
isShowSub: true, // 是否展示子项 isShowSub: true, // 是否展示子项
subOption: [{ subOption: [{
title: '人工髋关节假体-JS-HB ||| 人工髋关节假体-JS-HB', item_name: '人工髋关节假体-JS-HB ||| 人工髋关节假体-JS-HB',
orderNumber: 'SC20200506000006, SC20200506000006' serial_number: 'SC20200506000006, SC20200506000006'
},{ },{
title: '人工髋关节假体-JS-22 ||| 人工髋关节假体-JS-HB', item_name: '人工髋关节假体-JS-22 ||| 人工髋关节假体-JS-HB',
orderNumber: 'SC20200506000006, SC20200506000006' serial_number: 'SC20200506000006, SC20200506000006'
},{ },{
title: '人工髋关节假体-JS-33 ||| 人工髋关节假体-JS-HB', item_name: '人工髋关节假体-JS-33 ||| 人工髋关节假体-JS-HB',
orderNumber: 'SC20200506000006, SC20200506000006' serial_number: 'SC20200506000006, SC20200506000006'
},{ },{
title: '人工髋关节假体-JS-44 ||| 人工髋关节假体-JS-HB', item_name: '人工髋关节假体-JS-44 ||| 人工髋关节假体-JS-HB',
orderNumber: 'SC20200506000006, SC20200506000006' serial_number: 'SC20200506000006, SC20200506000006'
},{ },{
title: '人工髋关节假体-JS-5 ||| 人工髋关节假体-JS-HB', item_name: '人工髋关节假体-JS-5 ||| 人工髋关节假体-JS-HB',
orderNumber: 'SC20200506000006, SC20200506000006' serial_number: 'SC20200506000006, SC20200506000006'
}] }]
}, },
{ {
"id": "7", "id": "7",
title: '添加照片', title: '添加照片',
value: '', value: '',
isPicker: false,
select: false,
isAddImage: true // 添加图片 isAddImage: true // 添加图片
} }
], ],
subInitListOption: [], // 提交成功后,初始化当前数据
submitOption: { // 提交的信息 submitOption: { // 提交的信息
// seller_code: '', // 用户名username // seller_code: '', // 用户名username
// org_code: '', // 组织 // org_code: '', // 组织
...@@ -175,6 +170,9 @@ class EquipConsuPage extends Component { ...@@ -175,6 +170,9 @@ class EquipConsuPage extends Component {
stop: false, //录音是否停止 stop: false, //录音是否停止
currentTime: 0, //录音时长 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 { ...@@ -549,10 +547,10 @@ class EquipConsuPage extends Component {
return( return(
<View style={list_common_item.con_de_sub}> <View style={list_common_item.con_de_sub}>
<Text style={list_common_item.de_sub_tit}> <Text style={list_common_item.de_sub_tit}>
{index+1}{ item.title } {index+1}{ item.item_name }
</Text> </Text>
<Text style={list_common_item.de_tip}> <Text style={list_common_item.de_tip}>
{ item.orderNumber } { item.serial_number }
</Text> </Text>
</View> </View>
) )
...@@ -668,14 +666,34 @@ const mapStateToProps = (state) => { ...@@ -668,14 +666,34 @@ const mapStateToProps = (state) => {
userInfo: state.login.userInfo, userInfo: state.login.userInfo,
token: state.login.token, token: state.login.token,
loginState: state.login.loginState, 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) => { const mapDispatchToProps = (dispatch) => {
return { return {
// requestQuickOrganizations: (params) => { exitLoginStatus: () => {
// dispatch(requestQuickOrganizations(params)) 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))
},
} }
} }
......
...@@ -5,6 +5,7 @@ import quick from './module/quick'; ...@@ -5,6 +5,7 @@ import quick from './module/quick';
import selfOrder from './module/selfOrder'; import selfOrder from './module/selfOrder';
import equip from './module/equip'; import equip from './module/equip';
import histor from './module/histor'; import histor from './module/histor';
import trans from './module/trans';
const loginConfig = { const loginConfig = {
key: 'login', key: 'login',
...@@ -41,12 +42,20 @@ const historConfig = { ...@@ -41,12 +42,20 @@ const historConfig = {
blackList: [] blackList: []
} }
const transConfig = {
key: 'trans',
storage,
debug: false,
blackList: []
}
const rootReducer = { const rootReducer = {
login: persistReducer(loginConfig,login), login: persistReducer(loginConfig,login),
selfOrder: persistReducer(selfConfig,selfOrder), selfOrder: persistReducer(selfConfig,selfOrder),
quick: persistReducer(quickConfig,quick), quick: persistReducer(quickConfig,quick),
equip: persistReducer(equipConfig,equip), equip: persistReducer(equipConfig,equip),
histor: persistReducer(historConfig, histor), histor: persistReducer(historConfig, histor),
trans: persistReducer(transConfig, trans),
} }
export default rootReducer; export default rootReducer;
\ No newline at end of file
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment