Browse Source

Merge branch 'master' of http://60.205.254.193:3000/GCLS/GCLS_Page_TC

natasha 2 years ago
parent
commit
107fc3a1b5
2 changed files with 414 additions and 32 deletions
  1. 412 31
      src/views/wordcard/cread.vue
  2. 2 1
      src/views/wordcard/print.vue

+ 412 - 31
src/views/wordcard/cread.vue

@@ -537,7 +537,7 @@ export default {
         }
         }
       }
       }
       //   字模式 笔顺打开
       //   字模式 笔顺打开
-      if (data.typeIndex == 0 && data.StorkesUnfold) {
+      if (data.typeIndex == 0) {
         this.loading = true;
         this.loading = true;
         let MethodName = "hz_resource_manager-GetHZStrokesContent";
         let MethodName = "hz_resource_manager-GetHZStrokesContent";
         data.option.forEach((item, i) => {
         data.option.forEach((item, i) => {
@@ -559,13 +559,10 @@ export default {
               this.loading = false;
               this.loading = false;
             });
             });
         });
         });
-      }
-      // 定时 接口请求结束再执行
-      let hzTimer = setInterval(() => {
-        if (!this.loading) {
-          clearInterval(hzTimer);
-          hzTimer = null;
-          if (data.typeIndex == 0) {
+        let hzTimer = setInterval(() => {
+          if (!this.loading) {
+            clearInterval(hzTimer);
+            hzTimer = null;
             if (data.StorkesUnfold) {
             if (data.StorkesUnfold) {
               let allArr = [];
               let allArr = [];
               let timer = setInterval(() => {
               let timer = setInterval(() => {
@@ -784,25 +781,53 @@ export default {
               data.result = this.arrSplice(allArr, data.pageNumber);
               data.result = this.arrSplice(allArr, data.pageNumber);
               this.writeTableData = data;
               this.writeTableData = data;
             }
             }
-          } else {
-            // 处理句模式数据
-            let allArr = [];
-            data.option.forEach((item) => {
-              let sentenceArr = []; // 每一句的内容
-              let sentence = Math.ceil(item.length / data.rowNumber);
-              for (let k = 0; k < sentence; k++) {
-                let sentenceItem = [];
-                for (let s = 0; s < data.rowNumber; s++) {
-                  if (k * data.rowNumber + s < item.length) {
-                    sentenceItem.push({
-                      con: item[k * data.rowNumber + s],
-                    });
-                  } else {
-                    sentenceItem.push({});
-                  }
-                }
-                allArr.push(JSON.parse(JSON.stringify(sentenceItem)));
+            this.$forceUpdate();
+            this.isCread = true;
+          }
+        }, 100);
+      } else {
+        // 处理句模式数据
+        let allArr = [];
+        data.option.forEach((item) => {
+          let sentenceArr = []; // 每一句的内容
+          let sentence = Math.ceil(item.length / data.rowNumber);
+          for (let k = 0; k < sentence; k++) {
+            let sentenceItem = [];
+            for (let s = 0; s < data.rowNumber; s++) {
+              if (k * data.rowNumber + s < item.length) {
+                sentenceItem.push({
+                  con: item[k * data.rowNumber + s],
+                });
+              } else {
+                sentenceItem.push({});
               }
               }
+            }
+            this.loading = true;
+            let MethodName = "hz_resource_manager-GetHZStrokesContent";
+            sentenceItem.forEach((items, index) => {
+              let obj = {
+                hz: items.con,
+              };
+              items.hzDetail = null;
+              getLogin(MethodName, obj)
+                .then((res) => {
+                  this.$set(sentenceItem[index], "hzDetail", res);
+                  this.$forceUpdate();
+                  if (index == sentenceItem.length - 1) {
+                    this.loading = false;
+                    allArr.push(JSON.parse(JSON.stringify(sentenceItem)));
+                  }
+                })
+                .catch(() => {
+                  this.loading = false;
+                });
+            });
+          }
+          let hzTimer = setInterval(() => {
+            if (!this.loading) {
+              clearInterval(hzTimer);
+              hzTimer = null;
+
               if (data.miaoRedBoxNumber > 0 && data.writeBoxNumber > 0) {
               if (data.miaoRedBoxNumber > 0 && data.writeBoxNumber > 0) {
                 let sentenceMiao = [];
                 let sentenceMiao = [];
                 for (let k = 0; k < sentence; k++) {
                 for (let k = 0; k < sentence; k++) {
@@ -866,7 +891,13 @@ export default {
               sentenceArr.forEach((itemS, indexS) => {
               sentenceArr.forEach((itemS, indexS) => {
                 allArr.push(JSON.parse(JSON.stringify(itemS)));
                 allArr.push(JSON.parse(JSON.stringify(itemS)));
               });
               });
-            });
+            }
+          });
+        });
+        let hzTimer = setInterval(() => {
+          if (!this.loading) {
+            clearInterval(hzTimer);
+            hzTimer = null;
             if (data.lastNullrow > 0) {
             if (data.lastNullrow > 0) {
               for (let t = 0; t < data.lastNullrow; t++) {
               for (let t = 0; t < data.lastNullrow; t++) {
                 let sentenceItemNull = [];
                 let sentenceItemNull = [];
@@ -876,13 +907,363 @@ export default {
                 allArr.push(JSON.parse(JSON.stringify(sentenceItemNull)));
                 allArr.push(JSON.parse(JSON.stringify(sentenceItemNull)));
               }
               }
             }
             }
+
             data.result = this.arrSplice(allArr, data.pageNumber);
             data.result = this.arrSplice(allArr, data.pageNumber);
             this.writeTableData = data;
             this.writeTableData = data;
+            this.$forceUpdate();
+            this.isCread = true;
           }
           }
-          this.$forceUpdate();
-          this.isCread = true;
-        }
-      }, 100);
+        });
+      }
+      // // 定时 接口请求结束再执行
+      // let hzTimer = setInterval(() => {
+      //   if (!this.loading) {
+      //     clearInterval(hzTimer);
+      //     hzTimer = null;
+      //     if (data.typeIndex == 0) {
+      //       if (data.StorkesUnfold) {
+      //         let allArr = [];
+      //         let timer = setInterval(() => {
+      //           if (!this.loading) {
+      //             data.option.forEach((item) => {
+      //               let arr = [];
+      //               let hzLength = 1;
+      //               let arrOption = [];
+      //               // 拆分字和笔画为每一项
+      //               arr.push({
+      //                 con: item.con,
+      //                 hzDetail: JSON.parse(
+      //                   JSON.stringify(item.hzDetail.hz_json)
+      //                 ),
+      //               });
+      //               if (
+      //                 item.hzDetail &&
+      //                 item.hzDetail.hz_json &&
+      //                 item.hzDetail.hz_json.medians
+      //               ) {
+      //                 hzLength += item.hzDetail.hz_json.medians.length;
+      //                 item.hzDetail.hz_json.medians.forEach((items, indexs) => {
+      //                   arr.push({
+      //                     con: item.con,
+      //                     answer: indexs + 1,
+      //                     hzDetail: JSON.parse(
+      //                       JSON.stringify(item.hzDetail.hz_json)
+      //                     ),
+      //                   });
+      //                 });
+      //               }
+      //               // 如果不满一行则补满
+      //               let newarr = [];
+      //               if (arr.length % data.rowNumber != 0) {
+      //                 let num = data.rowNumber - (arr.length % data.rowNumber);
+      //                 for (let i = 0; i < num; i++) {
+      //                   arr.push({});
+      //                 }
+      //                 if (arr.length > data.rowNumber) {
+      //                   newarr = this.arrSplice(arr, data.rowNumber);
+      //                   newarr.forEach((itemss) => {
+      //                     allArr.push(itemss);
+      //                   });
+      //                 } else {
+      //                   allArr.push(arr);
+      //                 }
+      //               } else {
+      //                 allArr.push(arr);
+      //               }
+      //               // 添加书写行
+      //               if (data.writeBoxNumber) {
+      //                 for (let i = 0; i < data.writeBoxNumber; i++) {
+      //                   let numrow = [];
+      //                   for (let k = 0; k < data.rowNumber; k++) {
+      //                     numrow.push({
+      //                       con: item.con,
+      //                       write: true,
+      //                     });
+      //                   }
+      //                   // 描红格
+      //                   if (i == 0 && data.miaoRedBoxNumber) {
+      //                     let m =
+      //                       Math.ceil(data.miaoRedBoxNumber / data.rowNumber) >
+      //                       data.writeBoxNumber
+      //                         ? data.writeBoxNumber
+      //                         : Math.ceil(
+      //                             data.miaoRedBoxNumber / data.rowNumber
+      //                           );
+      //                     for (let j = 0; j < m; j++) {
+      //                       let miaoArr = [];
+      //                       for (let l = 0; l < data.rowNumber; l++) {
+      //                         if (
+      //                           j * data.rowNumber + l <
+      //                           data.miaoRedBoxNumber
+      //                         ) {
+      //                           miaoArr[l] = {
+      //                             con: item.con,
+      //                             miaoRed: true,
+      //                             write: true,
+      //                           };
+      //                         } else {
+      //                           miaoArr[l] = {
+      //                             con: item.con,
+      //                             write: true,
+      //                           };
+      //                         }
+      //                       }
+      //                       arrOption.push(JSON.parse(JSON.stringify(miaoArr)));
+      //                     }
+      //                   }
+      //                   arrOption.push(numrow);
+      //                   arrOption = arrOption.slice(0, data.writeBoxNumber);
+      //                 }
+      //                 arrOption.forEach((itemA) => {
+      //                   allArr.push(itemA);
+      //                 });
+      //               }
+      //             });
+      //             if (data.lastNullrow) {
+      //               for (let i = 0; i < data.lastNullrow; i++) {
+      //                 let numrow = [];
+      //                 for (let k = 0; k < data.rowNumber; k++) {
+      //                   numrow.push({
+      //                     write: true,
+      //                   });
+      //                 }
+      //                 allArr.push(numrow);
+      //               }
+      //             }
+      //             data.result = this.arrSplice(allArr, data.pageNumber);
+      //             this.writeTableData = data;
+      //             clearInterval(timer);
+      //             timer = null;
+      //           }
+      //         }, 100);
+      //       } else {
+      //         let allArr = [];
+      //         data.option.forEach((item) => {
+      //           let arr = [];
+      //           let arrOption = [];
+      //           // 拆分字和笔画为每一项
+      //           arr.push({
+      //             con: item.con,
+      //             hzDetail: JSON.parse(JSON.stringify(item.hzDetail.hz_json)),
+      //           });
+      //           // 如果不满一行则补满
+      //           let newarr = [];
+      //           let areadyMiao = 0;
+      //           if (arr.length % data.rowNumber != 0) {
+      //             let num = data.rowNumber - (arr.length % data.rowNumber);
+      //             for (let i = 0; i < num; i++) {
+      //               if (data.miaoRedBoxNumber && i < data.miaoRedBoxNumber) {
+      //                 arr.push({
+      //                   con: item.con,
+      //                   miaoRed: true,
+      //                   write: true,
+      //                 });
+      //                 areadyMiao++;
+      //               } else {
+      //                 arr.push({});
+      //               }
+      //             }
+      //             if (arr.length > data.rowNumber) {
+      //               newarr = this.arrSplice(arr, data.rowNumber);
+      //               newarr.forEach((itemss) => {
+      //                 allArr.push(itemss);
+      //               });
+      //             } else {
+      //               allArr.push(arr);
+      //             }
+      //           } else {
+      //             allArr.push(arr);
+      //           }
+      //           // 添加书写行
+      //           if (data.writeBoxNumber) {
+      //             for (let i = 0; i < data.writeBoxNumber; i++) {
+      //               let numrow = [];
+      //               for (let k = 0; k < data.rowNumber; k++) {
+      //                 numrow.push({
+      //                   con: item.con,
+      //                   write: true,
+      //                 });
+      //               }
+      //               // 描红格
+      //               if (i == 0 && data.miaoRedBoxNumber) {
+      //                 let m =
+      //                   Math.ceil(
+      //                     (data.miaoRedBoxNumber - areadyMiao) / data.rowNumber
+      //                   ) > data.writeBoxNumber
+      //                     ? data.writeBoxNumber
+      //                     : Math.ceil(
+      //                         (data.miaoRedBoxNumber - areadyMiao) /
+      //                           data.rowNumber
+      //                       );
+      //                 for (let j = 0; j < m; j++) {
+      //                   let miaoArr = [];
+      //                   for (let l = 0; l < data.rowNumber; l++) {
+      //                     if (
+      //                       j * data.rowNumber + l <
+      //                       data.miaoRedBoxNumber - areadyMiao
+      //                     ) {
+      //                       miaoArr[l] = {
+      //                         con: item.con,
+      //                         miaoRed: true,
+      //                         write: true,
+      //                       };
+      //                     } else {
+      //                       miaoArr[l] = {
+      //                         con: item.con,
+      //                         write: true,
+      //                       };
+      //                     }
+      //                   }
+      //                   arrOption.push(JSON.parse(JSON.stringify(miaoArr)));
+      //                 }
+      //               }
+      //               arrOption.push(numrow);
+      //               arrOption = arrOption.slice(0, data.writeBoxNumber);
+      //             }
+      //             arrOption.forEach((itemA) => {
+      //               allArr.push(itemA);
+      //             });
+      //           }
+      //         });
+      //         if (data.lastNullrow) {
+      //           for (let i = 0; i < data.lastNullrow; i++) {
+      //             let numrow = [];
+      //             for (let k = 0; k < data.rowNumber; k++) {
+      //               numrow.push({
+      //                 write: true,
+      //               });
+      //             }
+      //             allArr.push(JSON.parse(JSON.stringify(numrow)));
+      //           }
+      //         }
+      //         data.result = this.arrSplice(allArr, data.pageNumber);
+      //         this.writeTableData = data;
+      //       }
+      //     } else {
+      //       // 处理句模式数据
+      //       let allArr = [];
+      //       data.option.forEach((item) => {
+      //         let sentenceArr = []; // 每一句的内容
+      //         let sentence = Math.ceil(item.length / data.rowNumber);
+      //         for (let k = 0; k < sentence; k++) {
+      //           let sentenceItem = [];
+      //           for (let s = 0; s < data.rowNumber; s++) {
+      //             if (k * data.rowNumber + s < item.length) {
+      //               sentenceItem.push({
+      //                 con: item[k * data.rowNumber + s],
+      //               });
+      //             } else {
+      //               sentenceItem.push({});
+      //             }
+      //           }
+      //           this.loading = true;
+      //           let MethodName = "hz_resource_manager-GetHZStrokesContent";
+      //           sentenceItem.forEach((items, index) => {
+      //             let obj = {
+      //               hz: items.con,
+      //             };
+      //             if (items.con) {
+      //               items.hzDetail = {
+      //                 hz_json: null,
+      //               };
+      //             }
+      //             getLogin(MethodName, obj)
+      //               .then((res) => {
+      //                 if (items.con) {
+      //                   this.$set(sentenceItem[index].hzDetail, "hz_json", res);
+      //                   this.$forceUpdate();
+      //                 }
+      //                 if (index == sentenceItem.length - 1) {
+      //                   this.loading = false;
+      //                   allArr.push(JSON.parse(JSON.stringify(sentenceItem)));
+      //                   console.log(allArr);
+      //                 }
+      //               })
+      //               .catch(() => {
+      //                 this.loading = false;
+      //               });
+      //           });
+      //         }
+      //         if (data.miaoRedBoxNumber > 0 && data.writeBoxNumber > 0) {
+      //           let sentenceMiao = [];
+      //           for (let k = 0; k < sentence; k++) {
+      //             let sentenceItemMiao = [];
+      //             this.loading = true;
+      //             for (let s = 0; s < data.rowNumber; s++) {
+      //               if (k * data.rowNumber + s < item.length) {
+      //                 sentenceItemMiao[s] = {
+      //                   con: item[k * data.rowNumber + s],
+      //                   miaoRed: true,
+      //                 };
+      //                 let MethodName =
+      //                   "hz_resource_manager-GetHZStrokesContent";
+      //                 getLogin(MethodName, { hz: item[k * data.rowNumber + s] })
+      //                   .then((res) => {
+      //                     this.$set(sentenceItemMiao[s], "hzDetail", {
+      //                       hz_json: res,
+      //                     });
+      //                   })
+      //                   .catch(() => {
+      //                     this.loading = false;
+      //                   });
+      //               } else {
+      //                 sentenceItemMiao[s] = {};
+      //               }
+      //             }
+      //             sentenceMiao.push(
+      //               JSON.parse(JSON.stringify(sentenceItemMiao))
+      //             );
+      //           }
+      //           this.loading = false;
+      //           // 描红内容
+      //           for (let l = 0; l < data.miaoRedBoxNumber; l++) {
+      //             for (let j = 0; j < sentenceMiao.length; j++) {
+      //               sentenceArr.push(
+      //                 JSON.parse(JSON.stringify(sentenceMiao[j]))
+      //               );
+      //             }
+      //           }
+      //         }
+      //         // 书写内容
+      //         if (data.writeBoxNumber > 0) {
+      //           for (
+      //             let w = 0;
+      //             w < Number(sentence) * Number(data.writeBoxNumber);
+      //             w++
+      //           ) {
+      //             let sentenceItemWrite = [];
+      //             for (let j = 0; j < data.rowNumber; j++) {
+      //               sentenceItemWrite.push({});
+      //             }
+      //             sentenceArr.push(
+      //               JSON.parse(JSON.stringify(sentenceItemWrite))
+      //             );
+      //           }
+      //         }
+      //         sentenceArr = sentenceArr.slice(
+      //           0,
+      //           Number(sentence) * Number(data.writeBoxNumber)
+      //         );
+      //         sentenceArr.forEach((itemS, indexS) => {
+      //           allArr.push(JSON.parse(JSON.stringify(itemS)));
+      //         });
+      //       });
+      //       if (data.lastNullrow > 0) {
+      //         for (let t = 0; t < data.lastNullrow; t++) {
+      //           let sentenceItemNull = [];
+      //           for (let j = 0; j < data.rowNumber; j++) {
+      //             sentenceItemNull.push({});
+      //           }
+      //           allArr.push(JSON.parse(JSON.stringify(sentenceItemNull)));
+      //         }
+      //       }
+      //       data.result = this.arrSplice(allArr, data.pageNumber);
+      //       this.writeTableData = data;
+      //     }
+      //     this.$forceUpdate();
+      //     this.isCread = true;
+      //   }
+      // }, 100);
     },
     },
     arrSplice(arr, chunkSize) {
     arrSplice(arr, chunkSize) {
       //定义一个空数组来接收返回值
       //定义一个空数组来接收返回值

+ 2 - 1
src/views/wordcard/print.vue

@@ -221,7 +221,7 @@ export default {
       _this.dataConfig = JSON.parse(writeTableData);
       _this.dataConfig = JSON.parse(writeTableData);
       setTimeout(() => {
       setTimeout(() => {
         _this.download2();
         _this.download2();
-      }, 50);
+      }, 2000);
     }
     }
   },
   },
   //生命周期-创建之前
   //生命周期-创建之前
@@ -247,6 +247,7 @@ export default {
   justify-content: center;
   justify-content: center;
   align-items: flex-start;
   align-items: flex-start;
   flex-wrap: wrap;
   flex-wrap: wrap;
+  padding-top: 10px;
   .writeTop {
   .writeTop {
     padding-top: 0;
     padding-top: 0;
   }
   }