|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div class="cread" v-loading="loading">
|
|
|
<Header />
|
|
|
- <div class="main">
|
|
|
+ <div class="main" v-if="!isPreview">
|
|
|
<div class="from">
|
|
|
<div class="type">
|
|
|
<div :class="[typeIndex == 0 ? 'sele' : '']" @click="cutType(0)">
|
|
@@ -78,7 +78,7 @@
|
|
|
<div style="margin-right: 16px">
|
|
|
<span class="title">书写格</span>
|
|
|
<el-input
|
|
|
- style="width: 60px;text-align:center"
|
|
|
+ style="width: 60px; text-align: center"
|
|
|
v-model="from.writeBoxNumber"
|
|
|
type="number"
|
|
|
></el-input>
|
|
@@ -89,7 +89,7 @@
|
|
|
<div style="margin-right: 16px">
|
|
|
<span class="title">描红</span>
|
|
|
<el-input
|
|
|
- style="width: 60px;text-align:center"
|
|
|
+ style="width: 60px; text-align: center"
|
|
|
v-model="from.miaoRedBoxNumber"
|
|
|
type="number"
|
|
|
></el-input>
|
|
@@ -100,7 +100,7 @@
|
|
|
<div>
|
|
|
<span class="title">文末空行</span>
|
|
|
<el-input
|
|
|
- style="width: 60px;text-align:center"
|
|
|
+ style="width: 60px; text-align: center"
|
|
|
v-model="from.lastNullrow"
|
|
|
type="number"
|
|
|
></el-input>
|
|
@@ -119,21 +119,68 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="operation">
|
|
|
+ <div class="operation" v-if="isCread">
|
|
|
<div>
|
|
|
<img src="../../assets/teacherdev/word-save.png" alt="" /> 保存
|
|
|
</div>
|
|
|
- <div>
|
|
|
+ <div @click="previewEvent">
|
|
|
<img src="../../assets/teacherdev/word-eyes.png" alt="" /> 预览
|
|
|
</div>
|
|
|
- <div>
|
|
|
+ <div @click="download">
|
|
|
<img src="../../assets/teacherdev/word-download.png" alt="" /> 下载
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="word_main" v-if="writeTableData&&writeTableData.result">
|
|
|
- <div class="word_main_table" v-for="(itemT,indexT) in writeTableData.result" :key="indexT">
|
|
|
- <writeTable :type="typeIndex" :dataConfig="writeTableData" :data="itemT" :pageNumber="indexT+1" :totalNumber="writeTableData.result.length" />
|
|
|
+ <div
|
|
|
+ class="word_main"
|
|
|
+ id="pdfDom"
|
|
|
+ v-if="writeTableData && writeTableData.result"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="word_main_table"
|
|
|
+ v-for="(itemT, indexT) in writeTableData.result"
|
|
|
+ :key="indexT"
|
|
|
+ >
|
|
|
+ <writeTable
|
|
|
+ :type="typeIndex"
|
|
|
+ :dataConfig="writeTableData"
|
|
|
+ :data="itemT"
|
|
|
+ :pageNumber="indexT + 1"
|
|
|
+ :totalNumber="writeTableData.result.length"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="preview_dv" v-if="isPreview">
|
|
|
+ <img
|
|
|
+ class="close"
|
|
|
+ src="../../assets/teacherdev/creadCad-close.png"
|
|
|
+ alt=""
|
|
|
+ @click="closepreviewEvent"
|
|
|
+ />
|
|
|
+ <div class="preview_main">
|
|
|
+ <img
|
|
|
+ class="left"
|
|
|
+ src="../../assets/teacherdev/creadCad-left.png"
|
|
|
+ alt=""
|
|
|
+ @click="changepreviewIndex('remove')"
|
|
|
+ />
|
|
|
+ <div class="word_main">
|
|
|
+ <div class="word_main_table">
|
|
|
+ <writeTable
|
|
|
+ :type="typeIndex"
|
|
|
+ :dataConfig="writeTableData"
|
|
|
+ :data="writeTableData.result[previewIndex]"
|
|
|
+ :pageNumber="previewIndex + 1"
|
|
|
+ :totalNumber="writeTableData.result.length"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ <img
|
|
|
+ class="right"
|
|
|
+ src="../../assets/teacherdev/creadCad-right.png"
|
|
|
+ alt=""
|
|
|
+ @click="changepreviewIndex('add')"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -144,13 +191,13 @@
|
|
|
//例如:import 《组件名称》from ‘《组件路径》';
|
|
|
import Header from "@/components/Header";
|
|
|
import { getLogin } from "@/api/api";
|
|
|
-import writeTable from "./writeTable.vue"
|
|
|
-
|
|
|
+import writeTable from "./writeTable.vue";
|
|
|
+import { jsPDF } from "jspdf";
|
|
|
export default {
|
|
|
//import引入的组件需要注入到对象中才能使用
|
|
|
components: {
|
|
|
Header,
|
|
|
- writeTable
|
|
|
+ writeTable,
|
|
|
},
|
|
|
props: {},
|
|
|
data() {
|
|
@@ -173,6 +220,10 @@ export default {
|
|
|
},
|
|
|
loading: false,
|
|
|
writeTableData: null,
|
|
|
+ isCread: false,
|
|
|
+ isPreview: false,
|
|
|
+ previewIndex: 0,
|
|
|
+ htmlTitle: "1",
|
|
|
};
|
|
|
},
|
|
|
//计算属性 类似于data概念
|
|
@@ -181,18 +232,60 @@ export default {
|
|
|
watch: {},
|
|
|
//方法集合
|
|
|
methods: {
|
|
|
+ download() {
|
|
|
+ // 1
|
|
|
+ // this.getPdf("#pdfDom")
|
|
|
+ // 2
|
|
|
+ var pdf = new jsPDF("", "pt", "a4");
|
|
|
+ pdf.html(document.getElementById("pdfDom"), {
|
|
|
+ // 只有 addFileToVFS 方法添加的字体才能用于 .html 方法
|
|
|
+ callback: function (pdf) {
|
|
|
+ //pdf.output('datauristring');// 渲染 pdf
|
|
|
+ pdf.save("A4.pdf"); //自动下载
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ changepreviewIndex(type) {
|
|
|
+ if (type == "add") {
|
|
|
+ if (this.previewIndex == this.writeTableData.result.length - 1) {
|
|
|
+ this.$message.warning("当前已经是最后一页");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.previewIndex++;
|
|
|
+ } else {
|
|
|
+ if (this.previewIndex == 0) {
|
|
|
+ this.$message.warning("当前已经是第一页");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.previewIndex--;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 预览
|
|
|
+ previewEvent() {
|
|
|
+ this.isPreview = true;
|
|
|
+ },
|
|
|
+ // 关闭预览
|
|
|
+ closepreviewEvent() {
|
|
|
+ this.isPreview = false;
|
|
|
+ },
|
|
|
// 切换类型
|
|
|
cutType(index) {
|
|
|
this.typeIndex = index;
|
|
|
},
|
|
|
// 生成
|
|
|
creadEvent() {
|
|
|
- this.writeTableData = null
|
|
|
+ this.writeTableData = null;
|
|
|
if (this.from.content == "") {
|
|
|
this.$message.warning("请先输入内容");
|
|
|
return;
|
|
|
}
|
|
|
- if(!(this.from.writeBoxNumber||this.from.miaoRedBoxNumber||this.from.lastNullrow)){
|
|
|
+ if (
|
|
|
+ !(
|
|
|
+ this.from.writeBoxNumber ||
|
|
|
+ this.from.miaoRedBoxNumber ||
|
|
|
+ this.from.lastNullrow
|
|
|
+ )
|
|
|
+ ) {
|
|
|
this.$message.warning("请先输入配置内容");
|
|
|
return;
|
|
|
}
|
|
@@ -217,50 +310,50 @@ export default {
|
|
|
data.rowNumber = 8;
|
|
|
data.pageNumber = 9;
|
|
|
data.marginBottom = "15px";
|
|
|
- data.playWidth = "11px"
|
|
|
+ data.playWidth = "11px";
|
|
|
} else if (this.from.fontSize == "center") {
|
|
|
data.width = "49px";
|
|
|
data.fontSize = "38px";
|
|
|
data.rowNumber = 10;
|
|
|
data.pageNumber = 12;
|
|
|
data.marginBottom = "8px";
|
|
|
- data.playWidth = "9px"
|
|
|
+ data.playWidth = "9px";
|
|
|
} else {
|
|
|
data.width = "41px";
|
|
|
data.fontSize = "31px";
|
|
|
data.rowNumber = 12;
|
|
|
data.pageNumber = 14;
|
|
|
data.marginBottom = "7px";
|
|
|
- data.playWidth = "8px"
|
|
|
+ data.playWidth = "8px";
|
|
|
}
|
|
|
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],
|
|
|
- };
|
|
|
- data.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],
|
|
|
- };
|
|
|
- data.option.push(obj);
|
|
|
- }
|
|
|
- }
|
|
|
+ if (data.typeIndex == 0) {
|
|
|
+ if (contentArr[i].length == 1) {
|
|
|
+ if (/^[\u4e00-\u9fa5]/.test(contentArr[i])) {
|
|
|
+ let obj = {
|
|
|
+ con: contentArr[i],
|
|
|
+ };
|
|
|
+ data.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]
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ for (let m = 0; m < contentArr[i].length; m++) {
|
|
|
+ if (/^[\u4e00-\u9fa5]/.test(contentArr[i][m])) {
|
|
|
+ let obj = {
|
|
|
+ con: contentArr[i][m],
|
|
|
+ };
|
|
|
+ data.option.push(obj);
|
|
|
+ }
|
|
|
}
|
|
|
- if(contentItem) data.option.push(contentItem);
|
|
|
+ }
|
|
|
+ } 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) data.option.push(contentItem);
|
|
|
}
|
|
|
}
|
|
|
// 字模式 笔顺打开
|
|
@@ -296,20 +389,26 @@ export default {
|
|
|
data.option.forEach((item) => {
|
|
|
let arr = [];
|
|
|
let hzLength = 1;
|
|
|
- let arrOption = []
|
|
|
+ let arrOption = [];
|
|
|
// 拆分字和笔画为每一项
|
|
|
arr.push({
|
|
|
con: item.con,
|
|
|
});
|
|
|
- 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)),
|
|
|
- });
|
|
|
+ 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 = [];
|
|
@@ -340,33 +439,37 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
// 描红格
|
|
|
- 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)));
|
|
|
+ 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.push(numrow);
|
|
|
+ arrOption = arrOption.slice(0, data.writeBoxNumber);
|
|
|
}
|
|
|
- arrOption.forEach(itemA=>{
|
|
|
- allArr.push(itemA)
|
|
|
- })
|
|
|
+ arrOption.forEach((itemA) => {
|
|
|
+ allArr.push(itemA);
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
if (data.lastNullrow) {
|
|
@@ -381,7 +484,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
data.result = this.arrSplice(allArr, data.pageNumber);
|
|
|
- this.writeTableData = data
|
|
|
+ this.writeTableData = data;
|
|
|
clearInterval(timer);
|
|
|
timer = null;
|
|
|
}
|
|
@@ -390,26 +493,26 @@ export default {
|
|
|
let allArr = [];
|
|
|
data.option.forEach((item) => {
|
|
|
let arr = [];
|
|
|
- let arrOption = []
|
|
|
+ let arrOption = [];
|
|
|
// 拆分字和笔画为每一项
|
|
|
arr.push({
|
|
|
con: item.con,
|
|
|
});
|
|
|
// 如果不满一行则补满
|
|
|
let newarr = [];
|
|
|
- let areadyMiao = 0
|
|
|
+ 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 (data.miaoRedBoxNumber && i < data.miaoRedBoxNumber) {
|
|
|
+ arr.push({
|
|
|
+ con: item.con,
|
|
|
+ miaoRed: true,
|
|
|
+ write: true,
|
|
|
+ });
|
|
|
+ areadyMiao++;
|
|
|
+ } else {
|
|
|
+ arr.push({});
|
|
|
}
|
|
|
}
|
|
|
if (arr.length > data.rowNumber) {
|
|
@@ -434,33 +537,43 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
// 描红格
|
|
|
- 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)));
|
|
|
+ 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.push(numrow);
|
|
|
+ arrOption = arrOption.slice(0, data.writeBoxNumber);
|
|
|
}
|
|
|
- arrOption.forEach(itemA=>{
|
|
|
- allArr.push(itemA)
|
|
|
- })
|
|
|
+ arrOption.forEach((itemA) => {
|
|
|
+ allArr.push(itemA);
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
if (data.lastNullrow) {
|
|
@@ -475,88 +588,98 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
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)))
|
|
|
+ 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({});
|
|
|
+ }
|
|
|
}
|
|
|
- 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])))
|
|
|
- }
|
|
|
+ allArr.push(JSON.parse(JSON.stringify(sentenceItem)));
|
|
|
+ }
|
|
|
+ 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)));
|
|
|
}
|
|
|
- // 书写内容
|
|
|
- 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)))
|
|
|
- }
|
|
|
+ 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])));
|
|
|
+ }
|
|
|
}
|
|
|
- sentenceArr = sentenceArr.slice(0,Number(sentence)*Number(data.writeBoxNumber))
|
|
|
- sentenceArr.forEach((itemS,indexS)=>{
|
|
|
- allArr.push(JSON.parse(JSON.stringify(itemS)))
|
|
|
- })
|
|
|
+ }
|
|
|
+ // 书写内容
|
|
|
+ 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)))
|
|
|
+ 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.writeTableData = data;
|
|
|
}
|
|
|
+ this.$forceUpdate();
|
|
|
+ this.isCread = true;
|
|
|
},
|
|
|
arrSplice(arr, chunkSize) {
|
|
|
//定义一个空数组来接收返回值
|
|
@@ -595,6 +718,8 @@ export default {
|
|
|
/* @import url(); 引入css类 */
|
|
|
.cread {
|
|
|
height: 100%;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
.main {
|
|
|
min-height: 100%;
|
|
|
background: #f7f7f7;
|
|
@@ -715,15 +840,47 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .word_main{
|
|
|
- width: 1200px;
|
|
|
- margin: 0 auto;
|
|
|
- display: flex;
|
|
|
- flex-flow: wrap;
|
|
|
- justify-content: space-between;
|
|
|
- &_table{
|
|
|
- margin-top: 10px;
|
|
|
- }
|
|
|
+ .word_main {
|
|
|
+ width: 1200px;
|
|
|
+ margin: 0 auto;
|
|
|
+ display: flex;
|
|
|
+ flex-flow: wrap;
|
|
|
+ justify-content: space-between;
|
|
|
+ &_table {
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .preview_dv {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ top: 64px;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background: #f2f2f2;
|
|
|
+ > img {
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+ cursor: pointer;
|
|
|
+ position: absolute;
|
|
|
+ top: 24px;
|
|
|
+ right: 31px;
|
|
|
+ }
|
|
|
+ .preview_main {
|
|
|
+ padding-top: 100px;
|
|
|
+ width: 667px;
|
|
|
+ margin: 0 auto;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ height: 100%;
|
|
|
+ > div {
|
|
|
+ margin: 0 24px;
|
|
|
+ }
|
|
|
+ img {
|
|
|
+ width: 48px;
|
|
|
+ height: 48px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -796,8 +953,8 @@ export default {
|
|
|
.el-switch__label.is-active {
|
|
|
color: #000000;
|
|
|
}
|
|
|
- .el-input__inner{
|
|
|
- text-align: right;
|
|
|
+ .el-input__inner {
|
|
|
+ text-align: right;
|
|
|
}
|
|
|
}
|
|
|
}
|