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