Commit ccbcce47 by peii

feat: 自助下单添加银行账号,历史显示出库图片

parent aef9bcf4
...@@ -156,6 +156,20 @@ export const requestGetLineFormTrans = async (global_domain_config, params) => { ...@@ -156,6 +156,20 @@ export const requestGetLineFormTrans = async (global_domain_config, params) => {
return await GetRequest(global_domain_config, getUrlParams('/surgery/trans_line/search', params)) return await GetRequest(global_domain_config, getUrlParams('/surgery/trans_line/search', params))
} }
/**
* @description: 借货照片
* @param {*} host
* @param {*} params
* @return {*}
*/
// access_token=&surgery_collect_number=SC20220511000003&=COLLECT&latest_flag=N
export const requestCollectImage = (host, params) => {
params.operation = 'COLLECT'
params.latest_flag = 'N'
return GetRequest(host, getUrlParams('/surgery/collect_order/photo', params))
}
function requestSearching() { function requestSearching() {
return { return {
type: HISTOR_ORDER_SEARCH_DOING type: HISTOR_ORDER_SEARCH_DOING
......
...@@ -457,3 +457,7 @@ export function setLendOrderCodeValues(values) { ...@@ -457,3 +457,7 @@ export function setLendOrderCodeValues(values) {
values, values,
} }
} }
export function getPayBankAccounts(host, params) {
return GetRequest(host, getUrlParams('/surgery/app/salCustomerBank', params))
}
\ No newline at end of file
...@@ -35,7 +35,7 @@ import { ...@@ -35,7 +35,7 @@ import {
import { import {
requestGetAllBorrow, requestGetAllBorrow,
requestGetAllConsume, requestGetAllConsume,
requestGetAllTrans requestGetAllTrans,
} from '../../action/HistorAction'; } from '../../action/HistorAction';
import { show, cloneObject, dedupQuoteArray } from '../../utils/Utils'; import { show, cloneObject, dedupQuoteArray } from '../../utils/Utils';
import moment from 'moment'; import moment from 'moment';
......
...@@ -375,7 +375,7 @@ class FilterModel extends Component { ...@@ -375,7 +375,7 @@ class FilterModel extends Component {
// 默认勾选值 // 默认勾选值
initSelectPickerData() { initSelectPickerData() {
let {borrowListOptionData, consumeListOptionData, transferListOptionData} = this.state let {borrowListOptionData, consumeListOptionData, transferListOptionData} = this.state
borrowListOptionData[0].curStatus = [0, 1, 2] // 默认勾选【待审核】、【待出库】、【待还货】 borrowListOptionData[0].curStatus = [0, 1, 2, 3] // 默认勾选【待审核】、【待出库】、【待还货】
consumeListOptionData[0].curStatus = [0] // 默认勾选【待审核】 consumeListOptionData[0].curStatus = [0] // 默认勾选【待审核】
transferListOptionData[0].curStatus = [3] // 默认勾选【已提交】 transferListOptionData[0].curStatus = [3] // 默认勾选【已提交】
this.setState({ this.setState({
......
...@@ -9,6 +9,7 @@ import { ...@@ -9,6 +9,7 @@ import {
SafeAreaView SafeAreaView
} from 'react-native'; } from 'react-native';
import * as R from 'ramda'; import * as R from 'ramda';
import ImageView from 'react-native-image-preview';
import { import {
promary_color, promary_color,
safe_view, safe_view,
...@@ -31,10 +32,11 @@ import LodingModel from '../../common/LodingModel'; ...@@ -31,10 +32,11 @@ import LodingModel from '../../common/LodingModel';
import { import {
requestGetLineFormBorrow, requestGetLineFormBorrow,
requestGetLineFormConsume, requestGetLineFormConsume,
requestGetLineFormTrans requestGetLineFormTrans,
requestCollectImage,
} from '../../../action/HistorAction'; } from '../../../action/HistorAction';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { show } from '../../../utils/Utils'; import { isNotBlank, show } from '../../../utils/Utils';
import { import {
exitLoginStatus exitLoginStatus
} from '../../../action/LoginAction'; } from '../../../action/LoginAction';
...@@ -63,6 +65,10 @@ class LineOrderPage extends Component { ...@@ -63,6 +65,10 @@ class LineOrderPage extends Component {
toolShowPopup: false, // 弹窗显示 toolShowPopup: false, // 弹窗显示
popFormItem: {}, // 弹窗对象 popFormItem: {}, // 弹窗对象
collectPhotos: [],
previewVisible: false,
imageIndex: 0,
// 渲染内容,下标就是历史列表里的序号subIndex // 渲染内容,下标就是历史列表里的序号subIndex
columns: [ columns: [
// 借货订单 // 借货订单
...@@ -236,10 +242,12 @@ class LineOrderPage extends Component { ...@@ -236,10 +242,12 @@ class LineOrderPage extends Component {
case 0: case 0:
// 借货 // 借货
this.getReqBorrowLineData(data) this.getReqBorrowLineData(data)
this.getCollectPhoto(data)
break; break;
case 1: case 1:
// 消耗 // 消耗
this.getReqConsumeLineData(data) this.getReqConsumeLineData(data)
this.getCollectPhoto(data)
break; break;
case 2: case 2:
// 转单 // 转单
...@@ -376,6 +384,23 @@ class LineOrderPage extends Component { ...@@ -376,6 +384,23 @@ class LineOrderPage extends Component {
} }
} }
async getCollectPhoto(supData) {
if (!R.includes(supData.header_status, ['COLLECTED', 'RETURNED', 'CONSUMED', 'RETURNED_WAITING_CONFIRMED', 'CLOSED', 'CONFIRM_COLLECT', 'CONFIRM_RETURN', 'COLLECTING_WAITING_CONFIRM'])) {
return
}
let params = {
access_token: this.props.token,
surgery_collect_number: supData.local_his_number,
}
const res = await requestCollectImage(this.props.global_domain_config, params)
if (res.code !== 0) return
const photos = R.compose(R.addIndex(R.map)((url, idx) => {
return {uri: this.props.global_domain_config + '/' + url, idx}
}), R.pathOr([], ['data', 'photo_url']))(res)
this.setState({collectPhotos: photos});
}
// 耗材明细 隐藏/显示子项 // 耗材明细 隐藏/显示子项
handleDetailBtmCheck(flagType) { handleDetailBtmCheck(flagType) {
let {consumaData} = this.state let {consumaData} = this.state
...@@ -400,6 +425,10 @@ class LineOrderPage extends Component { ...@@ -400,6 +425,10 @@ class LineOrderPage extends Component {
}) })
} }
previewImage(imgItem) {
this.setState({previewVisible: true, imageIndex: imgItem.idx});
}
// 返回耗材内容 // 返回耗材内容
renderConsumablesItem() { renderConsumablesItem() {
let { state } = this let { state } = this
...@@ -476,10 +505,9 @@ class LineOrderPage extends Component { ...@@ -476,10 +505,9 @@ class LineOrderPage extends Component {
// 返回主要内容 // 返回主要内容
renderContItem() { renderContItem() {
let {orderSupOptions, consumaData, columns} = this.state let {orderSupOptions, consumaData, columns, collectPhotos, previewVisible, imageIndex} = this.state
let {supIndex} = this.props.navigation.state.params let {supIndex, data: headerData} = this.props.navigation.state.params
const subColumns = columns[supIndex] const subColumns = columns[supIndex]
return ( return (
<ScrollView style={styles.line_cont_scroll}> <ScrollView style={styles.line_cont_scroll}>
<View style={styles.fo_cont_inner}> <View style={styles.fo_cont_inner}>
...@@ -537,6 +565,34 @@ class LineOrderPage extends Component { ...@@ -537,6 +565,34 @@ class LineOrderPage extends Component {
</Text> </Text>
</View> </View>
</View> </View>
{
R.includes(headerData.header_status, ['COLLECTED', 'RETURNED', 'CONSUMED', 'RETURNED_WAITING_CONFIRMED', 'CLOSED', 'CONFIRM_COLLECT', 'CONFIRM_RETURN', 'COLLECTING_WAITING_CONFIRM']) &&
isNotBlank(collectPhotos) &&
(
<View style={[styles.line_cont_title_column]}>
<Text style={styles.cont_tip_tit}>出库照片</Text>
<View style={styles.image_box}>
{
collectPhotos && collectPhotos.map(item => {
return (
<TouchableOpacity onPress={() => this.previewImage(item)}>
<Image source={item} width={60} height={60} style={styles.image} resizeMode="cover" />
</TouchableOpacity>
)
})
}
</View>
<ImageView
images={collectPhotos}
source={collectPhotos[imageIndex]}
visible={previewVisible}
close={() => this.setState({previewVisible: false})}
/>
</View>
)
}
</View> </View>
</ScrollView> </ScrollView>
) )
...@@ -556,7 +612,6 @@ class LineOrderPage extends Component { ...@@ -556,7 +612,6 @@ class LineOrderPage extends Component {
const { sysProfiles } = this.props const { sysProfiles } = this.props
let {supIndex} = this.props.navigation.state.params let {supIndex} = this.props.navigation.state.params
const showSalePrice = R.compose(R.equals('Y'), R.prop('SUR_MOBILE_HISTORY_SALE_PRICE_SHOW_FLAG'))(sysProfiles) const showSalePrice = R.compose(R.equals('Y'), R.prop('SUR_MOBILE_HISTORY_SALE_PRICE_SHOW_FLAG'))(sysProfiles)
console.log(supIndex);
return ( return (
<ShowModel <ShowModel
...@@ -699,6 +754,10 @@ const styles = StyleSheet.create({ ...@@ -699,6 +754,10 @@ const styles = StyleSheet.create({
justifyContent: 'space-between', justifyContent: 'space-between',
alignItems: "center" alignItems: "center"
}, },
line_cont_title_column: {
flexDirection: 'column',
justifyContent: 'space-between',
},
cont_tip_tit: { cont_tip_tit: {
fontSize: 16, fontSize: 16,
fontFamily: font_family_regular, fontFamily: font_family_regular,
...@@ -799,6 +858,15 @@ const styles = StyleSheet.create({ ...@@ -799,6 +858,15 @@ const styles = StyleSheet.create({
width: pxSize(100), width: pxSize(100),
height: '100%' height: '100%'
}, },
image_box: {
flexDirection: 'row',
marginTop: pxSize(10),
},
image: {
width: pxSize(60),
height: pxSize(60),
marginRight: pxSize(10),
}
}) })
......
...@@ -56,6 +56,7 @@ import { ...@@ -56,6 +56,7 @@ import {
reqOrgDepartments, reqOrgDepartments,
requestQuickSurColSetting, requestQuickSurColSetting,
requestSurgeryType, requestSurgeryType,
getPayBankAccounts,
} from '../../action/SelfAction' } from '../../action/SelfAction'
import { exitLoginStatus, requestSysProfile } from '../../action/LoginAction' import { exitLoginStatus, requestSysProfile } from '../../action/LoginAction'
import { import {
...@@ -272,6 +273,12 @@ class SelfOrderPage extends Component { ...@@ -272,6 +273,12 @@ class SelfOrderPage extends Component {
name: '请选择', name: '请选择',
value: '', value: '',
}, },
{
id: '28',
title: '银行账号',
name: '请选择',
value: '',
},
], ],
subInitListOption: [], // 存储最初数据 subInitListOption: [], // 存储最初数据
submitOption: { submitOption: {
...@@ -343,6 +350,7 @@ class SelfOrderPage extends Component { ...@@ -343,6 +350,7 @@ class SelfOrderPage extends Component {
}, },
departments: [], departments: [],
surgery_types: [], surgery_types: [],
payBankAccounts: {},
} }
} }
...@@ -676,6 +684,7 @@ class SelfOrderPage extends Component { ...@@ -676,6 +684,7 @@ class SelfOrderPage extends Component {
const hospitalizationNumberProfile = this.decodeDisplayLendProfile('HOSPITALICATION_NUMBER_DISPLAY') const hospitalizationNumberProfile = this.decodeDisplayLendProfile('HOSPITALICATION_NUMBER_DISPLAY')
const patientBedProfile = this.decodeDisplayLendProfile('PATIENT_BED') const patientBedProfile = this.decodeDisplayLendProfile('PATIENT_BED')
const printProfile = this.decodeDisplayLendProfile('COLLECT_PRINT_TEMPLATE') const printProfile = this.decodeDisplayLendProfile('COLLECT_PRINT_TEMPLATE')
const payBankProfile = this.decodeDisplayLendProfile('PAY_BANK_ACCOUNT')
for (let chIndex in listOptionData) { for (let chIndex in listOptionData) {
if ( if (
...@@ -714,7 +723,8 @@ class SelfOrderPage extends Component { ...@@ -714,7 +723,8 @@ class SelfOrderPage extends Component {
(chIndex == 21 && patientBedProfile.required) || (chIndex == 21 && patientBedProfile.required) ||
(chIndex == 22 && surgeryNameProfile.required) || (chIndex == 22 && surgeryNameProfile.required) ||
(chIndex == 23 && hospitalizationNumberProfile.required) || (chIndex == 23 && hospitalizationNumberProfile.required) ||
(chIndex == 24 && printProfile.required)) && (chIndex == 24 && printProfile.required) &&
(chIndex == 28 && payBankProfile.required)) &&
!listOptionData[chIndex].value !listOptionData[chIndex].value
) { ) {
tempTit = listOptionData[chIndex].title tempTit = listOptionData[chIndex].title
...@@ -760,6 +770,7 @@ class SelfOrderPage extends Component { ...@@ -760,6 +770,7 @@ class SelfOrderPage extends Component {
that.clearInitNameAndValue(14, 18) that.clearInitNameAndValue(14, 18)
const dep = R.find(R.propEq('department_code', item.value))(departments) const dep = R.find(R.propEq('department_code', item.value))(departments)
that.autoSetBMAndSFAndDMWhildSelectDepartment(dep) that.autoSetBMAndSFAndDMWhildSelectDepartment(dep)
that.getPayBankAccounts()
} }
if (itemTitle === '客户名称') { if (itemTitle === '客户名称') {
that.clearInitNameAndValue(2) that.clearInitNameAndValue(2)
...@@ -902,7 +913,8 @@ class SelfOrderPage extends Component { ...@@ -902,7 +913,8 @@ class SelfOrderPage extends Component {
if (data && data.length > 0) { if (data && data.length > 0) {
data.forEach(item => { data.forEach(item => {
let obj = {} let obj = {}
;(obj.name = item[nameType]), (obj.value = item[valueType]) obj.name = item[nameType]
obj.value = item[valueType]
result.push(obj) result.push(obj)
}) })
} }
...@@ -1222,6 +1234,7 @@ class SelfOrderPage extends Component { ...@@ -1222,6 +1234,7 @@ class SelfOrderPage extends Component {
() => { () => {
that.customerGetBill() that.customerGetBill()
that.customerGetShip() that.customerGetShip()
that.getPayBankAccounts()
}, },
) )
} }
...@@ -1734,6 +1747,62 @@ class SelfOrderPage extends Component { ...@@ -1734,6 +1747,62 @@ class SelfOrderPage extends Component {
} }
} }
/**
* @description: 银行账号
* @param {*} curData
* @return {*}
*/
handlePayBankSelect(curData) {
if (!this.judgeOrgIsNull()) return
this.setState(
{
currentTitle: curData.title,
currentItem: {
name: curData.name,
value: curData.value,
},
},
() => {
const { listOptionData, payBankAccounts } = this.state
this.setState({
showTypePop: true,
listCurrentOption: R.pathOr([], [listOptionData[2].value], payBankAccounts),
})
},
)
}
async getPayBankAccounts() {
const payBankProfile = this.decodeDisplayLendProfile('PAY_BANK_ACCOUNT')
if (!payBankProfile.show) return
const { payBankAccounts, listOptionData } = this.state
const customer = this.state.listOptionData[2]
if (isNotBlank(payBankAccounts[listOptionData[2].value])) {
return
}
const params = {
customer_code: customer.value,
access_token: this.props.token,
}
const res = await getPayBankAccounts(this.props.global_domain_config, params)
let accounts = []
if (res.code === 0) {
console.warn(res)
accounts = R.map(
R.applySpec({
name: R.prop('account_number'),
value: R.prop('id'),
}),
)(res.data)
}
payBankAccounts[listOptionData[2].value] = accounts
this.setState({ payBankAccounts })
}
// 备注 输入 // 备注 输入
handleRemarkInput(text, curData) { handleRemarkInput(text, curData) {
let { listOptionData } = this.state let { listOptionData } = this.state
...@@ -1976,6 +2045,7 @@ class SelfOrderPage extends Component { ...@@ -1976,6 +2045,7 @@ class SelfOrderPage extends Component {
tempSubOption.take_cert_flag = state.listOptionData[9].value tempSubOption.take_cert_flag = state.listOptionData[9].value
tempSubOption.replace_item_flag = state.listOptionData[10].value tempSubOption.replace_item_flag = state.listOptionData[10].value
tempSubOption.surgery_desc = state.listOptionData[11].value tempSubOption.surgery_desc = state.listOptionData[11].value
tempSubOption.remark = state.listOptionData[11].value
tempSubOption.voice_url = state.listOptionData[12].value tempSubOption.voice_url = state.listOptionData[12].value
tempSubOption.image_url = state.listOptionData[13].uploadImgArr.join(',') tempSubOption.image_url = state.listOptionData[13].uploadImgArr.join(',')
...@@ -1995,12 +2065,14 @@ class SelfOrderPage extends Component { ...@@ -1995,12 +2065,14 @@ class SelfOrderPage extends Component {
const hospitalizationNumberProfile = this.decodeDisplayLendProfile('HOSPITALICATION_NUMBER_DISPLAY') const hospitalizationNumberProfile = this.decodeDisplayLendProfile('HOSPITALICATION_NUMBER_DISPLAY')
const patientBedProfile = this.decodeDisplayLendProfile('PATIENT_BED') const patientBedProfile = this.decodeDisplayLendProfile('PATIENT_BED')
const printProfile = this.decodeDisplayLendProfile('COLLECT_PRINT_TEMPLATE') const printProfile = this.decodeDisplayLendProfile('COLLECT_PRINT_TEMPLATE')
const payBankProfile = this.decodeDisplayLendProfile('PAY_BANK_ACCOUNT')
patientNameProfile.show && (tempSubOption.patient_name = state.listOptionData[20].value) patientNameProfile.show && (tempSubOption.patient_name = state.listOptionData[20].value)
patientBedProfile.show && (tempSubOption.patient_bed = state.listOptionData[21].value) patientBedProfile.show && (tempSubOption.patient_bed = state.listOptionData[21].value)
surgeryNameProfile.show && (tempSubOption.surgery_name = state.listOptionData[22].value) surgeryNameProfile.show && (tempSubOption.surgery_name = state.listOptionData[22].value)
hospitalizationNumberProfile.show && (tempSubOption.hospitalization_number = state.listOptionData[23].value) hospitalizationNumberProfile.show && (tempSubOption.hospitalization_number = state.listOptionData[23].value)
printProfile.show && (tempSubOption.collect_print_template = state.listOptionData[24].value) printProfile.show && (tempSubOption.collect_print_template = state.listOptionData[24].value)
payBankProfile.show && (tempSubOption.pay_bank_account = state.listOptionData[28].value)
sysValues.OBS_MOBILE_SUPPLYMENT_DISPLAY > 0 && (tempSubOption.supplement_flag = state.listOptionData[25].value) sysValues.OBS_MOBILE_SUPPLYMENT_DISPLAY > 0 && (tempSubOption.supplement_flag = state.listOptionData[25].value)
sysValues.OBS_MOBILE_LONG_COLLECT_DISPLAY > 0 && (tempSubOption.is_long_collected = state.listOptionData[26].value) sysValues.OBS_MOBILE_LONG_COLLECT_DISPLAY > 0 && (tempSubOption.is_long_collected = state.listOptionData[26].value)
...@@ -2351,6 +2423,7 @@ class SelfOrderPage extends Component { ...@@ -2351,6 +2423,7 @@ class SelfOrderPage extends Component {
const hospitalizationNumberProfile = this.decodeDisplayLendProfile('HOSPITALICATION_NUMBER_DISPLAY') const hospitalizationNumberProfile = this.decodeDisplayLendProfile('HOSPITALICATION_NUMBER_DISPLAY')
const patientBedProfile = this.decodeDisplayLendProfile('PATIENT_BED') const patientBedProfile = this.decodeDisplayLendProfile('PATIENT_BED')
const printProfile = this.decodeDisplayLendProfile('COLLECT_PRINT_TEMPLATE') const printProfile = this.decodeDisplayLendProfile('COLLECT_PRINT_TEMPLATE')
const payBankProfile = this.decodeDisplayLendProfile('PAY_BANK_ACCOUNT')
return ( return (
<View style={styles.list_cont}> <View style={styles.list_cont}>
...@@ -2476,6 +2549,18 @@ class SelfOrderPage extends Component { ...@@ -2476,6 +2549,18 @@ class SelfOrderPage extends Component {
listCallBack={() => this.handleShipCheck(listOptionData[4])} listCallBack={() => this.handleShipCheck(listOptionData[4])}
listHasArrow={true} listHasArrow={true}
/> />
{payBankProfile.show && (
<PageListArrow
listItem={listOptionData[28]}
listHasAster={payBankProfile.required}
listTitle={'title'}
listName={'name'}
listCallBack={() => this.handlePayBankSelect(listOptionData[28])}
isTitInputStyle={true}
listHasArrow={true}
listCellStyle={styles.list_cell_box}
/>
)}
<PageListArrow <PageListArrow
listActOpa={0.8} listActOpa={0.8}
// listHasAster={true} // listHasAster={true}
......
...@@ -5764,6 +5764,22 @@ react-native-image-picker@0.28.0: ...@@ -5764,6 +5764,22 @@ react-native-image-picker@0.28.0:
resolved "https://registry.npm.taobao.org/react-native-image-picker/download/react-native-image-picker-0.28.0.tgz#e3f26df170ea932e9c0404624fbced2f59a300e3" resolved "https://registry.npm.taobao.org/react-native-image-picker/download/react-native-image-picker-0.28.0.tgz#e3f26df170ea932e9c0404624fbced2f59a300e3"
integrity sha1-4/Jt8XDqky6cBARiT7ztL1mjAOM= integrity sha1-4/Jt8XDqky6cBARiT7ztL1mjAOM=
react-native-image-preview@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/react-native-image-preview/-/react-native-image-preview-0.3.1.tgz#e949369bb84acab692207538f72c15ce736fa53d"
integrity sha512-gmNn9OZ8KwdxbM4HJirya5XtjrhScsW6Ax2mdI+f53H5QbVEZt39wCxbYFshPHLctJ0SfbVQ9/CYRoCjUWmOCg==
dependencies:
prop-types "^15.6.0"
react-native-image-progress "1.0.1"
react-native-progress "3.4.0"
react-native-image-progress@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/react-native-image-progress/-/react-native-image-progress-1.0.1.tgz#5ceb4cfefd39d7ebdffab802bc984b5a0fc41021"
integrity sha512-wdYyrhrYvkBZanDCuc0F62Chq8n4QfhZN5G9JyHgPkNAourWJJTuz4wt8Kl6XhNiFaBgN5lX/NCMPCCP2Tz5pQ==
dependencies:
prop-types "^15.5.10"
react-native-image-zoom-viewer@3.0.1: react-native-image-zoom-viewer@3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.npm.taobao.org/react-native-image-zoom-viewer/download/react-native-image-zoom-viewer-3.0.1.tgz#a2bd5fb3bda15e0686ce88fcde8576726495d7fb" resolved "https://registry.npm.taobao.org/react-native-image-zoom-viewer/download/react-native-image-zoom-viewer-3.0.1.tgz#a2bd5fb3bda15e0686ce88fcde8576726495d7fb"
...@@ -5793,6 +5809,13 @@ react-native-postcss-transformer@^1.2.4: ...@@ -5793,6 +5809,13 @@ react-native-postcss-transformer@^1.2.4:
postcss-load-config "^2.0.0" postcss-load-config "^2.0.0"
semver "^5.6.0" semver "^5.6.0"
react-native-progress@3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/react-native-progress/-/react-native-progress-3.4.0.tgz#c002e6efb2f0b82dd6889510e669c492da2718ac"
integrity sha512-Kqc+wwQHyBG83Fnbb84oM9qqgn1d51ABVS/RK36V+35KmihEYx33WijdQT05iwT+tfJWGArvFLsZWbd8mKyJ6A==
dependencies:
prop-types "^15.5.8"
react-native-root-siblings@^3.0.0: react-native-root-siblings@^3.0.0:
version "3.2.3" version "3.2.3"
resolved "https://registry.npm.taobao.org/react-native-root-siblings/download/react-native-root-siblings-3.2.3.tgz#df5a1cff3a3a1f433f57320e1cae719f1b15a3f2" resolved "https://registry.npm.taobao.org/react-native-root-siblings/download/react-native-root-siblings-3.2.3.tgz#df5a1cff3a3a1f433f57320e1cae719f1b15a3f2"
......
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