import React, { Component } from 'react'
import {
StyleSheet,
View,
Image,
StatusBar,
Dimensions,
PixelRatio,
TouchableOpacity,
Text,
FlatList,
ScrollView,
TextInput,
} from 'react-native'
import { connect } from 'react-redux'
import { createAction } from '../../../utils'
import Input from '../../../components/input'
const { width, height } = Dimensions.get('window')
@connect(({ optional }) => ({ ...optional }))
class OptFlatList extends Component {
constructor(props) {
super(props)
this.state = { touchColor: '', refresh: true,findValue:'' }
}
_optionalRow(item, index) {
let valuesname = []
if (item.typeCode !== '04') {
item.colorGroups.content.forEach((data, key) => {
valuesname.push(
{
this.props.dispatch(
createAction('optional/getColorByGroups')({
id : item.goodsId,
groupId : data.id,
colourCode : ""
})
)
item.colorGroups.content.forEach(touchData => {
touchData.isChecked = false
})
item.isChoose = data
data.isChecked = true
this.setState({
touchColor: {
"id" : data.id,
"name" : data.name,
}
})
}}
>
{data.name}
)
})
return (
{item.name+"分组"}
{valuesname}
)
} else {
valuesname = (
{
item.item[0].attrValCode = text
item.item[0].attrValId = text
item.item[0].attrValName = text
item.isChoose = item.item[0]
}}
defaultValue={item.item[0].attrValName}
onBlur={() => {
this.setState({ refresh: !this.state.refresh })
}}
// value={item.item}
multiline={false}
placeholder={'请输入'}
placeholderTextColor={'#CCC'}
/>
)
return (
{item.name}
{valuesname}
)
}
}
//颜色卡片列表
_colorList( item, index,colorData) {
return(
{
colorData.forEach(touchData => {
touchData.isChecked = false
})
item.isChecked = true
const touchColor = {};
touchColor.children = item;
this.props.dispatch(
createAction('optional/getPriceByColorId')({
organizationId : this.props.optionData[0].saleOrgId,
customerId : CUSTOMERINFO.id,
goodsId : this.props.optionData[0].goodsId,
orderTypeId : '01',
paletteId : item.attrValId,
shopId : ''
})
).finally(() => {
if(this.props.goodsPriceByColor && this.props.goodsPriceByColor.length) {
touchColor.goodsPriceByColor = this.props.goodsPriceByColor;
this.props.chooseColor(touchColor);
}
})
}}
>
{item.attrValName}
)
}
//根据色卡号查询调色
getColorByCode(colorCode) {
const { optionData } = this.props
console.log('getColorByCode==========>',colorCode)
this.props.dispatch(
createAction('optional/getColorByGroups')({
id : optionData[0].goodsId,
groupId : "",
colourCode : colorCode?colorCode.toUpperCase():''
})
)
}
render() {
console.log(this.props)
const { optionData, chooseOpt,colorData } = this.props
if (this.props.havaOpt) {
const optChoose = []
optionData.newGoodsAttrVals.sort(
(a, b) => a.isOptionalAttr - b.isOptionalAttr
)
optionData.goodsAttrVals.forEach(data => {
if (data.isOptionalAttr) {
if (data.isChecked) {
optChoose.push(data.attrValName)
} else if (data.productAttrTypeCode == '04')
optChoose.push(data.attrValName)
}
})
return (
子件:
{optionData.childGoodsName || optionData.goodsDisplayName}
已选:
{optChoose.join(' | ')}
index}
data={optionData.newGoodsAttrVals}
extraData={{ ...this.props, ...this.state }}
// columnWrapperStyle={{ flexWrap: "wrap" }}
// numColumns={2}
renderItem={({ item, key }) => this._optionalRow(item, key)}
/>
)
} else {
// optionData.sort((a, b) => a.isOptionalAttr - b.isOptionalAttr)
return (
{/* index}
data={optionData}
extraData={{ ...this.props, ...this.state }}
// columnWrapperStyle={{ flexWrap: "wrap" }}
// numColumns={2}
renderItem={({ item, key }) => this._optionalRow(item, key)}
/> */}
{
// onSubmitEditing={e => {
this.getColorByCode(e)
}}
/>
调色选项
index}
style={{height:280}}
data={colorData&&colorData.length&&colorData[0].goodsAttrVals}
renderItem={({ item, key}) => this._colorList(item, key,colorData[0].goodsAttrVals)}
numColumns= {2}
/>
)
}
}
}
const styles = StyleSheet.create({
titleText: {
fontSize: 14,
lineHeight: 20,
color: '#999',
},
contentText: {
flex: 1,
fontSize: 13,
lineHeight: 18,
color: '#333',
},
})
export default OptFlatList