Commit 12a55f69 by Denglingling

完善 单选耗材(已选时,统一查看,取消已选仍按当前菜单查看),修改相关已选、清空操作

parent 0d182f54
...@@ -31,13 +31,16 @@ import { ...@@ -31,13 +31,16 @@ import {
import { FooterBtnStyle } from '../common/CellTextStyle'; import { FooterBtnStyle } from '../common/CellTextStyle';
import ChooseCardList from '../common/listDataComponent/ChooseCardList'; import ChooseCardList from '../common/listDataComponent/ChooseCardList';
import PicTitDetaiCalcu from '../common/listDataComponent/PicTitDetaiCalcu'; import PicTitDetaiCalcu from '../common/listDataComponent/PicTitDetaiCalcu';
import _ from "lodash";
import localMockData from '../../containers/selfOrder/module/mock/sen_mock'; import localMockData from '../../containers/selfOrder/module/mock/sen_mock';
import { cloneObject } from '../../utils/Utils';
const PropTypes = require('prop-types'); const PropTypes = require('prop-types');
const SELECTED_QUQNTITY = 'selectedQuantity' // 中类数量 const SELECTED_QUQNTITY = 'selectedQuantity' // 中类数量
const SELECTED_DATA_ARR = 'selectedDataArr' // 中类已选元素 const SELECTED_DATA_ARR = 'selectedDataArr' // 中类已选元素
const DEFAULT_SECOND_DATA = 'localSecondData' // 中类原本元素 const DEFAULT_SECOND_DATA = 'localSecondData' // 中类原本元素
const DEFAULT_FIELD = 'quantity' // 计算的字段 const DEFAULT_QUANTITY = 'quantity' // 计算的字段
const CHILD_DATA_NAME = 'childrenLineData' // 显示的子类数组名称
class ProductModel extends Component { class ProductModel extends Component {
...@@ -55,6 +58,7 @@ class ProductModel extends Component { ...@@ -55,6 +58,7 @@ class ProductModel extends Component {
isVisible: this.props.show, isVisible: this.props.show,
topProcOptionList: [], topProcOptionList: [],
topActiveIndex: 0, topActiveIndex: 0,
orginOptionList: [], // 原始数据
// SELECTED_QUQNTITY: 'selectedQuantity', // 中类数量 // SELECTED_QUQNTITY: 'selectedQuantity', // 中类数量
// SELECTED_DATA_ARR: 'selectedDataArr', // 中类已选元素 // SELECTED_DATA_ARR: 'selectedDataArr', // 中类已选元素
} }
...@@ -69,14 +73,174 @@ class ProductModel extends Component { ...@@ -69,14 +73,174 @@ class ProductModel extends Component {
} }
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
let that = this
if(this.state.isVisible != nextProps.show) { if(this.state.isVisible != nextProps.show) {
this.setState({isVisible: nextProps.show}); this.setState({isVisible: nextProps.show});
} }
if(nextProps.modelOption) { if(nextProps.modelOption) {
this.setState({topProcOptionList: nextProps.modelOption}); that.setState({
// topProcOptionList: nextProps.modelOption,
orginOptionList: nextProps.modelOption
},() => {
that.getTopOptions()
});
} }
} }
// 修改已选数据
getTopOptions(){
let {orginOptionList} = this.state
let otherArr = []
// let otherChildData = []
let otherChildObj = {
title: '单选耗材',
[SELECTED_QUQNTITY]: 0,
[SELECTED_DATA_ARR]: [],
[DEFAULT_SECOND_DATA]: []
}
orginOptionList.forEach((orItem, orIndex) => {
if(orIndex < 4) {
otherArr.push(orItem)
}else {
otherChildObj[DEFAULT_SECOND_DATA].push(orItem)
if(orItem[SELECTED_QUQNTITY]){
otherChildObj[SELECTED_QUQNTITY] += Number(orItem[SELECTED_QUQNTITY])
}
if(orItem[SELECTED_DATA_ARR]){
otherChildObj[SELECTED_DATA_ARR].push(...orItem[SELECTED_DATA_ARR])
}
}
})
otherArr.push(otherChildObj)
console.log('修改后的已选数据====', otherArr)
this.setState({
topProcOptionList: otherArr
})
}
// 恢复其他所有数据
setTopOrginTopData(curOptions){
let {orginOptionList} = this.state
console.log('回调之前的==原始已选数据==', orginOptionList)
console.log('回调之前的===当前修改后的已选数据==', curOptions)
orginOptionList.map(function(orgItem, orgIndex) {
if(orgIndex < 4){
orgItem = curOptions[orgIndex]
}
})
console.log('当前修改后的原始数据==', orginOptionList)
this.props.modelCallBack(orginOptionList) // 调用
}
// 恢复已选数据
setTopOrginTopData_old(curOptions){
let {orginOptionList} = this.state
console.log('回调之前的==原始已选数据==', orginOptionList)
console.log('回调之前的===当前修改后的已选数据==', curOptions)
orginOptionList.map(function(orgItem, orgIndex) {
if(orgIndex < 4){
orgItem = curOptions[orgIndex]
}else {
if(orgItem[SELECTED_DATA_ARR] && orgItem[SELECTED_DATA_ARR].length > 0
&& curOptions[SELECTED_DATA_ARR] && curOptions[SELECTED_DATA_ARR].length > 0){
let delArr = []
orgItem[SELECTED_DATA_ARR].map(function(seIt, seInd) {
console.log('标题====', curSeChild['superTit'], seIt[CHILD_DATA_NAME][0]['superTit'])
let orgCurChild = seIt[CHILD_DATA_NAME][0]
curOptions[SELECTED_DATA_ARR].forEach(function(curSeItem, curSeInd){
let curSeChild = curSeItem[CHILD_DATA_NAME][0]
if(curSeChild && orgCurChild && curSeChild['superTit'] === orgCurChild['superTit'] && curSeChild['id'] === orgCurChild['id']
&& curSeChild['superIndex'] === orgCurChild['superIndex'] && curSeChild['curTitle'] === orgCurChild['curTitle']){
// seIt[CHILD_DATA_NAME][0]['lineOptions'] = curSeChild['lineOptions']
seIt = curSeChild
}
})
// 是否在已选存在
let isExitArr = curOptions[SELECTED_DATA_ARR].filter(item => {
let curSeChild = curSeItem[CHILD_DATA_NAME][0]
return curSeChild && orgCurChild && curSeChild['superTit'] === orgCurChild['superTit'] && curSeChild['id'] === orgCurChild['id']
&& curSeChild['superIndex'] === orgCurChild['superIndex'] && curSeChild['curTitle'] === orgCurChild['curTitle']
})
if(isExitArr.length > 0){
// 存在,并且数量不为空
}else {
// 不存在,即数量为空
delArr.push(seInd)
// 清空之前的
}
})
if(delArr.length){
for(let i=delArr.length-1; i>=0; i--){
let seDelChild = orgItem[SELECTED_DATA_ARR][i][CHILD_DATA_NAME][0]
if(orgItem[DEFAULT_SECOND_DATA] && orgItem[DEFAULT_SECOND_DATA].length > 0 && seDelChild){
// for(let deIt of orgItem[DEFAULT_SECOND_DATA]){
// let deItChild = deIt[CHILD_DATA_NAME][0]
// if(deItChild && seDelChild && deItChild['superTit'] === seDelChild['superTit'] && deItChild['id'] === seDelChild['id']
// && deItChild['index'] === seDelChild['index']){
// deIt[DEFAULT_QUANTITY] = 0
// delete deIt[CHILD_DATA_NAME]
// }
// }
orgItem[DEFAULT_SECOND_DATA].forEach(function(deIt) {
let deItChild = deIt[CHILD_DATA_NAME][0]
if(deItChild && seDelChild && deItChild['superTit'] === seDelChild['superTit'] && deItChild['id'] === seDelChild['id']
&& deItChild['index'] === seDelChild['index']){
deIt[DEFAULT_QUANTITY] = 0
delete deIt[CHILD_DATA_NAME]
}
})
}
orgItem[SELECTED_DATA_ARR].splice(i, 1)
}
}
}else {
// 清空所有已选
orgItem[SELECTED_DATA_ARR] = []
orgItem[DEFAULT_QUANTITY] = 0
if(orgItem[DEFAULT_SECOND_DATA] && orgItem[DEFAULT_SECOND_DATA].length > 0){
orgItem[DEFAULT_SECOND_DATA].forEach(function(deIt) {
deIt[DEFAULT_QUANTITY] = 0
// deIt[CHILD_DATA_NAME] = []
delete deIt[CHILD_DATA_NAME]
})
}
}
}
})
console.log('修改后的原始数据========>', orginOptionList)
// this.props.modelCallBack(orginOptionList) // 调用
}
// 共计已选 点击 // 共计已选 点击
handleCloseSelected() { handleCloseSelected() {
console.log('共计已选:666--model') console.log('共计已选:666--model')
...@@ -99,68 +263,290 @@ class ProductModel extends Component { ...@@ -99,68 +263,290 @@ class ProductModel extends Component {
this.props.closeModal(false); this.props.closeModal(false);
} }
// 清空图标回调
handleClearBack(item, index){
console.log('清空图标回调---', item, index)
let {orginOptionList, topProcOptionList, topActiveIndex} = this.state
console.log('原始已选数据==--===--', orginOptionList)
console.log('当前已选数据==----', topProcOptionList, topActiveIndex)
// topProcOptionList
// 单选耗材当前清空项
let deleOpts = cloneObject(topProcOptionList[topActiveIndex][SELECTED_DATA_ARR][index])
let allCountQuantity = 0 // 初始化
orginOptionList.forEach(function(orgOpts, orgInd) {
if(orgInd >= 4){
// console.log('orgOpts[SELECTED_DATA_ARR]---', orgOpts[SELECTED_DATA_ARR], SELECTED_DATA_ARR)
// if(orgOpts[SELECTED_DATA_ARR] && orgOpts[SELECTED_DATA_ARR].length > 0){
// let deIndex = 0
// let deFlag = false
// orgOpts[SELECTED_DATA_ARR].forEach(function(selDa, selInde){
// if(selDa[CHILD_DATA_NAME] && deleOpts[CHILD_DATA_NAME]){
// let curLine = selDa[CHILD_DATA_NAME][0]
// console.log('curLine---', curLine)
// let deLi = deleOpts[CHILD_DATA_NAME][0]
// console.log('deLi---', deLi)
// if(curLine && deLi && curLine['superTit'] === deLi['superTit'] && curLine['id'] === deLi['id']
// && curLine['superIndex'] === deLi['superIndex']){
// console.log('---删除=!!!====-', curLine, deLi)
// deFlag = true
// deIndex = localInd
// // selDa[DEFAULT_QUANTITY] = 0
// // delete selDa[CHILD_DATA_NAME]
// }
// }
// })
// if(deFlag){
// console.log('---删除=====-', deFlag, deIndex)
// orgOpts[SELECTED_DATA_ARR].splice(deIndex, 1)
// }
// }
if(orgOpts[DEFAULT_SECOND_DATA] && orgOpts[DEFAULT_SECOND_DATA].length > 0){
orgOpts[DEFAULT_SECOND_DATA].forEach(function(localDa, localInd) {
// console.log('localDa--CHILD_DATA_NAME-', localDa, CHILD_DATA_NAME)
if(localDa[CHILD_DATA_NAME] && deleOpts[CHILD_DATA_NAME]){
let curLine = localDa[CHILD_DATA_NAME][0]
// console.log('curLine---', curLine, deleOpts)
let deLi = deleOpts[CHILD_DATA_NAME][0]
// console.log('deLi--', deLi)
if(curLine && deLi && curLine['superTit'] === deLi['superTit'] && curLine['id'] === deLi['id']
&& curLine['superIndex'] === deLi['superIndex'] && curLine['curTitle'] === deLi['curTitle']){
// deIndex = localInd
localDa[DEFAULT_QUANTITY] = 0
delete localDa[CHILD_DATA_NAME]
}
}
})
}
if(orgOpts[SELECTED_DATA_ARR] && orgOpts[SELECTED_DATA_ARR].length > 0){
let delArr = []
orgOpts[SELECTED_DATA_ARR].map((deIt, deIndex) => {
if(!deIt[CHILD_DATA_NAME]){
delArr.push(deIndex)
}
})
console.log('delArr----', delArr)
for(let i=delArr.length-1; i>=0; i--){
console.log('orgOpts--!!--', i, delArr[i],orgOpts[SELECTED_DATA_ARR])
orgOpts[SELECTED_DATA_ARR].splice(delArr[i], 1);
}
console.log('orgOpts----', orgOpts[SELECTED_DATA_ARR])
}
// 初始化
orgOpts[SELECTED_QUQNTITY] = 0
if(orgOpts[SELECTED_DATA_ARR].length > 0){
orgOpts[SELECTED_DATA_ARR].map(itDa => {
if(!itDa[DEFAULT_QUANTITY]){
itDa[DEFAULT_QUANTITY] = 0
}
orgOpts[SELECTED_QUQNTITY] += Number(itDa[DEFAULT_QUANTITY])
})
}
// else {
// orgOpts[SELECTED_QUQNTITY] = 0
// }
}
if(!orgOpts[SELECTED_QUQNTITY]){
orgOpts[SELECTED_QUQNTITY] = 0
}
allCountQuantity += orgOpts[SELECTED_QUQNTITY]
})
console.log('修改后的已选=======---', topProcOptionList)
console.log('修改后的数量---', allCountQuantity)
console.log('修改后端所有数据---', orginOptionList)
this.props.modelCallBack(orginOptionList) // 调用
if(allCountQuantity === 0){
this.closeModal()
}
}
// 修改列表计算后数据 // 修改列表计算后数据
handleCalCallBack(item, index, dataName){ handleCalCallBack(item, index, SUB_LINE_NAME){
console.log('回调=====', item, index, SUB_LINE_NAME)
let {topProcOptionList, topActiveIndex} = this.state let {topProcOptionList, topActiveIndex} = this.state
// console.log('--已选===',item, topActiveIndex, index)
let defauIndex = index
SUB_LINE_NAME = 'childrenLineData' // 测试 item.superIndex
// if(SUB_LINE_NAME){
// defauIndex = item.superIndex
// }
defauIndex = item.superIndex
// console.log('--当前已选数据 ===',topProcOptionList, topActiveIndex)
if(SELECTED_DATA_ARR && topProcOptionList[topActiveIndex][SELECTED_DATA_ARR]) { if(SELECTED_DATA_ARR && topProcOptionList[topActiveIndex][SELECTED_DATA_ARR]) {
let allCountQuantity = 0 // 初始化
topProcOptionList.map(function(listItem, listIndex) { topProcOptionList.map(function(listItem, listIndex) {
if(listIndex === topActiveIndex){ if(listIndex === topActiveIndex){
listItem[SELECTED_DATA_ARR][index] = item let deleFlag = false
// 本地测试 id为唯一值 let deleInd = null
let curObj = listItem[SELECTED_DATA_ARR][index] // 初始化 三级
if(curObj.id){ listItem[SELECTED_DATA_ARR][defauIndex][DEFAULT_QUANTITY] = 0
listItem[DEFAULT_SECOND_DATA].forEach(function(deIt) { listItem[SELECTED_DATA_ARR][defauIndex]['childrenLineData'].forEach(function(chIt, chInd) {
if(deIt.id === curObj.id){ if(_.isEqual(chIt, item)){
deIt = curObj chIt = item
if(chIt[DEFAULT_QUANTITY] === 0){
deleFlag = true
deleInd = chInd
} }
}) }
if(!chIt[DEFAULT_QUANTITY]){
chIt[DEFAULT_QUANTITY] = 0
}
listItem[SELECTED_DATA_ARR][defauIndex][DEFAULT_QUANTITY] += Number(chIt[DEFAULT_QUANTITY])
})
if(deleFlag) {
listItem[SELECTED_DATA_ARR][defauIndex]['childrenLineData'].splice(deleInd, 1)
}
// 初始化 中类
listItem[SELECTED_QUQNTITY] = 0
listItem[SELECTED_DATA_ARR].forEach(function(seDa) {
if(!seDa[DEFAULT_QUANTITY]){
seDa[DEFAULT_QUANTITY] = 0
}
listItem[SELECTED_QUQNTITY] += Number(seDa[DEFAULT_QUANTITY])
})
// 已选数量赋值之前默认数据
let curObj = listItem[SELECTED_DATA_ARR][defauIndex]
console.log('curObj----', curObj)
if(listIndex < 4){
if(curObj.id){
listItem[DEFAULT_SECOND_DATA].forEach(function(deIt) {
if(deIt.id === curObj.id){ // 本地测试'id'为唯一值
deIt = curObj
}
})
}
} }
} }
if(!listItem[SELECTED_QUQNTITY]){
listItem[SELECTED_QUQNTITY] = 0
}
allCountQuantity += listItem[SELECTED_QUQNTITY]
}) })
// 恢复之后再调用
this.setTopOrginTopData(topProcOptionList)
// console.log('---item[DEFAULT_FIELD] ', item[DEFAULT_FIELD], index) // this.props.modelCallBack(topProcOptionList)
if(item[DEFAULT_FIELD] === 0) { if(allCountQuantity === 0){
topProcOptionList[topActiveIndex][SELECTED_DATA_ARR].splice(index, 1) this.closeModal()
// console.log('topProcOptionList[topActiveIndex][SELECTED_DATA_ARR]---', topProcOptionList[topActiveIndex][SELECTED_DATA_ARR])
} }
}
// 修改左侧分类汇总
// 本地测试
let curCalField = 'quantity'
let allCountQuantity = 0 // 初始化 // if(SELECTED_DATA_ARR && topProcOptionList[topActiveIndex][SELECTED_DATA_ARR]) {
if(topProcOptionList[topActiveIndex][SELECTED_DATA_ARR].length > 0) { // topProcOptionList.map(function(listItem, listIndex) {
topProcOptionList[topActiveIndex][SELECTED_QUQNTITY] = 0 // if(listIndex === topActiveIndex){
topProcOptionList[topActiveIndex][SELECTED_DATA_ARR].map((selItem) => { // if(SUB_LINE_NAME){
if(!selItem[curCalField]){ // listItem[SELECTED_DATA_ARR][item.superIndex][SUB_LINE_NAME].forEach(function(chIt) {
selItem[curCalField] = 0 // if(_.isEqual(chIt, item)){
} // chIt = item
topProcOptionList[topActiveIndex][SELECTED_QUQNTITY] += Number(selItem[curCalField]) // }
// })
// }else {
// // listItem[SELECTED_DATA_ARR][index] = item
// listItem[SELECTED_DATA_ARR][defauIndex] = item
// }
// // 本地测试 id为唯一值
// // let curObj = listItem[SELECTED_DATA_ARR][index]
// let curObj = listItem[SELECTED_DATA_ARR][defauIndex]
// if(curObj.id){
// listItem[DEFAULT_SECOND_DATA].forEach(function(deIt) {
// if(deIt.id === curObj.id){
// deIt = curObj
// }
// })
// }
// }
// })
// // console.log('---item[DEFAULT_QUANTITY] ', item[DEFAULT_QUANTITY], index)
// if(item[DEFAULT_QUANTITY] === 0) {
// topProcOptionList[topActiveIndex][SELECTED_DATA_ARR].splice(index, 1)
// // console.log('topProcOptionList[topActiveIndex][SELECTED_DATA_ARR]---', topProcOptionList[topActiveIndex][SELECTED_DATA_ARR])
// }
// // 修改左侧分类汇总
// // 本地测试
// let curCalField = 'quantity'
// let allCountQuantity = 0 // 初始化
// if(topProcOptionList[topActiveIndex][SELECTED_DATA_ARR].length > 0) {
// topProcOptionList[topActiveIndex][SELECTED_QUQNTITY] = 0
// topProcOptionList[topActiveIndex][SELECTED_DATA_ARR].map((selItem) => {
// if(!selItem[curCalField]){
// selItem[curCalField] = 0
// }
// topProcOptionList[topActiveIndex][SELECTED_QUQNTITY] += Number(selItem[curCalField])
}) // })
} else{ // } else{
topProcOptionList[topActiveIndex][SELECTED_QUQNTITY] = 0 // topProcOptionList[topActiveIndex][SELECTED_QUQNTITY] = 0
} // }
topProcOptionList.map(proItem => { // topProcOptionList.map(proItem => {
if(!proItem[SELECTED_QUQNTITY]){ // if(!proItem[SELECTED_QUQNTITY]){
proItem[SELECTED_QUQNTITY] = 0 // proItem[SELECTED_QUQNTITY] = 0
} // }
allCountQuantity += proItem[SELECTED_QUQNTITY] // allCountQuantity += proItem[SELECTED_QUQNTITY]
}) // })
// 回调函数 // // 回调函数
// console.log('---计算后 ', topProcOptionList, allCountQuantity) // // console.log('---计算后 ', topProcOptionList, allCountQuantity)
this.props.modelCallBack(topProcOptionList) // this.props.modelCallBack(topProcOptionList)
if(allCountQuantity === 0){ // if(allCountQuantity === 0){
this.closeModal() // this.closeModal()
} // }
} // }
} }
...@@ -173,24 +559,43 @@ class ProductModel extends Component { ...@@ -173,24 +559,43 @@ class ProductModel extends Component {
// 清空 // 清空
handleClearRubbish() { handleClearRubbish() {
// console.log('清空======') let {topProcOptionList, orginOptionList} = this.state
let {topProcOptionList} = this.state console.log('清空======', orginOptionList)
// 本地测试 orginOptionList.map(function(listItem) {
let curCalField = 'quantity'
topProcOptionList.map(function(listItem) {
listItem[SELECTED_QUQNTITY] = 0 listItem[SELECTED_QUQNTITY] = 0
listItem[SELECTED_DATA_ARR] = [] listItem[SELECTED_DATA_ARR] = []
listItem[DEFAULT_SECOND_DATA].forEach(function(deIt) { listItem[DEFAULT_SECOND_DATA].forEach(function(deIt) {
deIt[curCalField] = 0 deIt[DEFAULT_QUANTITY] = 0
deIt[CHILD_DATA_NAME] = []
}) })
}) })
// 回调函数 // 回调函数
// console.log('---清空之后===== ', topProcOptionList) console.log('---清空之后===== ', orginOptionList)
this.props.modelCallBack(topProcOptionList)
// this.setTopOrginTopData(topProcOptionList)
this.props.modelCallBack(orginOptionList)
this.closeModal() this.closeModal()
// let {topProcOptionList} = this.state
// // 本地测试
// let curCalField = 'quantity'
// topProcOptionList.map(function(listItem) {
// listItem[SELECTED_QUQNTITY] = 0
// listItem[SELECTED_DATA_ARR] = []
// listItem[DEFAULT_SECOND_DATA].forEach(function(deIt) {
// deIt[curCalField] = 0
// })
// })
// // 回调函数
// // console.log('---清空之后===== ', topProcOptionList)
// this.props.modelCallBack(topProcOptionList)
// this.closeModal()
} }
// 返回清空 // 返回清空
...@@ -251,10 +656,20 @@ class ProductModel extends Component { ...@@ -251,10 +656,20 @@ class ProductModel extends Component {
// console.log('已选展示信息 === curData---', topProcOptionList, topActiveIndex, curData) // console.log('已选展示信息 === curData---', topProcOptionList, topActiveIndex, curData)
let localBottomContData = [] let localBottomContData = []
if(curData && curData[SELECTED_DATA_ARR]){ if(curData && curData[SELECTED_DATA_ARR]){
localBottomContData = curData[SELECTED_DATA_ARR]
// localBottomContData = curData[SELECTED_DATA_ARR]
curData[SELECTED_DATA_ARR].forEach(function(sedItem) {
if(sedItem[CHILD_DATA_NAME]){
localBottomContData.push(...sedItem[CHILD_DATA_NAME])
}
})
} }
console.log('已选展示信息---',curData,topActiveIndex, localBottomContData) console.log('已选当前模块数据---',curData,topActiveIndex)
console.log('已选展示信息---',localBottomContData)
return( return(
<View style={styles.edit_cont}> <View style={styles.edit_cont}>
...@@ -276,6 +691,7 @@ class ProductModel extends Component { ...@@ -276,6 +691,7 @@ class ProductModel extends Component {
// 返回每一列元素 // 返回每一列元素
renderContColumnItem(item, index) { renderContColumnItem(item, index) {
let {topActiveIndex} = this.state
return ( return (
<TouchableOpacity <TouchableOpacity
activeOpacity={1} activeOpacity={1}
...@@ -284,49 +700,33 @@ class ProductModel extends Component { ...@@ -284,49 +700,33 @@ class ProductModel extends Component {
<PicTitDetaiCalcu <PicTitDetaiCalcu
listItem={item} listItem={item}
listIndex={index} listIndex={index}
calField={DEFAULT_FIELD} calField={DEFAULT_QUANTITY}
// subCalCallBack={(item,index) => this.handleCalCallBack(item,index,'localBottomContData')}
subCalCallBack={(item,index) => this.handleCalCallBack(item,index)} subCalCallBack={(item,index) => this.handleCalCallBack(item,index)}
titText={'title'} titText={'superTit'}
listImgIcon={'imgIcon'} tipTextOne={'superTip'}
// listImgIcon={'superImg'}
listPicType={'SQUARE'} listPicType={'SQUARE'}
listStyleImg={styles.list_icon} listStyleImg={styles.list_icon}
listStyleTit={styles.list_tit} listStyleTit={styles.list_tit}
showClearIcon={true}
showClearIndex={4}
listCardActIndex={topActiveIndex}
clearCallBack={(item, index) => this.handleClearBack(item, index)}
/> />
{/* <View style={styles.ri_inner}>
<View style={styles.oth_img_box}> {/* <PicTitDetaiCalcu
<Image style={styles.oth_img} source={item.imgIcon}/> listItem={item}
</View> listIndex={index}
<View style={styles.ri_text_box}> calField={DEFAULT_QUANTITY}
<Text style={styles.ri_te_tit}> subCalCallBack={(item,index) => this.handleCalCallBack(item,index)}
{ item.title } titText={'title'}
</Text> listImgIcon={'imgIcon'}
<Text style={[styles.ri_te_ot, styles.thr_ot]}>{item.tip1}</Text> listPicType={'SQUARE'}
<Text style={styles.ri_te_ot}>{item.tip2}</Text> listStyleImg={styles.list_icon}
</View> listStyleTit={styles.list_tit}
<View style={styles.ri_num_box}> // listShowChildNum={CHILD_DATA_NAME}
<TouchableOpacity /> */}
activeOpacity={.9}
style={styles.btn_inner}
onPress={() => this.handelCalculationList(item, index)}
>
<View style={[styles.thr_num_btn, styles.thr_btn_left]}>
<Image source={require('../../images/less_icon.png')} style={styles.thr_num_icon}></Image>
</View>
</TouchableOpacity>
<Text style={styles.thr_num}>{ item.value }</Text>
<TouchableOpacity
activeOpacity={.9}
style={styles.btn_inner}
onPress={() => this.handelCalculationList(item, index, true)}
>
<View style={[styles.thr_num_btn, styles.thr_btn_right]}>
<Image source={require('../../images/plur_icon.png')} style={styles.thr_num_icon}></Image>
</View>
</TouchableOpacity>
</View>
</View> */}
</TouchableOpacity> </TouchableOpacity>
) )
...@@ -346,20 +746,6 @@ class ProductModel extends Component { ...@@ -346,20 +746,6 @@ class ProductModel extends Component {
return ( return (
<View style={list_common_item.sub_box}> <View style={list_common_item.sub_box}>
{/* <FooterBtnStyle
style={styles.sub_btn_left}
activeOpacity={.8}
title={'共计已选:666'}
textStyle= {[styles.sub_btn_tit, styles.sub_btn_left_text]}
onPress={() => this.handleCloseSelected()}
/>
<FooterBtnStyle
style={styles.sub_btn_rig}
activeOpacity={.8}
title={'选好了'}
textStyle= {[styles.sub_btn_tit, styles.sub_btn_rig_text]}
onPress={() => this.handleCloseSubmit()}
/> */}
<View style={list_common_item.sub_two_btn}> <View style={list_common_item.sub_two_btn}>
<TouchableOpacity <TouchableOpacity
activeOpacity={.8} activeOpacity={.8}
......
...@@ -26,6 +26,13 @@ class PicTitDetaiCalcu extends Component { ...@@ -26,6 +26,13 @@ class PicTitDetaiCalcu extends Component {
listImgIcon: PropTypes.string, listImgIcon: PropTypes.string,
listStyleImg: PropTypes.objec, listStyleImg: PropTypes.objec,
plusCallBack: PropTypes.func, // 加法的回调函数 plusCallBack: PropTypes.func, // 加法的回调函数
reduceCallBack: PropTypes.func, // 减法的回调函数
// listShowChildNum: PropTypes.string, // 已选展示的子类数量,标题显示父级标题
showClearIcon: PropTypes.bool, // 展示减少x图标,不展示加减
showClearIndex: PropTypes.number, // 展示index
listCardActIndex: PropTypes.number, // 父级index = 展示index
listStyleClearBtn: PropTypes.object,
clearCallBack: PropTypes.func, // 清空图标回调函数
} }
constructor(props) { constructor(props) {
...@@ -35,6 +42,11 @@ class PicTitDetaiCalcu extends Component { ...@@ -35,6 +42,11 @@ class PicTitDetaiCalcu extends Component {
picStyleArr: ['round_pic', 'square_pic', 'rectan_pic'] picStyleArr: ['round_pic', 'square_pic', 'rectan_pic']
} }
} }
// // 清空图标
// handelClearCheck(item, index) {
// reduceCallBack(item, index)
// }
/** /**
* 点击加减 * 点击加减
...@@ -43,13 +55,18 @@ class PicTitDetaiCalcu extends Component { ...@@ -43,13 +55,18 @@ class PicTitDetaiCalcu extends Component {
* @param {boolean} isPlus 默认减法 false,加法 true, * @param {boolean} isPlus 默认减法 false,加法 true,
*/ */
handelCalculation(item, index, isPlus) { handelCalculation(item, index, isPlus) {
let {calField, plusCallBack} = this.props let {calField, plusCallBack, reduceCallBack} = this.props
if(!isPlus && reduceCallBack){
// console.log('减法回调======')
reduceCallBack(item, index)
return
}
if(isPlus && plusCallBack){ if(isPlus && plusCallBack){
console.log('加法回调======', item, index) // console.log('加法回调======', item, index)
plusCallBack(item, index) plusCallBack(item, index)
return return
} }
console.log('加法======') // console.log('加减======', item, index, isPlus)
item[calField] = Number(item[calField]) item[calField] = Number(item[calField])
if(Number.isNaN(item[calField])){ if(Number.isNaN(item[calField])){
item[calField] = 0 item[calField] = 0
...@@ -63,7 +80,8 @@ class PicTitDetaiCalcu extends Component { ...@@ -63,7 +80,8 @@ class PicTitDetaiCalcu extends Component {
} }
render() { render() {
let {listItem, listIndex, calField, listStyleBox, listStyleTit, listStyleTip, listStyleCalBtn, listPicType, titCallBack,titText, tipTextStr, tipTextOne, tipTextTwo, listImgIcon, listStyleImg} = this.props let {listItem, listIndex, calField, listStyleBox, listStyleTit, listStyleTip, listStyleCalBtn, listPicType, titCallBack,
titText, tipTextStr, tipTextOne, tipTextTwo, listImgIcon, listStyleImg, showClearIcon, showClearIndex, listCardActIndex, listStyleClearBtn, clearCallBack} = this.props
let {listPicTypeArr, picStyleArr} = this.state let {listPicTypeArr, picStyleArr} = this.state
let picOthStyle = '' let picOthStyle = ''
if(listPicTypeArr.indexOf(listPicType) > -1){ if(listPicTypeArr.indexOf(listPicType) > -1){
...@@ -75,9 +93,60 @@ class PicTitDetaiCalcu extends Component { ...@@ -75,9 +93,60 @@ class PicTitDetaiCalcu extends Component {
calIcon = require('../../../images/plur_big_act.png') calIcon = require('../../../images/plur_big_act.png')
} }
// console.log('picOthStyle----', picOthStyle) console.log('每一列----',showClearIcon, listCardActIndex, showClearIndex, (showClearIcon && listIndex === showClearIndex))
return ( return (
// <View>
// { curListArr.map((curListItem, curListIndex) => {
// <View style={[styles.ri_inner, listStyleBox]}>
// { listImgIcon ?
// <View style={[styles.oth_img_box, styles[picOthStyle], listStyleImg]}>
// <Image style={icon_style} source={curListItem.imgIcon}/>
// </View> : null }
// <View style={styles.ri_text_box}>
// <TouchableOpacity
// activeOpacity={.8}
// onPress={() => {titCallBack ? titCallBack(curListItem, listIndex) : {}}}
// style={styles.oth_box}
// >
// <Text numberOfLines={1} style={[styles.thr_ot, listStyleTit]}>
// { curListItem[titText] }
// </Text>
// </TouchableOpacity>
// { curListItem[tipTextStr] ? <Text numberOfLines={1} style={[styles.ri_te_ot, styles.te_ot_str, listStyleTip]}>{curListItem[tipTextStr]}</Text> : null }
// { curListItem[tipTextOne] ? <Text numberOfLines={1} style={[styles.ri_te_ot, listStyleTip]}>{curListItem[tipTextOne]}</Text> : null }
// { curListItem[tipTextTwo] ? <Text numberOfLines={1} style={[styles.ri_te_ot, listStyleTip]}>{curListItem[tipTextTwo]}</Text> : null }
// </View>
// <View style={styles.ri_num_box}>
// { curListItem[calField] !== 0 ?
// <TouchableOpacity
// activeOpacity={.9}
// style={[styles.btn_inner, listStyleCalBtn]}
// onPress={() => this.handelCalculation(curListItem, listIndex)}
// >
// <View style={[styles.thr_num_btn, styles.thr_btn_left]}>
// <Image source={require('../../../images/less_icon_big.png')} style={icon_style}></Image>
// </View>
// </TouchableOpacity> : null }
// { curListItem[calField] !== 0 ? <Text style={styles.thr_num}>{ curListItem[calField] }</Text> : null}
// <TouchableOpacity
// activeOpacity={.9}
// style={[styles.btn_inner, listStyleCalBtn]}
// onPress={() => this.handelCalculation(curListItem, listIndex, true)}
// >
// <View style={[styles.thr_num_btn, styles.thr_btn_right]}>
// <Image source={calIcon} style={icon_style}></Image>
// </View>
// </TouchableOpacity>
// </View>
// </View>
// })
// }
// </View>
<View style={[styles.ri_inner, listStyleBox]}> <View style={[styles.ri_inner, listStyleBox]}>
{ listImgIcon ? { listImgIcon ?
<View style={[styles.oth_img_box, styles[picOthStyle], listStyleImg]}> <View style={[styles.oth_img_box, styles[picOthStyle], listStyleImg]}>
...@@ -97,29 +166,44 @@ class PicTitDetaiCalcu extends Component { ...@@ -97,29 +166,44 @@ class PicTitDetaiCalcu extends Component {
{ listItem[tipTextOne] ? <Text numberOfLines={1} style={[styles.ri_te_ot, listStyleTip]}>{listItem[tipTextOne]}</Text> : null } { listItem[tipTextOne] ? <Text numberOfLines={1} style={[styles.ri_te_ot, listStyleTip]}>{listItem[tipTextOne]}</Text> : null }
{ listItem[tipTextTwo] ? <Text numberOfLines={1} style={[styles.ri_te_ot, listStyleTip]}>{listItem[tipTextTwo]}</Text> : null } { listItem[tipTextTwo] ? <Text numberOfLines={1} style={[styles.ri_te_ot, listStyleTip]}>{listItem[tipTextTwo]}</Text> : null }
</View> </View>
<View style={styles.ri_num_box}> {
{ listItem[calField] !== 0 ? (showClearIcon && listCardActIndex === showClearIndex) ?
<TouchableOpacity <View style={styles.btn_cle_box}>
activeOpacity={.9} <TouchableOpacity
style={[styles.btn_inner, listStyleCalBtn]} activeOpacity={.9}
onPress={() => this.handelCalculation(listItem, listIndex)} style={[styles.btn_clear_inner, listStyleClearBtn]}
> onPress={() => clearCallBack(listItem, listIndex)}
<View style={[styles.thr_num_btn, styles.thr_btn_left]}> >
<Image source={require('../../../images/less_icon_big.png')} style={icon_style}></Image> <View style={[styles.icon_cle_btn]}>
</View> <Image source={require('../../../images/close_icon.png')} style={icon_style}></Image>
</TouchableOpacity> : null } </View>
{ listItem[calField] !== 0 ? <Text style={styles.thr_num}>{ listItem[calField] }</Text> : null} </TouchableOpacity>
<TouchableOpacity </View> : <View style={styles.ri_num_box}>
activeOpacity={.9} { listItem[calField] !== 0 ?
style={[styles.btn_inner, listStyleCalBtn]} <TouchableOpacity
onPress={() => this.handelCalculation(listItem, listIndex, true)} activeOpacity={.9}
> style={[styles.btn_inner, listStyleCalBtn]}
<View style={[styles.thr_num_btn, styles.thr_btn_right]}> onPress={() => this.handelCalculation(listItem, listIndex)}
<Image source={calIcon} style={icon_style}></Image> >
<View style={[styles.thr_num_btn, styles.thr_btn_left]}>
<Image source={require('../../../images/less_icon_big.png')} style={icon_style}></Image>
</View>
</TouchableOpacity> : null }
{ listItem[calField] !== 0 ? <Text style={styles.thr_num}>{ listItem[calField] }</Text> : null}
<TouchableOpacity
activeOpacity={.9}
style={[styles.btn_inner, listStyleCalBtn]}
onPress={() => this.handelCalculation(listItem, listIndex, true)}
>
<View style={[styles.thr_num_btn, styles.thr_btn_right]}>
<Image source={calIcon} style={icon_style}></Image>
</View>
</TouchableOpacity>
</View> </View>
</TouchableOpacity>
</View> }
</View> </View>
); );
} }
} }
...@@ -177,6 +261,19 @@ const styles = StyleSheet.create({ ...@@ -177,6 +261,19 @@ const styles = StyleSheet.create({
height: pxSize(30) height: pxSize(30)
}, },
btn_inner: {}, btn_inner: {},
btn_cle_box:{
marginRight: 6,
// backgroundColor: 'red',
paddingHorizontal: 4,
paddingVertical: 4
},
btn_clear_inner:{
},
icon_cle_btn:{
width: pxSize(22),
height: pxSize(22)
},
ri_num_box: { ri_num_box: {
flexDirection: 'row', flexDirection: 'row',
alignItems: 'center', alignItems: 'center',
......
...@@ -37,11 +37,15 @@ import ProductRightStyle from './ProductRightStyle'; ...@@ -37,11 +37,15 @@ import ProductRightStyle from './ProductRightStyle';
import ProductModel from '../../common/ProductModel'; import ProductModel from '../../common/ProductModel';
import StatusBarView from '../../common/StatusBarView'; import StatusBarView from '../../common/StatusBarView';
import ChooseCardList from '../../common/listDataComponent/ChooseCardList'; import ChooseCardList from '../../common/listDataComponent/ChooseCardList';
import {cloneObject} from '../../../utils/Utils';
import localMockData from './mock/sen_mock'; import localMockData from './mock/sen_mock';
// import ScrollableTabView, { ScrollableTabBar } from 'react-native-scrollable-tab-view'; // import ScrollableTabView, { ScrollableTabBar } from 'react-native-scrollable-tab-view';
// import TopTabBar from './customTabbar/TopTabBar'; // import TopTabBar from './customTabbar/TopTabBar';
// import LeftTabBar from './customTabbar/LeftTabBar'; // import LeftTabBar from './customTabbar/LeftTabBar';
const DEFAULT_FIELD = 'quantity' // 计算的字段
const CHILD_DATA_NAME = 'childrenLineData' // 显示的子类数组名称
const SELECTED_QUQNTITY = 'selectedQuantity' // 中类数量 const SELECTED_QUQNTITY = 'selectedQuantity' // 中类数量
const SELECTED_DATA_ARR = 'selectedDataArr' // 中类已选元素 const SELECTED_DATA_ARR = 'selectedDataArr' // 中类已选元素
const DEFAULT_SECOND_DATA = 'localSecondData' // 中类原本元素 const DEFAULT_SECOND_DATA = 'localSecondData' // 中类原本元素
...@@ -66,11 +70,11 @@ class ChooseProductPage extends Component { ...@@ -66,11 +70,11 @@ class ChooseProductPage extends Component {
} }
componentDidMount() { componentDidMount() {
console.log('本地测试数据====localMockData===', localMockData) // console.log('本地测试数据====localMockData===', localMockData)
// 赋值测试数据 // 赋值测试数据
this.setState({ this.setState({
topProcOptionList: localMockData.localTopProcOption, topProcOptionList: cloneObject(localMockData.localTopProcOption),
leftOptionList: localMockData.localLeftOption leftOptionList: cloneObject(localMockData.localLeftOption)
}) })
} }
...@@ -101,10 +105,107 @@ class ChooseProductPage extends Component { ...@@ -101,10 +105,107 @@ class ChooseProductPage extends Component {
}) })
} }
// 计算中级数量 // 计算三级回调函数
handleChangeThird(childData, superIndex){
let {leftActiveIndex, leftOptionList} = this.state
// console.log("计算三级的回调函数",childData, superIndex, leftActiveIndex)
// console.log(leftOptionList)
// 初始化
leftOptionList[leftActiveIndex][SELECTED_QUQNTITY] = 0
leftOptionList[leftActiveIndex][SELECTED_DATA_ARR] = []
leftOptionList.map(function(leItem, leIndex) {
if(!leItem[SELECTED_QUQNTITY]){
leItem[SELECTED_QUQNTITY] = 0
}
if(!leItem[SELECTED_DATA_ARR]){
leItem[SELECTED_DATA_ARR] = []
}
if(leIndex === leftActiveIndex) {
// console.log('外面 childData----', childData)
if(leItem[DEFAULT_SECOND_DATA].length && leItem[DEFAULT_SECOND_DATA][superIndex] && childData.length){
// leItem[DEFAULT_SECOND_DATA][superIndex]
// let superTip = ''
let sumCount = 0
// console.log('childData----', childData)
childData.map((chDa, chInd) => {
// let splitStr = ' / '
// if(chInd === childData.length - 1){
// splitStr = ''
// }
// superTip += `${chDa.title}x${chDa.selectedQuantity}${splitStr}`
if(!chDa[DEFAULT_FIELD]){
chDa[DEFAULT_FIELD] = 0
}
sumCount += chDa[DEFAULT_FIELD]
})
let chDa = leItem[DEFAULT_SECOND_DATA][superIndex]
let curObj = {
superId: chDa['id'], // 本地测试
superIndex: superIndex, // 本地测试
superTit: leItem['title'], // 本地测试
superImg: chDa['imgIcon'], // 本地测试
superTip: `${chDa['title'] }x${sumCount}`, // 本地测试
curTitle: chDa['title'], // 本地测试
version: 0,
lineOptions: childData,
[DEFAULT_FIELD]: sumCount
}
// 初始化
leItem[DEFAULT_SECOND_DATA][superIndex][CHILD_DATA_NAME] = []
leItem[DEFAULT_SECOND_DATA][superIndex][CHILD_DATA_NAME].push(curObj)
leItem[DEFAULT_SECOND_DATA][superIndex][DEFAULT_FIELD] = sumCount
}
// 初始化
leItem[SELECTED_QUQNTITY] = 0
leItem[SELECTED_DATA_ARR] = []
if(leItem[DEFAULT_SECOND_DATA].length){ // 本地测试 localSecondData DEFAULT_SECOND_DATA
leItem[DEFAULT_SECOND_DATA].forEach(function(chItem) {
if(chItem[DEFAULT_FIELD] > 0){
leItem[SELECTED_QUQNTITY] += Number(chItem[DEFAULT_FIELD])
leItem[SELECTED_DATA_ARR].push(chItem)
}
})
}
// // 当前选择项
// leItem[SELECTED_QUQNTITY] = count
// if(leItem[DEFAULT_SECOND_DATA].length){ // 本地测试 localSecondData DEFAULT_SECOND_DATA
// leItem[DEFAULT_SECOND_DATA].forEach(function(chItem) {
// if(chItem[coutFieName]){
// leItem[SELECTED_DATA_ARR].push(chItem)
// }
// })
// }
}
})
// console.log('计算三级之后数据---', leftOptionList)
this.setState({
leftOptionList
})
}
// 计算中级数量回调
handleChangeCount(count, coutFieName) { handleChangeCount(count, coutFieName) {
let {leftActiveIndex, leftOptionList, defaultThridShow, rightSecondData} = this.state let {leftActiveIndex, leftOptionList, defaultThridShow, rightSecondData} = this.state
// console.log('计算中级数量===', count, leftActiveIndex, defaultThridShow, rightSecondData, coutFieName) console.log('计算中级数量回调===', count, leftActiveIndex, defaultThridShow, rightSecondData, coutFieName)
leftOptionList[leftActiveIndex][SELECTED_QUQNTITY] = 0 leftOptionList[leftActiveIndex][SELECTED_QUQNTITY] = 0
leftOptionList[leftActiveIndex][SELECTED_DATA_ARR] = [] leftOptionList[leftActiveIndex][SELECTED_DATA_ARR] = []
...@@ -156,10 +257,11 @@ class ChooseProductPage extends Component { ...@@ -156,10 +257,11 @@ class ChooseProductPage extends Component {
} }
// 点击共计已选 // 点击共计已选
handleSubSelected(show) { handleSubSelected() {
// console.log('show-----', show) // console.log('show-----', show)
let {selectShowPopup} = this.state
if(this.getAllCountQuantity() !== 0) { if(this.getAllCountQuantity() !== 0) {
this.handleCloseSelectModal(!show) this.handleCloseSelectModal(!selectShowPopup)
} }
} }
...@@ -265,6 +367,9 @@ class ChooseProductPage extends Component { ...@@ -265,6 +367,9 @@ class ChooseProductPage extends Component {
// superStencilData={rightSecondData} // superStencilData={rightSecondData}
superStencilData={curRigSecoOption} superStencilData={curRigSecoOption}
superCallBack={(count, coutFieName) => this.handleChangeCount(count, coutFieName)} superCallBack={(count, coutFieName) => this.handleChangeCount(count, coutFieName)}
superReduceBack={() => this.handleSubSelected()}
thirdCallBack={(childData, superIndex) => this.handleChangeThird(childData, superIndex)}
superLeftData={leftOptionList[leftActiveIndex]}
/> />
</View> </View>
) )
...@@ -276,7 +381,7 @@ class ChooseProductPage extends Component { ...@@ -276,7 +381,7 @@ class ChooseProductPage extends Component {
let allCountQuantity = this.getAllCountQuantity() let allCountQuantity = this.getAllCountQuantity()
// console.log('返回底部按钮----', selectShowPopup) console.log('左侧数据----', leftOptionList)
return ( return (
<View style={list_common_item.sub_box}> <View style={list_common_item.sub_box}>
...@@ -284,7 +389,7 @@ class ChooseProductPage extends Component { ...@@ -284,7 +389,7 @@ class ChooseProductPage extends Component {
<TouchableOpacity <TouchableOpacity
activeOpacity={.8} activeOpacity={.8}
style={list_common_item.lef_btn} style={list_common_item.lef_btn}
onPress={() => this.handleSubSelected(selectShowPopup)} onPress={() => this.handleSubSelected()}
> >
<Text style={list_common_item.lef_tip}>{'已选:'}{allCountQuantity}</Text> <Text style={list_common_item.lef_tip}>{'已选:'}{allCountQuantity}</Text>
</TouchableOpacity> </TouchableOpacity>
......
...@@ -54,9 +54,8 @@ class EditThirdLevelPage extends Component { ...@@ -54,9 +54,8 @@ class EditThirdLevelPage extends Component {
componentDidMount() { componentDidMount() {
let {params} = this.props.navigation.state let {params} = this.props.navigation.state
let that = this let that = this
console.log('本地测试数据====localMockData===', localMockData) // console.log('本地测试数据====localMockData===', localMockData)
console.log('本地测试数据====localMockData===', localMockData.localThridOption[0][DEFAULT_SECOND_DATA][0]) // console.log('父组件传递的值==', params)
console.log('父组件传递的值==', params)
// 赋值测试数据 // 赋值测试数据
this.setState({ this.setState({
...@@ -120,9 +119,9 @@ class EditThirdLevelPage extends Component { ...@@ -120,9 +119,9 @@ class EditThirdLevelPage extends Component {
let {topProcOptionList} = this.state let {topProcOptionList} = this.state
let {params} = this.props.navigation.state let {params} = this.props.navigation.state
console.log('编辑完成====>', topProcOptionList, params.superData.superIndex) // console.log('编辑完成====>', topProcOptionList, params.superData)
console.log(topProcOptionList[0][DEFAULT_SECOND_DATA][0]) // console.log(topProcOptionList[0][DEFAULT_SECOND_DATA][0])
params.childrenPageCallBack(topProcOptionList, params.superData.superIndex) params.childrenPageCallBack(topProcOptionList, params.superData.superIndex)
this.props.navigation.goBack() this.props.navigation.goBack()
......
...@@ -25,13 +25,24 @@ import { ...@@ -25,13 +25,24 @@ import {
import PicTitDetaiCalcu from '../../common/listDataComponent/PicTitDetaiCalcu'; import PicTitDetaiCalcu from '../../common/listDataComponent/PicTitDetaiCalcu';
import PictureZoom from '../../common/listDataComponent/PictureZoom'; import PictureZoom from '../../common/listDataComponent/PictureZoom';
import {cloneObject} from '../../../utils/Utils'; import {cloneObject} from '../../../utils/Utils';
const PropTypes = require('prop-types'); import _ from "lodash";
import localMockData from './mock/sen_mock'; import localMockData from './mock/sen_mock';
const PropTypes = require('prop-types');
const DEFAULT_FIELD = 'quantity' // 计算的字段
const CHILD_DATA_NAME = 'childrenLineData' // 显示的子类数组名称
const SELECTED_QUQNTITY = 'selectedQuantity' // 中类数量
const SELECTED_DATA_ARR = 'selectedDataArr' // 中类已选元素
const DEFAULT_SECOND_DATA = 'localSecondData' // 中类原本元素
class ProductRightStyle extends Component { class ProductRightStyle extends Component {
static propTypres = { static propTypres = {
superCallBack: PropTypes.func, // 回调计算函数 superCallBack: PropTypes.func, // 回调计算函数
superReduceBack: PropTypes.func, // 减法回调
thirdCallBack: PropTypes.func, // 三级小类的回调函数
superLeftData: PropTypes.object, // 三级大类数据
} }
constructor (props) { constructor (props) {
...@@ -40,7 +51,7 @@ class ProductRightStyle extends Component { ...@@ -40,7 +51,7 @@ class ProductRightStyle extends Component {
rightSecondData: this.props.superStencilData, // 右侧分类数据-模块、螺钉盒、器械包、赋值工具 rightSecondData: this.props.superStencilData, // 右侧分类数据-模块、螺钉盒、器械包、赋值工具
selectItem : [], // 当前选中模板 -- 之前版本 selectItem : [], // 当前选中模板 -- 之前版本
toolShowPopup: false, // 螺钉盒等三个弹窗显示 -- 之前版本 toolShowPopup: false, // 螺钉盒等三个弹窗显示 -- 之前版本
singleHeadData: [], // 人工髋关节假体等数据 -- 大类 // singleHeadData: [], // 人工髋关节假体等数据 -- 大类
rowSingleData: [], // 人工髋关节假体等数据 -- 小类 rowSingleData: [], // 人工髋关节假体等数据 -- 小类
thridIsVisible: false, // 小类展示 thridIsVisible: false, // 小类展示
curThridObj: { curThridObj: {
...@@ -54,8 +65,8 @@ class ProductRightStyle extends Component { ...@@ -54,8 +65,8 @@ class ProductRightStyle extends Component {
console.log('本地测试数据====localMockData===', localMockData) console.log('本地测试数据====localMockData===', localMockData)
// 赋值测试数据 // 赋值测试数据
this.setState({ this.setState({
singleHeadData: localMockData.localSingleSeleHead, // singleHeadData: cloneObject(localMockData.localSingleSeleHead),
rowSingleData: cloneObject(localMockData.localSingleRowData) // rowSingleData: cloneObject(localMockData.localSingleRowData)
}) })
} }
...@@ -96,12 +107,12 @@ class ProductRightStyle extends Component { ...@@ -96,12 +107,12 @@ class ProductRightStyle extends Component {
// console.warn(`选中了${JSON.stringify(this.state.selectItem)}`) // console.warn(`选中了${JSON.stringify(this.state.selectItem)}`)
// } // }
// 右侧标题点击事件 // 大类右侧标题点击事件
TitleClickEvent(item, index) { TitleClickEvent(item, index) {
let {superIndex} = this.props let {superIndex} = this.props
let {rightSecondData} = this.state let {rightSecondData} = this.state
console.log('右侧标题点击事件 ', superIndex, index, item, rightSecondData[index]) // console.log('右侧标题点击事件 ', superIndex, index, item, rightSecondData[index])
if(superIndex >= 0 && superIndex < 4) { if(superIndex >= 0 && superIndex < 4) {
this.props.navigation.navigate('EditThirdLevelPage', { this.props.navigation.navigate('EditThirdLevelPage', {
...@@ -116,7 +127,7 @@ class ProductRightStyle extends Component { ...@@ -116,7 +127,7 @@ class ProductRightStyle extends Component {
}else { }else {
// 单选耗材中级标题点击之后 // 单选耗材中级标题点击之后
this.changeThrShow(true, item.title) this.changeThrShow(true, item, index)
} }
// else if ( superIndex > 0 && superIndex < 4) { // else if ( superIndex > 0 && superIndex < 4) {
// this.handleIsShowDialog() // -- 之前版本 // this.handleIsShowDialog() // -- 之前版本
...@@ -124,32 +135,197 @@ class ProductRightStyle extends Component { ...@@ -124,32 +135,197 @@ class ProductRightStyle extends Component {
} }
// 大类加减,整理加一/减一
handleAllPlusReduce(curData, curIndex, isPlus){
let {rightSecondData} = this.state
let {superLeftData} = this.props
// console.log('大类加减,整理加一/减一', curData, curIndex)
// console.log('右侧数据', rightSecondData, curData[CHILD_DATA_NAME])
let rowData = []
// if(!isPlus){
// 本地测试,获取接口数据(无数据时,加法)
rowData = cloneObject(localMockData.localSingleRowData) // 初始化数据
console.log('curData[CHILD_DATA_NAME]--本地测试,获取接口数据--', curData)
if((!curData[CHILD_DATA_NAME] || !curData[CHILD_DATA_NAME].length) && isPlus){
// let chDa = leItem[DEFAULT_SECOND_DATA][superIndex]
let curObj = {
superId: curData['id'], // 本地测试
superIndex: curIndex, // 本地测试
superTit: superLeftData['title'], // 本地测试
superImg: curData['imgIcon'], // 本地测试
superTip: curData['title'] , // 本地测试
curTitle: curData['title'], // 本地测试
version: 0,
lineOptions: rowData,
[DEFAULT_FIELD]: 0
}
// 初始化
curData[CHILD_DATA_NAME] = []
curData[CHILD_DATA_NAME].push(curObj)
curData[DEFAULT_FIELD] = 0
}
// 加法/减法
if(curData[CHILD_DATA_NAME] && curData[CHILD_DATA_NAME].length > 0){
// rowData = cloneObject(curData[CHILD_DATA_NAME][0].lineOptions)
// if(curData[CHILD_DATA_NAME][0].lineOptions){
let sumCount = 0
curData[CHILD_DATA_NAME][0].lineOptions.forEach(function(lineIt, lineInd) {
if(!lineIt[DEFAULT_FIELD]){
lineIt[DEFAULT_FIELD] = 0
}
if(!isPlus){
// 减法
if(lineIt[DEFAULT_FIELD]){
lineIt[DEFAULT_FIELD] -= 1
}else {
lineIt[DEFAULT_FIELD] = 0
}
}else {
// 加法
lineIt[DEFAULT_FIELD] += 1
}
sumCount += lineIt[DEFAULT_FIELD]
})
if(sumCount){
curData[CHILD_DATA_NAME][0][DEFAULT_FIELD] = sumCount
curData[DEFAULT_FIELD] = sumCount
curData[CHILD_DATA_NAME][0].superTip = `${curData['title']}x${sumCount}`
}else {
curData[DEFAULT_FIELD] = 0
delete curData[CHILD_DATA_NAME]
}
// rowData = cloneObject(curData[CHILD_DATA_NAME][0].lineOptions)
// }
}
// }
// else {
// // 加法
// // 本地测试,获取接口数据
// rowData = cloneObject(localMockData.localSingleRowData)
// if(curData[CHILD_DATA_NAME] && curData[CHILD_DATA_NAME].length > 0 && curData[CHILD_DATA_NAME][0].lineOptions) {
// curData[CHILD_DATA_NAME][0].lineOptions.forEach(function(lineIt) {
// if(!lineIt[DEFAULT_FIELD]){
// lineIt[DEFAULT_FIELD] = 0
// }
// lineIt[DEFAULT_FIELD] += 1
// })
// rowData = cloneObject(curData[CHILD_DATA_NAME][0].lineOptions)
// }
// // if(!curData[CHILD_DATA_NAME]){
// // // 加法需要调用接口
// // // let childData = leItem[DEFAULT_SECOND_DATA][superIndex]
// // // let curObj = {
// // // superId: childData['id'], // 本地测试
// // // superIndex: superIndex, // 本地测试
// // // superTit: leItem['title'], // 本地测试
// // // superImg: childData['imgIcon'], // 本地测试
// // // superTip: childData['title'] , // 本地测试
// // // version: 0,
// // // lineOptions: childData,
// // // [DEFAULT_FIELD]: sumCount
// // // }
// // // curData[CHILD_DATA_NAME]
// // }
// }
// console.log('修改后的数据', curData, rowData, curIndex)
// this.props.thirdCallBack(rowData, curIndex)
this.handleCalCallBack(curData, curIndex, 'rightSecondData', DEFAULT_FIELD)
this.setState({
rightSecondData
})
}
// 编辑页面的回调 // 编辑页面的回调
childrenPageCallBack(childData, index) { childrenPageCallBack(childData, index) {
let {rightSecondData} = this.state let {rightSecondData} = this.state
console.log('编辑页面的回调----', childData, index)
// 本地测试 // 本地测试
let childDataName = 'childrenLineData' // let curCalField = 'quantity'
let curCalField = 'quantity'
let that = this let that = this
rightSecondData.forEach(function(rsdItem, rsdIndex) { rightSecondData.forEach(function(rsdItem, rsdIndex) {
if(!rsdItem[childDataName]) { if(!rsdItem[CHILD_DATA_NAME]) {
rsdItem[childDataName] = [] rsdItem[CHILD_DATA_NAME] = []
// rsdItem[CHILD_DATA_NAME] = {}
} }
if(!rsdItem[curCalField]) { if(!rsdItem[DEFAULT_FIELD]) {
rsdItem[curCalField] = 0 rsdItem[DEFAULT_FIELD] = 0
} }
// if(!rsdItem[versionName]) {
// rsdItem[versionName] = 0
// }
if(rsdIndex === index) { if(rsdIndex === index) {
rsdItem[childDataName] = childData let superTip = ''
rsdItem[curCalField] = Number(rsdItem[curCalField]) + 1 childData.map((chDa, chInd) => {
let splitStr = ' / '
if(chInd === childData.length - 1){
splitStr = ''
}
superTip += `${chDa.title}x${chDa.selectedQuantity}${splitStr}`
})
let curObj = {
superId: rsdItem['id'], // 本地测试
superIndex: rsdIndex, // 本地测试
superTit: rsdItem['title'], // 本地测试
superImg: rsdItem['imgIcon'], // 本地测试
superTip: superTip , // 本地测试
version: 0,
lineOptions: childData,
[DEFAULT_FIELD]: 1
}
if(rsdItem[CHILD_DATA_NAME].length !== 0){
curObj.version = rsdItem[CHILD_DATA_NAME].length
}
let filEquArr = rsdItem[CHILD_DATA_NAME].filter(function(lineItem) {
if(_.isEqual(lineItem.lineOptions, childData)){
lineItem[DEFAULT_FIELD] += 1
return lineItem
}
})
console.log('回调后的rsdItem====', rsdItem) // 本地测试
that.handleCalCallBack(rsdItem, rsdIndex, 'rightSecondData', curCalField) if(filEquArr.length === 0) {
rsdItem[CHILD_DATA_NAME].push(curObj)
}
rsdItem[DEFAULT_FIELD] = Number(rsdItem[DEFAULT_FIELD]) + 1
// console.log('回调后的rsdItem====', rsdItem)
that.handleCalCallBack(rsdItem, rsdIndex, 'rightSecondData', DEFAULT_FIELD)
} }
}) })
console.log('回调后的数组====', rightSecondData) // console.log('回调后的数组====', rightSecondData)
this.setState({ this.setState({
rightSecondData rightSecondData
...@@ -173,62 +349,193 @@ class ProductRightStyle extends Component { ...@@ -173,62 +349,193 @@ class ProductRightStyle extends Component {
// } // }
// 修改当前小类是否展示 // 修改当前小类是否展示
changeThrShow(show, curTitle) { changeThrShow(show, superItem, superIndex) {
let {curThridObj} = this.state let {curThridObj, rowSingleData} = this.state
if(curTitle) {
curThridObj.title = curTitle console.log('修改当前小类是否展示----', show, superItem, superIndex)
let localTestImageUrls = localMockData.localTestImageUrls // 本地测试数据
let curRowData = cloneObject(localMockData.localSingleRowData)
// if(superItem){
// }else {
// curRowData = cloneObject(localMockData.localSingleRowData)
// }
if(superItem) {
// curThridObj.title = curItem.title
curThridObj = {
superItem: superItem,
superIndex: superIndex,
image:localTestImageUrls,
title: superItem.title
}
if(superItem[CHILD_DATA_NAME] && superItem[CHILD_DATA_NAME].length > 0 && superItem[CHILD_DATA_NAME][0].lineOptions) {
curRowData = cloneObject(superItem[CHILD_DATA_NAME][0].lineOptions)
}
// curThridObj = [{
// ...curItem,
// localThridOption:
// }]
// 此处应该要请求接口,获取小类数据
} }
this.setState({ this.setState({
thridIsVisible: show, thridIsVisible: show,
curThridObj curThridObj,
rowSingleData: curRowData
}) })
if(!show){
// 点击标题时回调函数修改左侧数据
this.props.thirdCallBack(rowSingleData, curThridObj.superIndex)
}
// this.props.changeThrShow(show) ============???? // this.props.changeThrShow(show) ============????
} }
// 单选耗材 - 头数据 // 单选耗材 - 头数据
handleHeadCalCallBack(item, index) { handleHeadCalCallBack(item, index) {
let { singleHeadData } = this.state // let { singleHeadData } = this.state
singleHeadData[index] = item // singleHeadData[index] = item
this.setState({ // this.setState({
singleHeadData // singleHeadData
}) // })
console.log('计算==单选耗材行数据===', item, index, rowSingleData) // console.log('计算==单选耗材行数据===', item, index, rowSingleData)
} }
// 单选耗材 - 行数据 // 单选耗材 - 行数据
handleRowCalCallBack(item, index) { handleRowCalCallBack(item, index) {
let { rowSingleData } = this.state // let { rowSingleData } = this.state
rowSingleData[index] = item // rowSingleData[index] = item
this.setState({ // this.setState({
rowSingleData // rowSingleData
}) // })
console.log('计算==单选耗材行数据===', item, index, rowSingleData) // console.log('计算==单选耗材行数据===', item, index, rowSingleData)
} }
// 修改列表计算后数据 - 头/行 // 修改列表计算后数据 - 头/行
handleCalCallBack(item, index, dataName, coutFieName){ handleCalCallBack(item, index, dataName, coutFieName){
console.log('修改列表计==',item, index, dataName, coutFieName) let {rightSecondData, rowSingleData, curThridObj} = this.state
// rowSingleData.localThridContData = item
// if(!dataName){
// }
if(dataName && this.state[dataName]) { if(dataName && this.state[dataName]) {
let curDataName = this.state[dataName] let curDataName = this.state[dataName]
curDataName[index] = item curDataName[index] = item
this.setState({ this.setState({
[dataName]: curDataName [dataName]: curDataName
}) })
console.log('计算==头/行===', index, dataName, curDataName) // console.log('计算==头/行===', index, dataName, curDataName)
if(coutFieName) { if(coutFieName) {
// console.log('修改列表计算参数==',item, index, dataName, coutFieName)
// 计算==头
let sumCount = 0 let sumCount = 0
curDataName.map(item => { curDataName.map(item => {
if(item[coutFieName]){ if(item[coutFieName]){
sumCount += Number(item[coutFieName]) sumCount += Number(item[coutFieName])
} }
}) })
console.log('计算==数量汇总=字段=', coutFieName, sumCount) // console.log('计算==数量汇总=字段=', sumCount, coutFieName)
this.props.superCallBack(sumCount, coutFieName) this.props.superCallBack(sumCount, coutFieName)
}else {
// console.log('修改【单选耗材小类】参数==',item, index, dataName, coutFieName)
// console.log('修改【单选耗材小类】计算后数据==',curDataName)
// console.log('修改【单选耗材小类】计算后父数据==',curThridObj)
// console.log('修改【单选耗材小类】计算后=显示=',this.state.thridIsVisible)
// this.props.thirdCallBack(curDataName, curThridObj.superIndex)
// 计算耗材行, 行数据加起来是头数据
// rightSecondData
// let sumCount = 0
// console.log('中类---', rightSecondData)
// console.log('小类---', curDataName)
// let listItem = rightSecondData[curThridObj.superIndex]
// listItem[CHILD_DATA_NAME]
// listItem[SELECTED_QUQNTITY] = 0
// listItem[SELECTED_DATA_ARR] = []
// listItem[DEFAULT_SECOND_DATA] = curDataName
// listItem[DEFAULT_SECOND_DATA].forEach(function(chItem) {
// if(chItem[DEFAULT_FIELD]){
// listItem[SELECTED_QUQNTITY] += Number(chItem[DEFAULT_FIELD])
// listItem[SELECTED_DATA_ARR].push(chItem)
// }
// })
// let seNum = 0, seArr = []
// curDataName.map(cuDa => {
// if(!cuDa[DEFAULT_FIELD]){
// cuDa[DEFAULT_FIELD] = 0
// }
// seNum += Number(cuDa[DEFAULT_FIELD])
// seArr.push(cuDa)
// })
// let curTempArr = [
// {
// title: '单选耗材',
// iconImg: localMockData.localTestImageUrls,
// localThridContData: curDataName, // push所有
// [SELECTED_QUQNTITY]: seNum,
// [SELECTED_DATA_ARR]: seArr
// }
// ]
// console.log('修改后的中类----', rightSecondData)
// console.log('修改后的小类 curDataName----', curDataName)
// this.childrenPageCallBack(curTempArr, curThridObj.superIndex)
// this.props.superCallBack(listItem[SELECTED_QUQNTITY], DEFAULT_FIELD)
// this.setState({
// rightSecondData
// })
// rightSecondData.map(function(listItem) {
// listItem[SELECTED_QUQNTITY] = 0
// listItem[SELECTED_DATA_ARR] = []
// if(listItem[DEFAULT_SECOND_DATA].length){
// listItem[DEFAULT_SECOND_DATA].forEach(function(chItem) {
// if(chItem[DEFAULT_FIELD]){
// listItem[SELECTED_QUQNTITY] += Number(chItem[DEFAULT_FIELD])
// listItem[SELECTED_DATA_ARR].push(chItem)
// }
// })
// }
// })
// rightSecondData.map(item => {
// if(!item[DEFAULT_FIELD]){
// item[DEFAULT_FIELD] = 0
// }
// // curDataName
// if(item[DEFAULT_FIELD]){
// sumCount += Number(item[DEFAULT_FIELD])
// }
// })
// console.log('计算==数量汇总=字段=', coutFieName, sumCount)
// this.props.superCallBack(sumCount, DEFAULT_FIELD)
} }
} }
} }
...@@ -236,14 +543,14 @@ class ProductRightStyle extends Component { ...@@ -236,14 +543,14 @@ class ProductRightStyle extends Component {
// 返回右侧二级每一列(单选耗材以上) // 返回右侧二级每一列(单选耗材以上)
renderSecondtem(item, index) { renderSecondtem(item, index) {
// let { toolShowPopup } = this.state // let { toolShowPopup } = this.state
let curCalField = 'quantity' // let curCalField = 'quantity'
return ( return (
<SafeAreaView style={styles.ri_container}> <SafeAreaView style={styles.ri_container}>
<PicTitDetaiCalcu <PicTitDetaiCalcu
listItem={item} listItem={item}
listIndex={index} listIndex={index}
calField={curCalField} calField={DEFAULT_FIELD}
subCalCallBack={(item,index) => this.handleCalCallBack(item,index,'rightSecondData', curCalField)} subCalCallBack={(item,index) => this.handleCalCallBack(item,index,'rightSecondData', DEFAULT_FIELD)}
titCallBack={(item,index) => this.TitleClickEvent(item,index)} titCallBack={(item,index) => this.TitleClickEvent(item,index)}
titText={'title'} titText={'title'}
tipTextOne={'tip1'} tipTextOne={'tip1'}
...@@ -251,6 +558,7 @@ class ProductRightStyle extends Component { ...@@ -251,6 +558,7 @@ class ProductRightStyle extends Component {
listImgIcon={'imgIcon'} listImgIcon={'imgIcon'}
listPicType={'SQUARE'} listPicType={'SQUARE'}
plusCallBack={(item, index) => this.TitleClickEvent(item,index)} plusCallBack={(item, index) => this.TitleClickEvent(item,index)}
reduceCallBack={() => this.props.superReduceBack()}
/> />
</SafeAreaView> </SafeAreaView>
) )
...@@ -273,14 +581,14 @@ class ProductRightStyle extends Component { ...@@ -273,14 +581,14 @@ class ProductRightStyle extends Component {
// 单选耗材 -- 小类每一列 // 单选耗材 -- 小类每一列
renderThridItem(item, index) { renderThridItem(item, index) {
let curCalField = 'quantity' // let curCalField = 'quantity'
return ( return (
<SafeAreaView style={styles.thr_container}> <SafeAreaView style={styles.thr_container}>
<PicTitDetaiCalcu <PicTitDetaiCalcu
listItem={item} listItem={item}
listIndex={index} listIndex={index}
calField={curCalField} calField={DEFAULT_FIELD}
subCalCallBack={(item,index) => this.handleCalCallBack(item,index, 'rowSingleData')} subCalCallBack={(item,index) => this.handleCalCallBack(item,index,'rowSingleData')}
titText={'title'} titText={'title'}
tipTextOne={'tip1'} tipTextOne={'tip1'}
tipTextTwo={'tip2'} tipTextTwo={'tip2'}
...@@ -291,12 +599,13 @@ class ProductRightStyle extends Component { ...@@ -291,12 +599,13 @@ class ProductRightStyle extends Component {
// 单选耗材 -- 小类 // 单选耗材 -- 小类
renderThridStyle() { renderThridStyle() {
let {rowSingleData} = this.state
return( return(
<View style={styles.stencil_cont}> <View style={styles.stencil_cont}>
<FlatList <FlatList
style={styles.cont_thr_list} style={styles.cont_thr_list}
keyExtractor={item => item.id} keyExtractor={item => item.id}
data={this.state.rowSingleData} data={rowSingleData}
extraData={this.state} extraData={this.state}
renderItem={({item, index}) => this.renderThridItem(item, index)} renderItem={({item, index}) => this.renderThridItem(item, index)}
/> />
...@@ -306,19 +615,21 @@ class ProductRightStyle extends Component { ...@@ -306,19 +615,21 @@ class ProductRightStyle extends Component {
// 单选耗材 -- 大类每一列 // 单选耗材 -- 大类每一列
renderOtherListItem(item, index) { renderOtherListItem(item, index) {
let curCalField = 'quantity' // let curCalField = 'quantity'
return ( return (
<SafeAreaView style={styles.oth_container}> <SafeAreaView style={styles.oth_container}>
<PicTitDetaiCalcu <PicTitDetaiCalcu
listItem={item} listItem={item}
listIndex={index} listIndex={index}
calField={curCalField} calField={DEFAULT_FIELD}
listPicType={'ROUND'} listPicType={'ROUND'}
subCalCallBack={(item,index) => this.handleCalCallBack(item, index, 'singleHeadData', curCalField)} // subCalCallBack={(item,index) => this.handleCalCallBack(item, index, 'singleHeadData', DEFAULT_FIELD)}
subCalCallBack={(item,index) => this.handleCalCallBack(item, index, 'rightSecondData', DEFAULT_FIELD)}
titCallBack={(item,index) => this.TitleClickEvent(item, index)} titCallBack={(item,index) => this.TitleClickEvent(item, index)}
titText={'title'} titText={'title'}
listImgIcon={'imgIcon'} listImgIcon={'imgIcon'}
plusCallBack={(item, index) => this.TitleClickEvent(item,index)} plusCallBack={(item, index) => this.handleAllPlusReduce(item,index, true)}
reduceCallBack={(item, index) => this.handleAllPlusReduce(item,index)}
/> />
</SafeAreaView> </SafeAreaView>
) )
...@@ -331,7 +642,8 @@ class ProductRightStyle extends Component { ...@@ -331,7 +642,8 @@ class ProductRightStyle extends Component {
<FlatList <FlatList
style={styles.cont_other_list} style={styles.cont_other_list}
keyExtractor={item => item.id} keyExtractor={item => item.id}
data={this.state.singleHeadData} // data={this.state.singleHeadData}
data={this.state.rightSecondData}
extraData={this.state} extraData={this.state}
renderItem={({item, index}) => this.renderOtherListItem(item, index)} renderItem={({item, index}) => this.renderOtherListItem(item, index)}
/> />
...@@ -357,12 +669,12 @@ class ProductRightStyle extends Component { ...@@ -357,12 +669,12 @@ class ProductRightStyle extends Component {
// 返回右侧单选耗材 -- 三级顶部标题和图片 // 返回右侧单选耗材 -- 三级顶部标题和图片
renderThrHeadStyle() { renderThrHeadStyle() {
let { thridIsVisible, curThridObj } = this.state let { thridIsVisible, curThridObj } = this.state
let localTestImageUrls = localMockData.localTestImageUrls // 本地测试数据 // let localTestImageUrls = localMockData.localTestImageUrls // 本地测试数据
// let testObj = { // // let testObj = {
// title: '测试标题__', // // title: '测试标题__',
// image: localTestImageUrls // // image: localTestImageUrls
// } // // }
curThridObj.image = localTestImageUrls // curThridObj.image = localTestImageUrls
if (thridIsVisible) { if (thridIsVisible) {
return ( return (
......
...@@ -165,7 +165,7 @@ const localSingleSeleHead_4 = [{ ...@@ -165,7 +165,7 @@ const localSingleSeleHead_4 = [{
}] }]
// 人工髋关节假体等数据 -- 大类 // 人工髋关节假体等数据 -- 大类
const localSingleSeleHead = [{ const localSingleSeleHead_5 = [{
"id": "0", "id": "0",
title: '中置器(PE)', title: '中置器(PE)',
imgIcon: require('../../../../images/model_test.png'), imgIcon: require('../../../../images/model_test.png'),
...@@ -176,7 +176,7 @@ const localSingleSeleHead = [{ ...@@ -176,7 +176,7 @@ const localSingleSeleHead = [{
}, },
{ {
"id": "1", "id": "1",
title: '内衬Harmony 28/10°OD(P 2', title: '内衬Harmony---',
imgIcon: require('../../../../images/model_test.png'), imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武', tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01', tip2: '创建时间:2020.03.01',
...@@ -185,7 +185,7 @@ const localSingleSeleHead = [{ ...@@ -185,7 +185,7 @@ const localSingleSeleHead = [{
}, },
{ {
"id": "2", "id": "2",
title: '内衬Harmony 28/10°OD(P', title: '内衬Harmony 28/10°OD',
imgIcon: require('../../../../images/model_test.png'), imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武', tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01', tip2: '创建时间:2020.03.01',
...@@ -239,6 +239,110 @@ const localSingleSeleHead = [{ ...@@ -239,6 +239,110 @@ const localSingleSeleHead = [{
} }
] ]
const localSingleSeleHead_6= [{
"id": "0",
title: '6-中置器(PE)11',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
},
{
"id": "1",
title: '6-中置器(PE)22',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
},
{
"id": "2",
title: '6-中置器(PE)33',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
}
]
const localSingleSeleHead_7 = [{
"id": "0",
title: 'h7-中置器(PE)1111',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
},
{
"id": "1",
title: 'h7-中置器(PE)2222',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
},
{
"id": "2",
title: 'h7-中置器(PE)3333',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
}
]
const localSingleSeleHead_8 = [{
"id": "0",
title: 'h8-中置器(PE)11',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
}
]
const localSingleSeleHead_9 = [{
"id": "0",
title: 'h9-中置器(PE)',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
}
]
const localSingleSeleHead_10 = [{
"id": "0",
title: 'h10-中置器(PE)11',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
}
]
const localSingleSeleHead_11 = [{
"id": "0",
title: 'h11-中置器',
imgIcon: require('../../../../images/model_test.png'),
tip1: '创建人:金城武',
tip2: '创建时间:2020.03.01',
select: false,
quantity: 0
}
]
// 人工髋关节假体等数据 -- 小类 // 人工髋关节假体等数据 -- 小类
const localSingleRowData = [ const localSingleRowData = [
{ {
...@@ -246,53 +350,41 @@ const localSingleRowData = [ ...@@ -246,53 +350,41 @@ const localSingleRowData = [
title: '规格:JS-CGO PE 10', title: '规格:JS-CGO PE 10',
tip1: '型号:10', tip1: '型号:10',
tip2: '物料代码:JUST00000104', tip2: '物料代码:JUST00000104',
value: 20,
select: false,
quantity: 0 quantity: 0
}, },
{ {
"id": "1", "id": "1",
title: '规格:JS-CGO PE 10 11', title: '规格:JS-CGO PE 11',
tip1: '型号:10', tip1: '型号:10',
tip2: '物料代码:JUST00000104', tip2: '物料代码:JUST00000102',
value: 0,
select: false,
quantity: 0 quantity: 0
}, },
{ {
"id": "2", "id": "2",
title: '规格:JS-CGO PE 10 22', title: '规格:JS-CGO PE 12',
tip1: '型号:10', tip1: '型号:10',
tip2: '物料代码:JUST00000104', tip2: '物料代码:JUST00000107',
value: 0,
select: false,
quantity: 0 quantity: 0
}, },
{ {
"id": "3", "id": "3",
title: '规格:JS-CGO PE 10 33', title: '规格:JS-CGO PE 13',
tip1: '型号:10', tip1: '型号:10',
tip2: '物料代码:JUST00000104', tip2: '物料代码:JUST00000108',
value: 0,
select: false,
quantity: 0 quantity: 0
}, },
{ {
"id": "4", "id": "4",
title: '规格:JS-CGO PE 10 44', title: '规格:JS-CGO PE 14',
tip1: '型号:10', tip1: '型号:10',
tip2: '物料代码:JUST00000104', tip2: '物料代码:JUST00000109',
value: 0,
select: false,
quantity: 0 quantity: 0
}, },
{ {
"id": "5", "id": "5",
title: '规格:JS-CGO PE 10 55', title: '规格:JS-CGO PE 15',
tip1: '型号:10', tip1: '型号:10',
tip2: '物料代码:JUST00000104', tip2: '物料代码:JUST00000110',
value: 0,
select: false,
quantity: 0 quantity: 0
} }
] ]
...@@ -321,31 +413,31 @@ const localLeftOption = [ ...@@ -321,31 +413,31 @@ const localLeftOption = [
}, },
{ {
title: '人工髋关节假体', title: '人工髋关节假体',
localSecondData: localSingleSeleHead localSecondData: localSingleSeleHead_5
}, },
{ {
title: '膝关节假体备份', title: '膝关节假体备份',
localSecondData: localSingleSeleHead localSecondData: localSingleSeleHead_6
}, },
{ {
title: '骨小梁髋关节假体', title: '骨小梁髋关节假体',
localSecondData: localSingleSeleHead localSecondData: localSingleSeleHead_7
}, },
{ {
title: '骨小梁髋关节假体22', title: '骨小梁髋22',
localSecondData: localSingleSeleHead localSecondData: localSingleSeleHead_8
}, },
{ {
title: '骨小梁髋关节假体33', title: '骨小梁33',
localSecondData: localSingleSeleHead localSecondData: localSingleSeleHead_9
}, },
{ {
title: '骨小梁髋关节假体44', title: '骨小44',
localSecondData: localSingleSeleHead localSecondData: localSingleSeleHead_10
}, },
{ {
title: '骨小梁髋关节假体55', title: '关节假体55',
localSecondData: localSingleSeleHead localSecondData: localSingleSeleHead_11
}, },
] ]
...@@ -622,7 +714,7 @@ const localBottomOption = [ ...@@ -622,7 +714,7 @@ const localBottomOption = [
export default{ export default{
localTopProcOption, localTopProcOption,
localLeftOption, localLeftOption,
localSingleSeleHead, // localSingleSeleHead,
localSingleRowData, localSingleRowData,
localTestImageUrls, localTestImageUrls,
localThridOption, localThridOption,
......
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