Commit cf69922c by Denglingling

【器械消耗】需要的组件,以及需要存储到 store 的数据配置

parent f11e0158
import { PostRequest, GetRequest } from '../network/RequestUtils'; import { PostRequest, GetRequest, UploadRequest } from '../network/RequestUtils';
import { show, getUrlParams } from '../utils/Utils'; import { show, getUrlParams } from '../utils/Utils';
import { exitLoginStatus } from './LoginAction'; import { exitLoginStatus } from './LoginAction';
import { import {
...@@ -7,7 +7,9 @@ import { ...@@ -7,7 +7,9 @@ import {
EQUIP_CONSU_LIST_FAILURE, EQUIP_CONSU_LIST_FAILURE,
EQUIP_SUBMIT_DOING, EQUIP_SUBMIT_DOING,
EQUIP_SUBMIT_SUCCESS, EQUIP_SUBMIT_SUCCESS,
EQUIP_SUBMIT_FAILURE EQUIP_SUBMIT_FAILURE,
GET_SUB_DETAIL_OPTION,
EQUIP_INIT_DATA
} from '../base/ActionTypes'; } from '../base/ActionTypes';
...@@ -112,21 +114,25 @@ function requestListDataFail() { ...@@ -112,21 +114,25 @@ function requestListDataFail() {
} }
} }
// 获取当前临时存储的明细
export function getSubdetailOption(data) {
console.log('data====!!!!', data)
return {
type: GET_SUB_DETAIL_OPTION,
rawData: data
}
}
// 获取消耗明细 params={access_token:'', surgery_collect_number:''} // 获取消耗明细 params={access_token:'', surgery_collect_number:''}
export const requestEquipDetails = async (params) => { export const requestEquipDetails = async (params) => {
console.log('----requestEquipDetails----', params) console.log('----requestEquipDetails----', params)
return await GetRequest(getUrlParams('/surgery/collected_order_line/search', params)) return await GetRequest(getUrlParams('/surgery/collected_order_line/search', params))
} }
// 图片上传 -- 具体需要修改!!!!! // 图片上传
export const requestQuickAudio = async (params) => { export const uploadEquipImg = async (params) => {
let { access_token, path } = params let { access_token, formData } = params
let formData = new FormData() console.log('--------', access_token, 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)
console.log('--------', file, formData)
return await UploadRequest(getUrlParams('/dingding/upload_media', { access_token }), formData) return await UploadRequest(getUrlParams('/dingding/upload_media', { access_token }), formData)
} }
......
...@@ -7,7 +7,8 @@ import { ...@@ -7,7 +7,8 @@ import {
QUICK_ORDER_LIST_FAILURE, QUICK_ORDER_LIST_FAILURE,
QUICK_SUBMIT_DOING, QUICK_SUBMIT_DOING,
QUICK_SUBMIT_SUCCESS, QUICK_SUBMIT_SUCCESS,
QUICK_SUBMIT_FAILURE QUICK_SUBMIT_FAILURE,
QUICK_INIT_DATA
} from '../base/ActionTypes'; } from '../base/ActionTypes';
// 获取组织 params={access_token:''} // 获取组织 params={access_token:''}
......
import { PostRequest, GetRequest } from '../network/RequestUtils'; import { PostRequest, GetRequest } from '../network/RequestUtils';
import { show } from '../utils/Utils'; import { show } 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 {
SELF_ORDER_LIST_DOING,
SELF_ORDER_LIST_SUCCESS,
SELF_ORDER_LIST_FAILURE,
SELF_INIT_DATA
} from '../base/ActionTypes';
// 获取组织 // 获取组织
// export const requestOrganizations = async (params) => { // export const requestOrganizations = async (params) => {
......
...@@ -15,6 +15,7 @@ export const SELF_SUBMIT_NO = "SELF_SUBMIT_NO" ...@@ -15,6 +15,7 @@ export const SELF_SUBMIT_NO = "SELF_SUBMIT_NO"
export const SELF_SUBMIT_DOING = "SELF_SUBMIT_DOING" export const SELF_SUBMIT_DOING = "SELF_SUBMIT_DOING"
export const SELF_SUBMIT_SUCCESS = "SELF_SUBMIT_SUCCESS" export const SELF_SUBMIT_SUCCESS = "SELF_SUBMIT_SUCCESS"
export const SELF_SUBMIT_FAILURE = "SELF_SUBMIT_FAILURE" export const SELF_SUBMIT_FAILURE = "SELF_SUBMIT_FAILURE"
export const SELF_INIT_DATA = "SELF_INIT_DATA"
//-----------quick order--------------------- //-----------quick order---------------------
export const QUICK_ORDER_LIST_NO = "QUICK_ORDER_LIST_NO" export const QUICK_ORDER_LIST_NO = "QUICK_ORDER_LIST_NO"
export const QUICK_ORDER_LIST_DOING = "QUICK_ORDER_LIST_DOING" export const QUICK_ORDER_LIST_DOING = "QUICK_ORDER_LIST_DOING"
...@@ -24,6 +25,7 @@ export const QUICK_SUBMIT_NO = "QUICK_SUBMIT_NO" ...@@ -24,6 +25,7 @@ export const QUICK_SUBMIT_NO = "QUICK_SUBMIT_NO"
export const QUICK_SUBMIT_DOING = "QUICK_SUBMIT_DOING" export const QUICK_SUBMIT_DOING = "QUICK_SUBMIT_DOING"
export const QUICK_SUBMIT_SUCCESS = "QUICK_SUBMIT_SUCCESS" export const QUICK_SUBMIT_SUCCESS = "QUICK_SUBMIT_SUCCESS"
export const QUICK_SUBMIT_FAILURE = "QUICK_SUBMIT_FAILURE" export const QUICK_SUBMIT_FAILURE = "QUICK_SUBMIT_FAILURE"
export const QUICK_INIT_DATA = "QUICK_INIT_DATA"
//-----------equipment consumption--------------------- //-----------equipment consumption---------------------
export const EQUIP_CONSU_LIST_NO = "EQUIP_CONSU_LIST_NO" export const EQUIP_CONSU_LIST_NO = "EQUIP_CONSU_LIST_NO"
export const EQUIP_CONSU_LIST_DOING = "EQUIP_CONSU_LIST_DOING" export const EQUIP_CONSU_LIST_DOING = "EQUIP_CONSU_LIST_DOING"
...@@ -32,4 +34,6 @@ export const EQUIP_CONSU_LIST_FAILURE = "EQUIP_CONSU_LIST_FAILURE" ...@@ -32,4 +34,6 @@ export const EQUIP_CONSU_LIST_FAILURE = "EQUIP_CONSU_LIST_FAILURE"
export const EQUIP_SUBMIT_NO = "EQUIP_SUBMIT_NO" export const EQUIP_SUBMIT_NO = "EQUIP_SUBMIT_NO"
export const EQUIP_SUBMIT_DOING = "EQUIP_SUBMIT_DOING" export const EQUIP_SUBMIT_DOING = "EQUIP_SUBMIT_DOING"
export const EQUIP_SUBMIT_SUCCESS = "EQUIP_SUBMIT_SUCCESS" export const EQUIP_SUBMIT_SUCCESS = "EQUIP_SUBMIT_SUCCESS"
export const EQUIP_SUBMIT_FAILURE = "EQUIP_SUBMIT_FAILURE" export const EQUIP_SUBMIT_FAILURE = "EQUIP_SUBMIT_FAILURE"
\ No newline at end of file export const EQUIP_INIT_DATA = "EQUIP_INIT_DATA"
export const GET_SUB_DETAIL_OPTION = "GET_SUB_DETAIL_OPTION"
\ No newline at end of file
...@@ -55,7 +55,7 @@ export const font_family_light = "PingFangSC-Light"; ...@@ -55,7 +55,7 @@ export const font_family_light = "PingFangSC-Light";
export const header_height = 58 export const header_height = 58
export const icon_style = { export const icon_style = {
resizeMode: 'contain', resizeMode: 'cover',
width: '100%', width: '100%',
height: '100%' height: '100%'
} }
...@@ -306,12 +306,36 @@ export const list_common_item = { ...@@ -306,12 +306,36 @@ export const list_common_item = {
padding: 20, padding: 20,
marginTop: 10, marginTop: 10,
flexDirection: 'row', flexDirection: 'row',
flex: 1 flex: 1,
flexWrap: 'wrap'
}, },
addpic_img_btn: { addpic_img_btn: {
width: pxSize(68), width: pxSize(64),
height: pxSize(68), height: pxSize(64),
marginRight: 20 marginTop: -3,
marginLeft: -4,
marginRight: 16
},
addnew_pic_btn: {
width: pxSize(64),
height: pxSize(64),
marginRight: 16,
marginBottom: 16
},
show_pic_btn: {
width: pxSize(57),
height: pxSize(57),
borderWidth: 1,
borderColor: '#DDDDDD',
borderRadius: 6,
padding: 1
},
del_img_box: {
position: 'absolute',
right: -4,
top: -10,
width: pxSize(20),
height: pxSize(20)
}, },
// 二级页面-两个提交按钮 // 二级页面-两个提交按钮
sub_box: { sub_box: {
......
...@@ -87,6 +87,7 @@ const styles = StyleSheet.create({ ...@@ -87,6 +87,7 @@ const styles = StyleSheet.create({
}, },
image_box: { image_box: {
width: 14, width: 14,
height: 14,
marginLeft: 6 marginLeft: 6
}, },
call_box: { call_box: {
......
...@@ -52,38 +52,44 @@ class DetailsModel extends Component { ...@@ -52,38 +52,44 @@ class DetailsModel extends Component {
contOptionData: [ // 底部产品内容 contOptionData: [ // 底部产品内容
{ {
"id": "0", "id": "0",
title: '人工髋关节假体-JS-HB ||| T', item_name: '人工髋关节假体-JS-HB ||| T',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false select: false
}, },
{ {
"id": "1", "id": "1",
title: '规格:JS-CGO PE 10 11', item_name: '规格:JS-CGO PE 10 11',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false select: false
}, },
{ {
"id": "2", "id": "2",
title: '规格:JS-CGO PE 10 22', item_name: '规格:JS-CGO PE 10 22',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false select: false
}, },
{ {
"id": "3", "id": "3",
title: '规格:JS-CGO PE 10 33', item_name: '规格:JS-CGO PE 10 33',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false select: false
}, },
{ {
"id": "4", "id": "4",
title: '规格:JS-CGO PE 10 44', item_name: '规格:JS-CGO PE 10 44',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false select: false
}, },
{ {
"id": "5", "id": "5",
title: '规格:JS-CGO PE 10 55', item_name: '规格:JS-CGO PE 10 55',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false select: false
} }
] ]
...@@ -209,9 +215,9 @@ class DetailsModel extends Component { ...@@ -209,9 +215,9 @@ class DetailsModel extends Component {
<View style={styles.ri_inner}> <View style={styles.ri_inner}>
<View style={styles.ri_text_box}> <View style={styles.ri_text_box}>
<Text style={styles.ri_te_tit}> <Text style={styles.ri_te_tit}>
{ item.title } { item.item_name } - {item.specification}
</Text> </Text>
<Text style={[styles.ri_te_ot, styles.thr_ot]}>序列号:{item.tip1}</Text> <Text style={[styles.ri_te_ot, styles.thr_ot]}>序列号:{item.serial_number}</Text>
</View> </View>
<View style={styles.ri_num_box}> <View style={styles.ri_num_box}>
<TouchableOpacity <TouchableOpacity
......
...@@ -14,6 +14,10 @@ import { ...@@ -14,6 +14,10 @@ import {
} from '../../../base/BaseStyle'; } from '../../../base/BaseStyle';
import StatusBarView from '../../common/StatusBarView'; import StatusBarView from '../../common/StatusBarView';
import HeadBackItem from '../../common/HeadBackItem'; import HeadBackItem from '../../common/HeadBackItem';
import { show } from '../../../utils/Utils';
import { getSubdetailOption } from '../../../action/EquipAction';
import { connect } from 'react-redux';
class FillUnitPricePage extends Component { class FillUnitPricePage extends Component {
constructor(props) { constructor(props) {
...@@ -22,37 +26,87 @@ class FillUnitPricePage extends Component { ...@@ -22,37 +26,87 @@ class FillUnitPricePage extends Component {
unitPriceOption: [ unitPriceOption: [
{ {
"id": "2", "id": "2",
title: '人工髋关节假体-JS-HB ||| T3', item_name: '人工髋关节假体-JS-HB ||| T',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true select: true
},{ },{
"id": "3", "id": "3",
title: '人工髋关节假体-JS-HB ||| T4', item_name: '人工髋关节假体-JS-HB ||| T4',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true select: true
},{ },{
"id": "4", "id": "4",
title: '人工髋关节假体-JS-HB ||| T5', item_name: '人工髋关节假体-JS-HB ||| T5',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true select: true
},{ },{
"id": "5", "id": "5",
title: '人工髋关节假体-JS-HB ||| T6', item_name: '人工髋关节假体-JS-HB ||| T6',
tip1: '2001202001001774', specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true select: true
} }
] ]
} }
} }
componentDidMount() {
this.getLocalSelectedData()
}
// 获取选择的数据
getLocalSelectedData() {
let {localSelectOption} = this.props.navigation.state.params
console.log('-------localSelectOption--------', localSelectOption)
this.setState({
unitPriceOption: localSelectOption
})
}
// 每一个元素输入单价 // 每一个元素输入单价
handleItemPriceInput(text, index) { handleItemPriceInput(text, index) {
console.warn('单价------input:', text, index) console.warn('单价------input:', text, index, typeof Number(text))
let {unitPriceOption} = this.state
unitPriceOption[index].local_add_price = Number(text)
this.setState({
unitPriceOption
})
} }
// 确定单价 点击 // 确定单价 点击
handleSubmit() { handleSubmit() {
console.warn('确定单价------check:') console.warn('确定单价------check:')
let {unitPriceOption} = this.state
let canSubFlag = true
let {props} = this
for(let i in unitPriceOption) {
if(!unitPriceOption[i].local_add_price) {
show('请填写完单价')
canSubFlag = false
break
}
unitPriceOption[i].sale_price = unitPriceOption[i].local_add_price
}
if(canSubFlag) {
this.setState({
unitPriceOption
})
console.log('unitPriceOption====', unitPriceOption)
// 存储于store中,并跳转
props.getSubdetailOption(unitPriceOption)
props.navigation.navigate('EquipConsuPage', { title: '器械消耗' })
}
} }
// 返回主要元素 // 返回主要元素
...@@ -60,7 +114,7 @@ class FillUnitPricePage extends Component { ...@@ -60,7 +114,7 @@ class FillUnitPricePage extends Component {
return( return(
<ScrollView <ScrollView
style={styles.cons_cont_scroll} style={styles.cons_cont_scroll}
showsVerticalScrollIndicator={false} // showsVerticalScrollIndicator={false}
> >
<FlatList <FlatList
style={styles.cons_cont} style={styles.cons_cont}
...@@ -76,13 +130,17 @@ class FillUnitPricePage extends Component { ...@@ -76,13 +130,17 @@ class FillUnitPricePage extends Component {
// 返回每一列元素 // 返回每一列元素
renderSubListItem(item, index) { renderSubListItem(item, index) {
console.log('item, index---',item, index) console.log('item, index---',item, index)
let price = ''
if(item.local_add_price) {
price = String(item.local_add_price)
}
return( return(
<View style={styles.cons_sub_list}> <View style={styles.cons_sub_list}>
<Text style={styles.cont_tit}> <Text style={styles.cont_tit}>
{item.title} {item.item_name}
</Text> </Text>
<Text style={styles.cont_ser}> <Text style={styles.cont_ser}>
序列号:{item.tip1} 序列号:{item.serial_number}
</Text> </Text>
<View style={styles.cont_pri}> <View style={styles.cont_pri}>
<Text style={styles.pri_icon}>*</Text> <Text style={styles.pri_icon}>*</Text>
...@@ -98,7 +156,8 @@ class FillUnitPricePage extends Component { ...@@ -98,7 +156,8 @@ class FillUnitPricePage extends Component {
underlineColorAndroid = {'transparent'} underlineColorAndroid = {'transparent'}
ref = {textInput => this.TextInput = textInput} ref = {textInput => this.TextInput = textInput}
onChangeText={(text) => this.handleItemPriceInput(text, index)} onChangeText={(text) => this.handleItemPriceInput(text, index)}
defaultValue={item.price} defaultValue={price}
keyboardType={'numeric'}
/> />
</TouchableOpacity> </TouchableOpacity>
</View> </View>
...@@ -191,7 +250,10 @@ const styles = StyleSheet.create({ ...@@ -191,7 +250,10 @@ const styles = StyleSheet.create({
fontSize: second_text_size, fontSize: second_text_size,
color: promary_text_color color: promary_text_color
}, },
cont_pri_box: {}, cont_pri_box: {
flex: 1,
paddingRight: 20
},
pri_txt: { pri_txt: {
fontFamily: font_family_medium, fontFamily: font_family_medium,
fontSize: second_text_size, fontSize: second_text_size,
...@@ -205,5 +267,21 @@ const styles = StyleSheet.create({ ...@@ -205,5 +267,21 @@ const styles = StyleSheet.create({
borderRadius: 10 borderRadius: 10
} }
}) })
const mapStateToProps = (state) => {
return {
// userInfo: state.login.userInfo,
// token: state.login.token,
// loginState: state.login.loginState
}
}
const mapDispatchToProps = (dispatch) => {
return {
getSubdetailOption: (data) => {
dispatch(getSubdetailOption(data))
}
}
}
export default FillUnitPricePage; export default connect(mapStateToProps, mapDispatchToProps)(FillUnitPricePage);
\ No newline at end of file \ No newline at end of file
...@@ -6,14 +6,17 @@ import { ...@@ -6,14 +6,17 @@ import {
EQUIP_SUBMIT_NO, EQUIP_SUBMIT_NO,
EQUIP_SUBMIT_DOING, EQUIP_SUBMIT_DOING,
EQUIP_SUBMIT_SUCCESS, EQUIP_SUBMIT_SUCCESS,
EQUIP_SUBMIT_FAILURE EQUIP_SUBMIT_FAILURE,
EQUIP_INIT_DATA,
GET_SUB_DETAIL_OPTION
} from '../../base/ActionTypes'; } from '../../base/ActionTypes';
// 器械消耗状态 // 器械消耗状态
const defaultState = { const defaultState = {
equip_list_status: EQUIP_CONSU_LIST_NO, // 获取数据状态 equip_list_status: EQUIP_CONSU_LIST_NO, // 获取数据状态
submit_equip_order_status: EQUIP_SUBMIT_NO, // 提交订单状态 submit_equip_order_status: EQUIP_SUBMIT_NO, // 提交订单状态
equipOrderOption: {} // 当前临时存储数据 equipOrderOption: {}, // 当前选择器临时存储数据
subDetOption: {}, // 选择的消耗明细数据
} }
export default equip = (state = defaultState, action) => { export default equip = (state = defaultState, action) => {
...@@ -45,6 +48,19 @@ export default equip = (state = defaultState, action) => { ...@@ -45,6 +48,19 @@ export default equip = (state = defaultState, action) => {
return Object.assign({}, state, { return Object.assign({}, state, {
submit_equip_order_status: EQUIP_SUBMIT_FAILURE submit_equip_order_status: EQUIP_SUBMIT_FAILURE
}) })
case EQUIP_INIT_DATA:
return Object.assign({}, state, {
// 初始化数据
equip_list_status: EQUIP_CONSU_LIST_NO,
submit_equip_order_status: EQUIP_SUBMIT_NO,
equipOrderOption: {},
subDetOption: {}
})
case GET_SUB_DETAIL_OPTION:
console.log('----??----存储啦吗??', action.rawData)
return Object.assign({}, state, {
subDetOption: action.rawData
})
default: default:
return state; return state;
} }
......
...@@ -6,7 +6,8 @@ import { ...@@ -6,7 +6,8 @@ import {
QUICK_SUBMIT_NO, QUICK_SUBMIT_NO,
QUICK_SUBMIT_DOING, QUICK_SUBMIT_DOING,
QUICK_SUBMIT_SUCCESS, QUICK_SUBMIT_SUCCESS,
QUICK_SUBMIT_FAILURE QUICK_SUBMIT_FAILURE,
QUICK_INIT_DATA
} from '../../base/ActionTypes'; } from '../../base/ActionTypes';
...@@ -46,6 +47,13 @@ export default quick = (state = defaultState, action) => { ...@@ -46,6 +47,13 @@ export default quick = (state = defaultState, action) => {
return Object.assign({}, state, { return Object.assign({}, state, {
submit_quick_order_status: QUICK_SUBMIT_FAILURE submit_quick_order_status: QUICK_SUBMIT_FAILURE
}) })
case QUICK_INIT_DATA:
return Object.assign({}, state, {
// 初始化数据
quick_list_status: QUICK_ORDER_LIST_NO,
submit_quick_order_status: QUICK_SUBMIT_NO,
quickOrderOption: {}
})
default: default:
return state; return state;
} }
......
...@@ -6,7 +6,8 @@ import { ...@@ -6,7 +6,8 @@ import {
SELF_SUBMIT_NO, SELF_SUBMIT_NO,
SELF_SUBMIT_DOING, SELF_SUBMIT_DOING,
SELF_SUBMIT_SUCCESS, SELF_SUBMIT_SUCCESS,
SELF_SUBMIT_FAILURE SELF_SUBMIT_FAILURE,
SELF_INIT_DATA
} from '../../base/ActionTypes'; } from '../../base/ActionTypes';
// 自助下单状态 // 自助下单状态
...@@ -44,6 +45,13 @@ export default selfOrder = (state = defaultState, action) => { ...@@ -44,6 +45,13 @@ export default selfOrder = (state = defaultState, action) => {
return Object.assign({}, state, { return Object.assign({}, state, {
submit_self_order_status: SELF_SUBMIT_FAILURE submit_self_order_status: SELF_SUBMIT_FAILURE
}) })
case SELF_INIT_DATA:
return Object.assign({}, state, {
// 初始化数据
self_list_status: QUICK_ORDER_LIST_NO,
submit_self_order_status: QUICK_SUBMIT_NO,
selfOrderOption: {}
})
default: default:
return state; return state;
} }
......
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