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 { exitLoginStatus } from './LoginAction';
import {
......@@ -7,7 +7,9 @@ import {
EQUIP_CONSU_LIST_FAILURE,
EQUIP_SUBMIT_DOING,
EQUIP_SUBMIT_SUCCESS,
EQUIP_SUBMIT_FAILURE
EQUIP_SUBMIT_FAILURE,
GET_SUB_DETAIL_OPTION,
EQUIP_INIT_DATA
} from '../base/ActionTypes';
......@@ -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:''}
export const requestEquipDetails = async (params) => {
console.log('----requestEquipDetails----', params)
return await GetRequest(getUrlParams('/surgery/collected_order_line/search', params))
}
// 图片上传 -- 具体需要修改!!!!!
export const requestQuickAudio = async (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)
console.log('--------', file, formData)
// 图片上传
export const uploadEquipImg = async (params) => {
let { access_token, formData } = params
console.log('--------', access_token, formData)
return await UploadRequest(getUrlParams('/dingding/upload_media', { access_token }), formData)
}
......
......@@ -7,7 +7,8 @@ import {
QUICK_ORDER_LIST_FAILURE,
QUICK_SUBMIT_DOING,
QUICK_SUBMIT_SUCCESS,
QUICK_SUBMIT_FAILURE
QUICK_SUBMIT_FAILURE,
QUICK_INIT_DATA
} from '../base/ActionTypes';
// 获取组织 params={access_token:''}
......
import { PostRequest, GetRequest } from '../network/RequestUtils';
import { show } from '../utils/Utils';
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) => {
......
......@@ -15,6 +15,7 @@ export const SELF_SUBMIT_NO = "SELF_SUBMIT_NO"
export const SELF_SUBMIT_DOING = "SELF_SUBMIT_DOING"
export const SELF_SUBMIT_SUCCESS = "SELF_SUBMIT_SUCCESS"
export const SELF_SUBMIT_FAILURE = "SELF_SUBMIT_FAILURE"
export const SELF_INIT_DATA = "SELF_INIT_DATA"
//-----------quick order---------------------
export const QUICK_ORDER_LIST_NO = "QUICK_ORDER_LIST_NO"
export const QUICK_ORDER_LIST_DOING = "QUICK_ORDER_LIST_DOING"
......@@ -24,6 +25,7 @@ export const QUICK_SUBMIT_NO = "QUICK_SUBMIT_NO"
export const QUICK_SUBMIT_DOING = "QUICK_SUBMIT_DOING"
export const QUICK_SUBMIT_SUCCESS = "QUICK_SUBMIT_SUCCESS"
export const QUICK_SUBMIT_FAILURE = "QUICK_SUBMIT_FAILURE"
export const QUICK_INIT_DATA = "QUICK_INIT_DATA"
//-----------equipment consumption---------------------
export const EQUIP_CONSU_LIST_NO = "EQUIP_CONSU_LIST_NO"
export const EQUIP_CONSU_LIST_DOING = "EQUIP_CONSU_LIST_DOING"
......@@ -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_DOING = "EQUIP_SUBMIT_DOING"
export const EQUIP_SUBMIT_SUCCESS = "EQUIP_SUBMIT_SUCCESS"
export const EQUIP_SUBMIT_FAILURE = "EQUIP_SUBMIT_FAILURE"
\ No newline at end of file
export const EQUIP_SUBMIT_FAILURE = "EQUIP_SUBMIT_FAILURE"
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";
export const header_height = 58
export const icon_style = {
resizeMode: 'contain',
resizeMode: 'cover',
width: '100%',
height: '100%'
}
......@@ -306,12 +306,36 @@ export const list_common_item = {
padding: 20,
marginTop: 10,
flexDirection: 'row',
flex: 1
flex: 1,
flexWrap: 'wrap'
},
addpic_img_btn: {
width: pxSize(68),
height: pxSize(68),
marginRight: 20
width: pxSize(64),
height: pxSize(64),
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: {
......
......@@ -87,6 +87,7 @@ const styles = StyleSheet.create({
},
image_box: {
width: 14,
height: 14,
marginLeft: 6
},
call_box: {
......
......@@ -52,38 +52,44 @@ class DetailsModel extends Component {
contOptionData: [ // 底部产品内容
{
"id": "0",
title: '人工髋关节假体-JS-HB ||| T',
tip1: '2001202001001774',
item_name: '人工髋关节假体-JS-HB ||| T',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false
},
{
"id": "1",
title: '规格:JS-CGO PE 10 11',
tip1: '2001202001001774',
item_name: '规格:JS-CGO PE 10 11',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false
},
{
"id": "2",
title: '规格:JS-CGO PE 10 22',
tip1: '2001202001001774',
item_name: '规格:JS-CGO PE 10 22',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false
},
{
"id": "3",
title: '规格:JS-CGO PE 10 33',
tip1: '2001202001001774',
item_name: '规格:JS-CGO PE 10 33',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false
},
{
"id": "4",
title: '规格:JS-CGO PE 10 44',
tip1: '2001202001001774',
item_name: '规格:JS-CGO PE 10 44',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false
},
{
"id": "5",
title: '规格:JS-CGO PE 10 55',
tip1: '2001202001001774',
item_name: '规格:JS-CGO PE 10 55',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
select: false
}
]
......@@ -209,9 +215,9 @@ class DetailsModel extends Component {
<View style={styles.ri_inner}>
<View style={styles.ri_text_box}>
<Text style={styles.ri_te_tit}>
{ item.title }
{ item.item_name } - {item.specification}
</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 style={styles.ri_num_box}>
<TouchableOpacity
......
......@@ -14,6 +14,10 @@ import {
} from '../../../base/BaseStyle';
import StatusBarView from '../../common/StatusBarView';
import HeadBackItem from '../../common/HeadBackItem';
import { show } from '../../../utils/Utils';
import { getSubdetailOption } from '../../../action/EquipAction';
import { connect } from 'react-redux';
class FillUnitPricePage extends Component {
constructor(props) {
......@@ -22,37 +26,87 @@ class FillUnitPricePage extends Component {
unitPriceOption: [
{
"id": "2",
title: '人工髋关节假体-JS-HB ||| T3',
tip1: '2001202001001774',
item_name: '人工髋关节假体-JS-HB ||| T',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true
},{
"id": "3",
title: '人工髋关节假体-JS-HB ||| T4',
tip1: '2001202001001774',
item_name: '人工髋关节假体-JS-HB ||| T4',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true
},{
"id": "4",
title: '人工髋关节假体-JS-HB ||| T5',
tip1: '2001202001001774',
item_name: '人工髋关节假体-JS-HB ||| T5',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true
},{
"id": "5",
title: '人工髋关节假体-JS-HB ||| T6',
tip1: '2001202001001774',
item_name: '人工髋关节假体-JS-HB ||| T6',
specification: '3g,Ytg-DG-SZGT',
serial_number: '2001202001001774',
sale_price: 90890,
local_add_price: 90890,
select: true
}
]
}
}
componentDidMount() {
this.getLocalSelectedData()
}
// 获取选择的数据
getLocalSelectedData() {
let {localSelectOption} = this.props.navigation.state.params
console.log('-------localSelectOption--------', localSelectOption)
this.setState({
unitPriceOption: localSelectOption
})
}
// 每一个元素输入单价
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() {
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 {
return(
<ScrollView
style={styles.cons_cont_scroll}
showsVerticalScrollIndicator={false}
// showsVerticalScrollIndicator={false}
>
<FlatList
style={styles.cons_cont}
......@@ -76,13 +130,17 @@ class FillUnitPricePage extends Component {
// 返回每一列元素
renderSubListItem(item, index) {
console.log('item, index---',item, index)
let price = ''
if(item.local_add_price) {
price = String(item.local_add_price)
}
return(
<View style={styles.cons_sub_list}>
<Text style={styles.cont_tit}>
{item.title}
{item.item_name}
</Text>
<Text style={styles.cont_ser}>
序列号:{item.tip1}
序列号:{item.serial_number}
</Text>
<View style={styles.cont_pri}>
<Text style={styles.pri_icon}>*</Text>
......@@ -98,7 +156,8 @@ class FillUnitPricePage extends Component {
underlineColorAndroid = {'transparent'}
ref = {textInput => this.TextInput = textInput}
onChangeText={(text) => this.handleItemPriceInput(text, index)}
defaultValue={item.price}
defaultValue={price}
keyboardType={'numeric'}
/>
</TouchableOpacity>
</View>
......@@ -191,7 +250,10 @@ const styles = StyleSheet.create({
fontSize: second_text_size,
color: promary_text_color
},
cont_pri_box: {},
cont_pri_box: {
flex: 1,
paddingRight: 20
},
pri_txt: {
fontFamily: font_family_medium,
fontSize: second_text_size,
......@@ -205,5 +267,21 @@ const styles = StyleSheet.create({
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;
\ No newline at end of file
export default connect(mapStateToProps, mapDispatchToProps)(FillUnitPricePage);
\ No newline at end of file
......@@ -6,14 +6,17 @@ import {
EQUIP_SUBMIT_NO,
EQUIP_SUBMIT_DOING,
EQUIP_SUBMIT_SUCCESS,
EQUIP_SUBMIT_FAILURE
EQUIP_SUBMIT_FAILURE,
EQUIP_INIT_DATA,
GET_SUB_DETAIL_OPTION
} from '../../base/ActionTypes';
// 器械消耗状态
const defaultState = {
equip_list_status: EQUIP_CONSU_LIST_NO, // 获取数据状态
submit_equip_order_status: EQUIP_SUBMIT_NO, // 提交订单状态
equipOrderOption: {} // 当前临时存储数据
equipOrderOption: {}, // 当前选择器临时存储数据
subDetOption: {}, // 选择的消耗明细数据
}
export default equip = (state = defaultState, action) => {
......@@ -45,6 +48,19 @@ export default equip = (state = defaultState, action) => {
return Object.assign({}, state, {
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:
return state;
}
......
......@@ -6,7 +6,8 @@ import {
QUICK_SUBMIT_NO,
QUICK_SUBMIT_DOING,
QUICK_SUBMIT_SUCCESS,
QUICK_SUBMIT_FAILURE
QUICK_SUBMIT_FAILURE,
QUICK_INIT_DATA
} from '../../base/ActionTypes';
......@@ -46,6 +47,13 @@ export default quick = (state = defaultState, action) => {
return Object.assign({}, state, {
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:
return state;
}
......
......@@ -6,7 +6,8 @@ import {
SELF_SUBMIT_NO,
SELF_SUBMIT_DOING,
SELF_SUBMIT_SUCCESS,
SELF_SUBMIT_FAILURE
SELF_SUBMIT_FAILURE,
SELF_INIT_DATA
} from '../../base/ActionTypes';
// 自助下单状态
......@@ -44,6 +45,13 @@ export default selfOrder = (state = defaultState, action) => {
return Object.assign({}, state, {
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:
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