|
@@ -513,53 +513,6 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- setJson(array){
|
|
|
- const getAnswer = (j) => {
|
|
|
- switch (j.type) {
|
|
|
- case 1:
|
|
|
- return j.json.array
|
|
|
- .filter((_, idx) => j.json.answer2.includes(idx))
|
|
|
- .map(item => `${item.img}${item.option}`)
|
|
|
- .join(',');
|
|
|
- case 3:
|
|
|
- case 6:
|
|
|
- case 7:
|
|
|
- case 8:
|
|
|
- case 11:
|
|
|
- return j.json.answer2;
|
|
|
- case 5:
|
|
|
- if (!Array.isArray(j.json.file) || j.json.file.length === 0) {
|
|
|
- return '无附件';
|
|
|
- }
|
|
|
- return j.json.file.map(file => `${file.name}(${file.url})`).join(',');
|
|
|
- default:
|
|
|
- return '';
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- this.answerArray = array.map(i => ({
|
|
|
- "用户名": i.name,
|
|
|
- "提交时间": i.time,
|
|
|
- "表单内容": i.array.map((j, index) => ({
|
|
|
- "序号": index + 1,
|
|
|
- "题目": j.json.title,
|
|
|
- "题目类型": this.options2[j.type],
|
|
|
- "答案": getAnswer(j)
|
|
|
- }))
|
|
|
- }))
|
|
|
- console.log(this.answerArray);
|
|
|
-
|
|
|
- // 将JSON对象转换为字符串
|
|
|
- const jsonString = JSON.stringify(this.answerArray, null, 2);
|
|
|
-
|
|
|
- // 创建Blob对象
|
|
|
- const blob = new Blob([jsonString], { type: "application/json" });
|
|
|
- blob.lastModifiedDate = new Date();
|
|
|
- blob.name = `表单数据.json`;
|
|
|
-
|
|
|
- // 如果仍需要上传文件,可以保留这行
|
|
|
- return this.uploadFile(blob);
|
|
|
- },
|
|
|
// setJson(array){
|
|
|
// const getAnswer = (j) => {
|
|
|
// switch (j.type) {
|
|
@@ -573,7 +526,7 @@ export default {
|
|
|
// case 7:
|
|
|
// case 8:
|
|
|
// case 11:
|
|
|
- // return j.json.answer2.replace(/\n/g, ' '); // 去除回车
|
|
|
+ // return j.json.answer2;
|
|
|
// case 5:
|
|
|
// if (!Array.isArray(j.json.file) || j.json.file.length === 0) {
|
|
|
// return '无附件';
|
|
@@ -584,33 +537,80 @@ export default {
|
|
|
// }
|
|
|
// };
|
|
|
|
|
|
- // // 获取所有题目类型和题目
|
|
|
- // const questions = array[0].array.map((j, index) => ({
|
|
|
- // "序号": index + 1,
|
|
|
- // "题目类型": this.options2[j.type],
|
|
|
- // "题目": j.json.title
|
|
|
- // }));
|
|
|
-
|
|
|
- // // 构建CSV内容
|
|
|
- // let csvContent = "用户名,提交时间," + questions.map(q => `${q.序号}-${q.题目类型}-${q.题目}`).join(',') + "\n";
|
|
|
-
|
|
|
- // // 添加每个用户的答案
|
|
|
- // array.forEach(i => {
|
|
|
- // let row = [i.name, i.time];
|
|
|
- // i.array.forEach(j => {
|
|
|
- // row.push(getAnswer(j));
|
|
|
- // });
|
|
|
- // csvContent += row.join(',') + "\n";
|
|
|
- // });
|
|
|
+ // this.answerArray = array.map(i => ({
|
|
|
+ // "用户名": i.name,
|
|
|
+ // "提交时间": i.time,
|
|
|
+ // "表单内容": i.array.map((j, index) => ({
|
|
|
+ // "序号": index + 1,
|
|
|
+ // "题目": j.json.title,
|
|
|
+ // "题目类型": this.options2[j.type],
|
|
|
+ // "答案": getAnswer(j)
|
|
|
+ // }))
|
|
|
+ // }))
|
|
|
+ // console.log(this.answerArray);
|
|
|
+
|
|
|
+ // // 将JSON对象转换为字符串
|
|
|
+ // const jsonString = JSON.stringify(this.answerArray, null, 2);
|
|
|
|
|
|
// // 创建Blob对象
|
|
|
- // const blob = new Blob([csvContent], { type: "text/csv" });
|
|
|
+ // const blob = new Blob([jsonString], { type: "application/json" });
|
|
|
// blob.lastModifiedDate = new Date();
|
|
|
- // blob.name = `表单数据.csv`;
|
|
|
+ // blob.name = `表单数据.json`;
|
|
|
|
|
|
// // 如果仍需要上传文件,可以保留这行
|
|
|
// return this.uploadFile(blob);
|
|
|
// },
|
|
|
+ setJson(array){
|
|
|
+ const getAnswer = (j) => {
|
|
|
+ switch (j.type) {
|
|
|
+ case 1:
|
|
|
+ return j.json.array
|
|
|
+ .filter((_, idx) => j.json.answer2.includes(idx))
|
|
|
+ .map(item => `${item.img}${item.option}`)
|
|
|
+ .join(',');
|
|
|
+ case 3:
|
|
|
+ case 6:
|
|
|
+ case 7:
|
|
|
+ case 8:
|
|
|
+ case 11:
|
|
|
+ return j.json.answer2.replace(/\n/g, ' '); // 去除回车
|
|
|
+ case 5:
|
|
|
+ if (!Array.isArray(j.json.file) || j.json.file.length === 0) {
|
|
|
+ return '无附件';
|
|
|
+ }
|
|
|
+ return j.json.file.map(file => `${file.name}(${file.url})`).join(',');
|
|
|
+ default:
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ // 获取所有题目类型和题目
|
|
|
+ const questions = array[0].array.map((j, index) => ({
|
|
|
+ "序号": index + 1,
|
|
|
+ "题目类型": this.options2[j.type],
|
|
|
+ "题目": j.json.title
|
|
|
+ }));
|
|
|
+
|
|
|
+ // 构建CSV内容
|
|
|
+ let csvContent = "用户名 | 提交时间 | " + questions.map(q => `${q.序号}-${q.题目类型}-${q.题目}`).join(' | ') + "\n";
|
|
|
+
|
|
|
+ // 添加每个用户的答案
|
|
|
+ array.forEach(i => {
|
|
|
+ let row = [i.name, i.time];
|
|
|
+ i.array.forEach(j => {
|
|
|
+ row.push(getAnswer(j));
|
|
|
+ });
|
|
|
+ csvContent += row.join(' | ') + "\n";
|
|
|
+ });
|
|
|
+
|
|
|
+ // 创建Blob对象
|
|
|
+ const blob = new Blob([csvContent], { type: "text/plain;charset=utf-8" });
|
|
|
+ blob.lastModifiedDate = new Date();
|
|
|
+ blob.name = `表单数据.txt`;
|
|
|
+
|
|
|
+ // 如果仍需要上传文件,可以保留这行
|
|
|
+ return this.uploadFile(blob);
|
|
|
+ },
|
|
|
uploadFile(file) {
|
|
|
var credentials = {
|
|
|
accessKeyId: "AKIATLPEDU37QV5CHLMH",
|