Selaa lähdekoodia

设置NO 长度

wushaodong 3 vuotta sitten
vanhempi
sitoutus
35f32befff

BIN
android/app/release/gfps.apk


+ 25 - 10
jscore/pages/Desktop/Home.js

@@ -1,8 +1,10 @@
 import React, {Component} from 'react';
-import {StyleSheet, View, Text, DeviceEventEmitter, ScrollView,TouchableOpacity, Dimensions} from 'react-native';
+import {StyleSheet, View, Text, DeviceEventEmitter, ScrollView, TouchableOpacity, Dimensions} from 'react-native';
 import {Button} from '@ant-design/react-native';
 import ReadUHF from "../../utils/ReadUHF";
 import Barcode from "react-native-barcode-builder";
+import SyncStorage from "sync-storage";
+
 let screenW = Dimensions.get('window').width;
 
 class DesktopHome extends Component {
@@ -11,6 +13,8 @@ class DesktopHome extends Component {
         this.state = {
             data: [],
             userData: [],
+            no_begin: '8',
+            no_length: '14',
             error: 0,
             isStart: true,
             timerID: [],
@@ -52,7 +56,13 @@ class DesktopHome extends Component {
             this.setState({data, userData, error})
         }
     }
+
     _start = () => {
+        const no_begin = SyncStorage.get('no_begin')
+        const no_length = SyncStorage.get('no_length')
+        if (no_begin && no_begin) {
+            this.setState({no_begin, no_length})
+        }
         let {isStart} = this.state;
         ReadUHF.doRead()
         this.setState({isStart: !isStart})
@@ -61,12 +71,17 @@ class DesktopHome extends Component {
         this.setState({userData: [], data: [], error: 0})
     }
     onKeyDown = () => {
+        const no_begin = SyncStorage.get('no_begin')
+        const no_length = SyncStorage.get('no_length')
+        if (no_begin && no_begin) {
+            this.setState({no_begin, no_length})
+        }
         let {isStart} = this.state;
         this.setState({isStart: !isStart})
     }
 
     dianYaRender = (item, index) => {
-        const assetID = item.assetID.slice(7, 21)
+        const assetID = item.assetID.slice(parseInt(this.state.no_begin) -1, parseInt(this.state.no_begin)+parseInt(this.state.no_length)-1)
         const releaseDates = item.releaseDate.split('-')
         const releaseDate = releaseDates[0] + "年" + releaseDates[1] + "月"
         return (
@@ -78,7 +93,7 @@ class DesktopHome extends Component {
                 <View style={styles.betweenView}>
                     <Text style={styles.textColor3}>型号:{item.model}</Text>
                     <View style={styles.centerWidth}>
-                        <Text style={styles.textColor3}>电压等级:{item.voltageLevel}</Text>
+                        <Text style={styles.textColor3}>电压等级:{item.voltageLevel}kV</Text>
                     </View>
                     <Text style={styles.textColor3}>绕组数量:{item.secondWindingCount}</Text>
                 </View>
@@ -94,7 +109,7 @@ class DesktopHome extends Component {
                 </View>
                 <View style={styles.betweenView}>
                     <View style={styles.centerView}>
-                        <Text style={styles.textColor4}>{item.secondVoltage}</Text>
+                        <Text style={styles.textColor4}>{item.secondVoltage}kV</Text>
                     </View>
                     <View style={styles.centerWidth}>
                         <Text style={styles.textColor4}>{item.accuracy}</Text>
@@ -109,7 +124,7 @@ class DesktopHome extends Component {
                 <View style={styles.betweenView}>
                     <Text style={styles.textColor3}>安装场所:{item.place}</Text>
                     <View style={styles.centerWidth}>
-                        <Text style={styles.textColor3}>额定负荷:{item.ratedLoad}</Text>
+                        <Text style={styles.textColor3}>额定负荷:{item.ratedLoad}VA</Text>
                     </View>
                     <Text style={styles.textColor3}>电压因数:{item.voltageFactor}</Text>
                 </View>
@@ -147,7 +162,7 @@ class DesktopHome extends Component {
     }
 
     dianLiuRender = (item, index) => {
-        const assetID = item.assetID.slice(7, 21)
+        const assetID = item.assetID.slice(parseInt(this.state.no_begin) -1, parseInt(this.state.no_begin)+parseInt(this.state.no_length)-1)
         const releaseDates = item.releaseDate.split('-')
         const releaseDate = releaseDates[0] + "年" + releaseDates[1] + "月"
         return (
@@ -159,7 +174,7 @@ class DesktopHome extends Component {
                 <View style={styles.betweenView}>
                     <Text style={styles.textColor3}>型号:{item.model}</Text>
                     <View style={styles.centerWidth}>
-                        <Text style={styles.textColor3}>电压等级:{item.voltageLevel}</Text>
+                        <Text style={styles.textColor3}>电压等级:{item.voltageLevel}kV</Text>
                     </View>
                     <Text style={styles.textColor3}>绕组数量:{item.secondWindingCount}</Text>
                 </View>
@@ -175,10 +190,10 @@ class DesktopHome extends Component {
                 </View>
                 <View style={styles.betweenView}>
                     <View style={styles.centerView}>
-                        <Text style={styles.textColor4}>{item.firstCurrent}</Text>
+                        <Text style={styles.textColor4}>{item.firstCurrent}A</Text>
                     </View>
                     <View style={styles.centerWidth}>
-                        <Text style={styles.textColor4}>{item.senondCurrent}</Text>
+                        <Text style={styles.textColor4}>{item.senondCurrent}A</Text>
                     </View>
                     <View style={styles.rightWidth}>
                         <Text style={styles.textColor4}>{item.powerFactor}</Text>
@@ -190,7 +205,7 @@ class DesktopHome extends Component {
                 <View style={styles.betweenView}>
                     <Text style={styles.textColor3}>安装场所:{item.place}</Text>
                     <View style={styles.centerWidth}>
-                        <Text style={styles.textColor3}>额定负荷:{item.ratedLoad}</Text>
+                        <Text style={styles.textColor3}>额定负荷:{item.ratedLoad}VA</Text>
                     </View>
                     <Text style={styles.textColor3}>准确等级:{item.accuracy}</Text>
                 </View>

+ 1 - 1
jscore/pages/Desktop/Index.js

@@ -18,7 +18,7 @@ const HomeStack = createStackNavigator({
     setPower: {
         screen: setPower,
         navigationOptions: {
-            title: '设置功率'
+            title: '设置'
         },
     },
 },

+ 90 - 23
jscore/pages/Desktop/setPower.js

@@ -1,13 +1,16 @@
 import React, {Component} from 'react';
-import {Text, View} from 'react-native';
-import {Button, Slider} from "@ant-design/react-native";
+import {Text, View, TextInput, StyleSheet} from 'react-native';
+import {Button, Slider, Toast, Provider} from "@ant-design/react-native";
 import ReadUHF from "../../utils/ReadUHF";
+import SyncStorage from "sync-storage";
 
 class setPower extends Component {
     constructor(props) {
         super(props);
         this.state = {
             power: 30,
+            no_begin: '8',
+            no_length: '14',
         };
     }
 
@@ -17,39 +20,103 @@ class setPower extends Component {
                 power: parseInt(ver)
             })
         });
+        const no_begin = SyncStorage.get('no_begin')
+        const no_length = SyncStorage.get('no_length')
+        if (no_begin && no_begin) {
+            this.setState({no_begin, no_length})
+        }
     }
 
     _savePower = () => {
+        let {no_begin, no_length} = this.state;
+        no_begin = parseInt(no_begin)
+        no_length = parseInt(no_length)
+
+        if (isNaN(no_begin) || isNaN(no_length)) {
+            Toast.info('数字填写有误!')
+            return
+        }
+
+        if (no_begin < 1 || no_begin > 20) {
+            Toast.info('起始地址只能填1到20之间的数字!')
+            return
+        }
+        if (no_length < 1 || no_length > 20) {
+            Toast.info('长度只能填1到20之间数字!')
+            return
+        }
+        SyncStorage.set('no_begin', no_begin.toString())
+        SyncStorage.set('no_length', no_length.toString())
         ReadUHF.setPower(this.state.power)
         this.props.navigation.goBack();
     }
 
     render() {
         return (
-            <View style={{margin: 10}}>
-                <Text>当前功率:{this.state.power}</Text>
-                <Slider
-                    value={this.state.power}
-                    onChange={(value) => {
-                        this.setState({power: parseInt(value)})
-                    }}
-                    min={5}
-                    max={30}/>
-                <Button onPress={() => this._savePower()}
-                        type="primary"
-                        style={{
-                            marginTop: 20,
-                            backgroundColor: '#0099FF',
-                            borderWidth: 0,
+            <Provider>
+                <View style={{margin: 10}}>
+                    <Text style={styles.font14}>当前功率:{this.state.power}</Text>
+                    <Slider
+                        value={this.state.power}
+                        onChange={(value) => {
+                            this.setState({power: parseInt(value)})
                         }}
-                >
-                    <Text style={{color: '#fff'}}>
-                        保存
-                    </Text>
-                </Button>
-            </View>
+                        min={5}
+                        max={30}/>
+                    <View style={{flexDirection: 'row',}}>
+                        <View style={styles.titleCenter}>
+                            <Text style={styles.font14}>NO起始地址:</Text>
+                        </View>
+                        <TextInput
+                            style={styles.textinput}
+                            keyboardType={'numeric'}
+                            onChangeText={text => this.setState({no_begin: text})}
+                            value={this.state.no_begin}
+                            placeholder={'请输入'}
+                        />
+                        <View style={styles.titleCenter}>
+                            <Text style={styles.font14}>长度:</Text>
+                        </View>
+                        <TextInput
+                            style={styles.textinput}
+                            keyboardType={'numeric'}
+                            onChangeText={text => this.setState({no_length: text})}
+                            value={this.state.no_length}
+                            placeholder={'请输入'}
+                        />
+                    </View>
+                    <Button onPress={() => this._savePower()}
+                            type="primary"
+                            style={{
+                                marginTop: 20,
+                                backgroundColor: '#0099FF',
+                                borderWidth: 0,
+                            }}
+                    >
+                        <Text style={{color: '#fff'}}>
+                            保存
+                        </Text>
+                    </Button>
+                </View>
+            </Provider>
         )
     }
 }
 
+const styles = StyleSheet.create({
+    textinput: {
+        width: 60,
+        textAlign: "left",
+        height: 45,
+        borderBottomWidth: 1,
+        borderBottomColor: '#878787',
+    },
+    font14: {
+        color: '#333',
+        fontSize: 14,
+    },
+    titleCenter: {
+        justifyContent: 'center',
+    },
+})
 export default setPower