Просмотр исходного кода

Merge pull request #1997 from visuddhinanda/agile

上传用-分隔的组分数据
visuddhinanda 2 лет назад
Родитель
Сommit
8e2b3655e3

+ 26 - 10
dashboard/src/components/dict/MyCreate.tsx

@@ -54,23 +54,39 @@ export const UserWbwPost = (data: IDictRequest[], view: string) => {
         });
       }
     }
+
     if (value.factors && value.factors.split("+").length > 0) {
       const fm = value.factormean?.split("+");
-      const factors: IDictRequest[] = value.factors
-        .split("+")
-        .map((item, id) => {
-          const currWord = item.replaceAll("-", "");
-          console.debug("currWord", currWord);
-          return {
+      const factors: IDictRequest[] = [];
+      value.factors.split("+").forEach((factor: string, index: number) => {
+        const currWord = factor.replaceAll("-", "");
+        console.debug("currWord", currWord);
+        const meaning = fm ? fm[index].replaceAll("-", "") ?? null : null;
+        if (meaning) {
+          factors.push({
             word: currWord,
             type: ".part.",
             grammar: "",
-            mean: fm ? fm[id].replaceAll("-", "") ?? "" : "",
+            mean: meaning,
             confidence: value.confidence,
             language: value.language,
-          };
-        })
-        .filter((value) => value.mean !== "");
+          });
+        }
+
+        const subFactorsMeaning: string[] = fm ? fm[index].split("-") : [];
+        factor.split("-").forEach((subFactor, index1) => {
+          if (subFactorsMeaning[index1] && subFactorsMeaning[index1] !== "") {
+            factors.push({
+              word: subFactor,
+              type: ".part.",
+              grammar: "",
+              mean: subFactorsMeaning[index1],
+              confidence: value.confidence,
+              language: value.language,
+            });
+          }
+        });
+      });
       wordData = [...wordData, ...factors];
     }
   });

+ 4 - 2
dashboard/src/components/template/WbwSent.tsx

@@ -475,8 +475,10 @@ export const WbwSentCtl = ({
 
     wbwData.forEach((data) => {
       if (
-        typeof data.meaning?.value === "string" &&
-        data.meaning?.value.trim().length > 0
+        (typeof data.meaning?.value === "string" &&
+          data.meaning?.value.trim().length > 0) ||
+        (typeof data.factorMeaning?.value === "string" &&
+          data.factorMeaning.value.trim().length > 0)
       ) {
         const [wordType, wordGrammar] = data.case?.value
           ? data.case?.value?.split("#")