Quellcode durchsuchen

Amend add vehicle page

vbea vor 2 Jahren
Ursprung
Commit
5d5f16588b

+ 5 - 3
Strides-APP/app/i18n/locales/en.js

@@ -199,6 +199,7 @@ export default {
     msgInputBrand: "Please type brand",
     msgInputModel: "Please type model",
     msgInputPlate: "Please type license plate",
+    msgInputCarNo: "Please type car plate number",
     msgInputBatCap: "Please type battery capacity",
     msgSelectBrand: "Please select brand",
     msgSelectModel: "Please select model",
@@ -229,13 +230,14 @@ export default {
     userType: "User Type",
     vehicleBrand: "Brand",
     vehicleModel: "Model",
-    selectBrand: "Select Brand *",
-    selectModel: "Select Model *",
+    selectBrand: "Select Brand",
+    selectModel: "Select Model",
     selectUpload: "Select To Upload",
     max4mbPhoto: "(Max 4 mb Per Photo)",
     connecterType: "Connecter Type",
     selectConnecterType: "Select Connecter Type",
-    enterLicensePlate: "Enter License Plate *",
+    enterLicensePlate: "Enter License Plate",
+    enterLicenseNumber: "Enter Car Plate Number",
     enterBatteryCapacity: "Enter Battery Capacity",
     plsUploadImageCar: "Please Upload An Image Of Your Car",
     btnAdd: "Add",

+ 5 - 3
Strides-APP/app/i18n/locales/zh-TW.js

@@ -199,6 +199,7 @@ export default {
     msgInputBrand: "請輸入車輛品牌",
     msgInputModel: "請輸入車輛型號",
     msgInputPlate: "請輸入車牌號",
+    msgInputCarNo: "請輸入車牌號",
     msgInputBatCap: "請輸入電池容量",
     msgSelectBrand: "請選擇車輛品牌",
     msgSelectModel: "請選擇車輛型號",
@@ -229,13 +230,14 @@ export default {
     userType: "賬號類別",
     vehicleBrand: "車輛品牌",
     vehicleModel: "車輛型號",
-    selectBrand: "請選擇車輛品牌 *",
-    selectModel: "請選擇車輛型號 *",
+    selectBrand: "請選擇車輛品牌",
+    selectModel: "請選擇車輛型號",
     selectUpload: "點擊上傳圖片",
     max4mbPhoto: "(圖片最大為4MB)",
     connecterType: "充電器類型",
     selectConnecterType: "請選擇充電器類型",
-    enterLicensePlate: "請輸入車牌號 *",
+    enterLicensePlate: "請輸入車牌號",
+    enterLicenseNumber: "請輸入車牌號",
     enterBatteryCapacity: "請輸入電池容量",
     plsUploadImageCar: "請上傳您的車輛照片",
     btnAdd: "添加車輛",

+ 5 - 3
Strides-APP/app/i18n/locales/zh.js

@@ -199,6 +199,7 @@ export default {
     msgInputBrand: "请输入车辆品牌",
     msgInputModel: "请输入车辆型号",
     msgInputPlate: "请输入车牌号",
+    msgInputCarNo: "请输入车牌号",
     msgInputBatCap: "请输入电池容量",
     msgSelectBrand: "请选择车辆品牌",
     msgSelectModel: "请选择车辆型号",
@@ -229,13 +230,14 @@ export default {
     userType: "账户类型",
     vehicleBrand: "车辆品牌",
     vehicleModel: "车辆型号",
-    selectBrand: "请选择车辆品牌 *",
-    selectModel: "请选择车辆型号 *",
+    selectBrand: "请选择车辆品牌",
+    selectModel: "请选择车辆型号",
     selectUpload: "点击上传图片",
     max4mbPhoto: "(图片限制最大4MB)",
     connecterType: "充电器类型",
     selectConnecterType: "请选择充电器类型",
-    enterLicensePlate: "请输入车牌号 *",
+    enterLicensePlate: "请输入车牌号",
+    enterLicenseNumber: "请输入车牌号",
     enterBatteryCapacity: "请输入电池容量",
     plsUploadImageCar: "请上传您的车辆照片",
     btnAdd: "添加车辆",

+ 1 - 1
Strides-APP/app/pages/my/ProfileV2.js

@@ -157,7 +157,7 @@ export default class ProfileV2 extends Component {
         <Button
           style={styles.cardView}
           viewStyle={styles.profileItem}
-          onClick={() => startPage(app.v3.vehicleModel ? PageList.vehiclesListV2 : PageList.myVehicles)}>
+          onClick={() => startPage(app.vehicle.newVersionPage ? PageList.vehiclesListV2 : PageList.myVehicles)}>
           <Image
             style={styles.cardIcon}
             source={require('../../images/user/card-vehicle.png')}/>

+ 38 - 21
Strides-APP/app/pages/vehicles/VehicleDetail.js

@@ -13,6 +13,7 @@ import ImageCropPicker from 'react-native-image-crop-picker';
 import { UploadThemes } from '../../components/ThemesConfig';
 import apiUpload from '../../api/apiUpload';
 import utils from '../../utils/utils';
+import app from '../../../app.json';
 
 const options = {
   width: 300,
@@ -159,7 +160,11 @@ export default class VehicleDetail extends Component {
       return;
     }
     if (!this.state.vehicleInfo.licensePlate) {
-      toastShort($t('profile.msgInputPlate'));
+      if (app.vehicle.showLicencePlate) {
+        toastShort($t('profile.msgInputPlate'));
+      } else {
+        toastShort($t('profile.msgInputCarNo'));
+      }
       return;
     }
     /*if (!this.state.vehicleInfo.batteryCapacity) {
@@ -206,6 +211,14 @@ export default class VehicleDetail extends Component {
     });
   }
 
+  getAsterisk() {
+    if (app.vehicle.showRequiredAsterisk) {
+      return " *";
+    } else {
+      return "";
+    }
+  }
+
   render() {
     return (
       <ScrollView
@@ -223,7 +236,7 @@ export default class VehicleDetail extends Component {
         <Dropdown
           style={styles.formDropdown}
           list={this.state.brandOptions}
-          placeholder={$t('profile.selectBrand')}
+          placeholder={$t('profile.selectBrand') + this.getAsterisk()}
           title={$t('profile.vehicleBrand')}
           value={this.state.vehicleInfo.brand}
           autoSelect={false}
@@ -235,7 +248,7 @@ export default class VehicleDetail extends Component {
         <Dropdown
           style={styles.formDropdown}
           list={this.state.modelOptions}
-          placeholder={$t('profile.selectModel')}
+          placeholder={$t('profile.selectModel') + this.getAsterisk()}
           title={$t('profile.vehicleModel')}
           value={this.state.vehicleInfo.vehicleModelId}
           valueKey={"vehicleModelId"}
@@ -246,7 +259,7 @@ export default class VehicleDetail extends Component {
         <TextInput
           style={styles.formInput}
           defaultValue={this.state.vehicleInfo.licensePlate}
-          placeholder={$t('profile.enterLicensePlate')}
+          placeholder={$t(app.vehicle.showLicencePlate ? 'profile.enterLicensePlate' : 'profile.enterLicenseNumber') + this.getAsterisk()}
           placeholderTextColor={textPlacehoder}
           maxLength={20}
           onChangeText={text => this.changeForm("licensePlate", text)}
@@ -263,24 +276,27 @@ export default class VehicleDetail extends Component {
           />
           <TextView style={styles.titleText}>kWh</TextView>
         </View>
-        <View style={ui.flexc}>
-          <MaterialCommunityIcons
-            name="form-dropdown"
-            size={20}
-            color={textPrimary}
-            style={ui.bold}
+        { app.vehicle.requireConnectorType && <>
+          <View style={ui.flexc}>
+            <MaterialCommunityIcons
+              name="form-dropdown"
+              size={20}
+              color={textPrimary}
+              style={ui.bold}
+            />
+            <TextView style={styles.titleText}>{$t('profile.connecterType')}</TextView>
+          </View>
+          <Dropdown
+            style={styles.formDropdown}
+            list={this.state.typeOptions}
+            placeholder={$t('profile.selectConnecterType')}
+            title={$t('profile.connecterType')}
+            value={this.state.vehicleInfo.connectorType}
+            onChange={value => this.changeForm("connectorType", value)}
+            autoSelect={false}
           />
-          <TextView style={styles.titleText}>{$t('profile.connecterType')}</TextView>
-        </View>
-        <Dropdown
-          style={styles.formDropdown}
-          list={this.state.typeOptions}
-          placeholder={$t('profile.selectConnecterType')}
-          title={$t('profile.connecterType')}
-          value={this.state.vehicleInfo.connectorType}
-          onChange={value => this.changeForm("connectorType", value)}
-          autoSelect={false}
-        />
+        </> }
+        { app.vehicle.requireImageUpload && <>
         <View style={ui.flexc}>
           <MaterialCommunityIcons
             name="tray-arrow-up"
@@ -313,6 +329,7 @@ export default class VehicleDetail extends Component {
             </Pressable>
           }
         </View>
+        </> }
         <View style={styles.buttonView}>
           <Button
             text={$t('common.save')}

+ 15 - 1
Strides-APP/app/pages/vehicles/VehicleListV2.js

@@ -84,6 +84,20 @@ export default class VehicleListV2 extends Component {
     });
   }
 
+  showTypeCapacity(item) {
+    let str = "";
+    if (item.connectorType) {
+      str += item.connectorType;
+    }
+    if (item.batteryCapacity) {
+      if (str) {
+        str += ", ";
+      }
+      str += item.batteryCapacity + "KWH";
+    }
+    return str;
+  }
+
   listItem = ({item, index, separators}) => {
     return (
       <Pressable
@@ -100,7 +114,7 @@ export default class VehicleListV2 extends Component {
         </View>
         <TextView style={styles.vehicleModle}>{item.licensePlate}</TextView>
         <View style={styles.vehicleRow}>
-          <TextView style={styles.vehicleType}>{item.connectorType + ", " + item.batteryCapacity + "KWH"}</TextView>
+          <TextView style={styles.vehicleType}>{this.showTypeCapacity(item)}</TextView>
           {/* <View style={styles.vehicleTypeRow}>
             <View style={styles.vehicleTypeIcon}>
               <VehicleType size={10}/>