Commit 9e604b4b by Denglingling

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

(cherry picked from commit 12a55f69)
parent 675f3776
...@@ -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()
......
...@@ -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