|
@@ -244,6 +244,7 @@ export default {
|
|
|
htmlTitle: "1",
|
|
|
saveShow: false,
|
|
|
writetableShow: true,
|
|
|
+ hzDetailList: null,
|
|
|
};
|
|
|
},
|
|
|
//计算属性 类似于data概念
|
|
@@ -438,9 +439,8 @@ export default {
|
|
|
this.typeIndex = index;
|
|
|
this.writeTableData = null;
|
|
|
},
|
|
|
- // 生成
|
|
|
+ //处理输入内容
|
|
|
creadEvent() {
|
|
|
- this.writeTableData = null;
|
|
|
if (this.from.content == "") {
|
|
|
this.$message.warning("请先输入内容");
|
|
|
return;
|
|
@@ -455,6 +455,75 @@ export default {
|
|
|
this.$message.warning("请先输入配置内容");
|
|
|
return;
|
|
|
}
|
|
|
+ if (
|
|
|
+ this.from.writeBoxNumber < this.from.miaoRedBoxNumber &&
|
|
|
+ this.typeIndex == 1
|
|
|
+ ) {
|
|
|
+ this.$message.warning("书写格数不能小于描红数");
|
|
|
+ return;
|
|
|
+ } else if (
|
|
|
+ this.from.writeBoxNumber <
|
|
|
+ Math.ceil(this.from.miaoRedBoxNumber / data.rowNumber) &&
|
|
|
+ this.typeIndex == 0
|
|
|
+ ) {
|
|
|
+ this.$message.warning("书写格数不能小于描红所用行数");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let option = [];
|
|
|
+ let contentArr = this.from.content.split("\n");
|
|
|
+ for (let i = 0; i < contentArr.length; i++) {
|
|
|
+ if (data.typeIndex == 0) {
|
|
|
+ if (contentArr[i].length == 1) {
|
|
|
+ if (/^[\u4e00-\u9fa5]/.test(contentArr[i])) {
|
|
|
+ let obj = {
|
|
|
+ con: contentArr[i],
|
|
|
+ };
|
|
|
+ option.push(obj);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (let m = 0; m < contentArr[i].length; m++) {
|
|
|
+ if (/^[\u4e00-\u9fa5]/.test(contentArr[i][m])) {
|
|
|
+ let obj = {
|
|
|
+ con: contentArr[i][m],
|
|
|
+ };
|
|
|
+ option.push(obj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let contentItem = "";
|
|
|
+ for (let s = 0; s < contentArr[i].length; s++) {
|
|
|
+ if (/^[\u4e00-\u9fa5]/.test(contentArr[i][s])) {
|
|
|
+ contentItem += contentArr[i][s];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (contentItem) option.push(contentItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let hz_str = option.join();
|
|
|
+ this.getMultHZStrokesContent(hz_str);
|
|
|
+ },
|
|
|
+
|
|
|
+ //得到多个汉字笔画内容
|
|
|
+ getMultHZStrokesContent(hz_str) {
|
|
|
+ this.loading = true;
|
|
|
+ let MethodName = "hz_resource_manager-GetMultHZStrokesContent";
|
|
|
+ let data = {
|
|
|
+ hz_str: hz_str,
|
|
|
+ };
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ this.loading = false;
|
|
|
+ let hzDetailList = res;
|
|
|
+ this.handleEvent(hzDetailList);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 生成
|
|
|
+ handleEvent(hzDetailList) {
|
|
|
+ this.writeTableData = null;
|
|
|
// 大 一行8个 中 一行10个 小 一行12个
|
|
|
let data = {
|
|
|
option: [],
|
|
@@ -492,20 +561,7 @@ export default {
|
|
|
data.marginBottom = "7px";
|
|
|
data.playWidth = "8px";
|
|
|
}
|
|
|
- if (
|
|
|
- this.from.writeBoxNumber < this.from.miaoRedBoxNumber &&
|
|
|
- this.typeIndex == 1
|
|
|
- ) {
|
|
|
- this.$message.warning("书写格数不能小于描红数");
|
|
|
- return;
|
|
|
- } else if (
|
|
|
- this.from.writeBoxNumber <
|
|
|
- Math.ceil(this.from.miaoRedBoxNumber / data.rowNumber) &&
|
|
|
- this.typeIndex == 0
|
|
|
- ) {
|
|
|
- this.$message.warning("书写格数不能小于描红所用行数");
|
|
|
- return;
|
|
|
- }
|
|
|
+
|
|
|
let contentArr = this.from.content.split("\n");
|
|
|
for (let i = 0; i < contentArr.length; i++) {
|
|
|
if (data.typeIndex == 0) {
|
|
@@ -538,26 +594,12 @@ export default {
|
|
|
}
|
|
|
// 字模式 笔顺打开
|
|
|
if (data.typeIndex == 0) {
|
|
|
- this.loading = true;
|
|
|
- let MethodName = "hz_resource_manager-GetHZStrokesContent";
|
|
|
data.option.forEach((item, i) => {
|
|
|
- let obj = {
|
|
|
- hz: item.con,
|
|
|
- };
|
|
|
item.hzDetail = {
|
|
|
hz_json: null,
|
|
|
};
|
|
|
- getLogin(MethodName, obj)
|
|
|
- .then((res) => {
|
|
|
- this.$set(data.option[i].hzDetail, "hz_json", res);
|
|
|
- this.$forceUpdate();
|
|
|
- if (i == data.option.length - 1) {
|
|
|
- this.loading = false;
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- this.loading = false;
|
|
|
- });
|
|
|
+ let res = JSON.parse(JSON.stringify(hzDetailList[item.con]));
|
|
|
+ this.$set(data.option[i].hzDetail, "hz_json", res);
|
|
|
});
|
|
|
let hzTimer = setInterval(() => {
|
|
|
if (!this.loading) {
|
|
@@ -904,355 +946,6 @@ export default {
|
|
|
this.$forceUpdate();
|
|
|
this.isCread = true;
|
|
|
}
|
|
|
- // // 定时 接口请求结束再执行
|
|
|
- // 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) {
|
|
|
//定义一个空数组来接收返回值
|