Przeglądaj źródła

商品分类逻辑梳理

panhui 6 lat temu
rodzic
commit
7d0acb5b05
5 zmienionych plików z 54 dodań i 17 usunięć
  1. 1 1
      app.json
  2. 5 5
      language/th.js
  3. 20 0
      models/goodsModel.js
  4. 21 4
      screens/HomeScreenPage1.js
  5. 7 7
      screens/Set/AutomaticScreen.js

+ 1 - 1
app.json

@@ -40,6 +40,6 @@
       "backgroundColor": "#FFC21C",
       "translucent": false
     },
-    "description": "叮咚外卖测试版"
+    "description": "商品分类逻辑梳理"
   }
 }

+ 5 - 5
language/th.js

@@ -8,11 +8,11 @@ export default {
     login_pla_2: "输入密码",
     login_btn_sub: "登录",
     login_btn_rej: "注册",
-    register_form_1: "商家全称",
-    register_pla_1: "输入商家名称",
-    register_form_2: "显示名称",
-    register_pla_2: "输入显示名称",
-    register_form_3: "确认密码",
+    register_form_1: "换成泰文换成泰文",
+    register_pla_1: "换成泰文换成泰文",
+    register_form_2: "换成泰文换成泰文",
+    register_pla_2: "换成泰文换成泰文",
+    register_form_3: "换成泰文换成泰文",
     register_pla_3: "再次输入确认密码",
 
     guideHome_title1: "很好!恭喜您已经完成了叮咚合作商家的第一步!",

+ 20 - 0
models/goodsModel.js

@@ -2,6 +2,8 @@ import ListUtil from "../Utils/ListUtil";
 export default {
     state: {
         selectInfos: [],
+        Classifications: [], //商户分类列表
+        classificationId: 0, //当前操作的商品分类
     },
     actions: ({ model, setState }) => ({
         //商家分类选择商品
@@ -159,5 +161,23 @@ export default {
                 { body: "json" }
             );
         },
+        //将当前选中的classId存入以便更好的刷新页面3
+        setClassificationId(id) {
+            setState({
+                classificationId: id,
+            });
+        },
+        //获取我的全部商品分类
+        getMyClassification() {
+            let { httpGet } = model("httpModel");
+            return httpGet("/classification/my", {}, true).then(res => {
+                res = res.sort((a, b) => {
+                    return b.type || 0 - a.type || 0;
+                });
+
+                setState({ Classifications: res });
+                return Promise.resolve(res);
+            });
+        },
     }),
 };

+ 21 - 4
screens/HomeScreenPage1.js

@@ -42,17 +42,32 @@ export default function HomePage1(props) {
     const { showDialog } = useModel("dialogModel", true);
     const { success } = useModel("loadingModel", true);
     const { removeTips, remove, successText } = useModel("wordsModel");
+    const { changeBackground } = useModel("barModel");
+    const {
+        classificationId,
+        setClassificationId,
+        getMyClassification,
+        Classifications,
+    } = useModel("goodsModel");
     useFocusEffect(
         React.useCallback(() => {
-            httpGet("/classification/my").then(res => {
-                setClassifications(res);
-                if (res.length > 0) {
-                    changeSelectId(res[0].id);
+            changeBackground("#fff");
+            getMyClassification().then(res => {
+                if (!classificationId) {
+                    let _classifications = [...res];
+                    let { id } = _classifications.shift() || {};
+                    changeSelectId(id);
+                } else {
+                    changeSelectId(classificationId);
                 }
+                setClassificationId(0);
             });
             getGoods();
         }, [])
     );
+    React.useEffect(() => {
+        setClassifications(Classifications);
+    }, [Classifications]);
 
     function getGoods() {
         httpGet("/goods/my").then(res => {
@@ -265,6 +280,7 @@ export default function HomePage1(props) {
                                         _classificationUtil.getType() ==
                                             getClassificationByName("折扣")
                                     ) {
+                                        setClassificationId(selectId);
                                         RootNavigation.navigate(
                                             "SystemClassificationEdit",
                                             {
@@ -272,6 +288,7 @@ export default function HomePage1(props) {
                                             }
                                         );
                                     } else {
+                                        setClassificationId(selectId);
                                         RootNavigation.navigate("AddGoods", {
                                             classifyId: selectId,
                                         });

+ 7 - 7
screens/Set/AutomaticScreen.js

@@ -67,9 +67,7 @@ export default function AutomaticScreen({ navigation, route }) {
             true
         ).then(res => {
             success(save + successText);
-            navigation.navigate("Home", {
-                screen: "homeTab2",
-            });
+            navigation.goBack();
         });
     }
 
@@ -84,7 +82,11 @@ export default function AutomaticScreen({ navigation, route }) {
     return (
         <>
             <NavHeaderBar title={automaticText1} />
-            <ScrollPage enabledFresh={true} refreshEvent={refreshEvent} statusType='primary'>
+            <ScrollPage
+                enabledFresh={true}
+                refreshEvent={refreshEvent}
+                statusType='primary'
+            >
                 <Layout style={styles.lay}>
                     <Text style={styles.text}>{automaticText2}</Text>
                     <Textarea
@@ -118,9 +120,7 @@ export default function AutomaticScreen({ navigation, route }) {
                         status='basic'
                         appearance='outline'
                         onPress={() => {
-                            navigation.navigate("Home", {
-                                screen: "homeTab2",
-                            });
+                            navigation.goBack();
                         }}
                     >
                         {cancel}