Authored by 袁晋鹏

fix:优化附件预览

@@ -281,9 +281,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -281,9 +281,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
281 }).done(function (res) { 281 }).done(function (res) {
282 layer.close(loadIndex); 282 layer.close(loadIndex);
283 if (res && res.success) { 283 if (res && res.success) {
284 - let win = window.parent; 284 + let win = window.top;
285 if (win) { 285 if (win) {
286 - window.parent.postMessage({ 286 + window.top.postMessage({
287 type: "previewFile", 287 type: "previewFile",
288 message: { 288 message: {
289 params: { 289 params: {
@@ -83,9 +83,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -83,9 +83,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
83 }).done(function (res) { 83 }).done(function (res) {
84 layer.close(loadIndex); 84 layer.close(loadIndex);
85 if (res && res.success) { 85 if (res && res.success) {
86 - let win = window.parent; 86 + let win = window.top;
87 if (win) { 87 if (win) {
88 - window.parent.postMessage({ 88 + window.top.postMessage({
89 type: "previewFile", 89 type: "previewFile",
90 message: { 90 message: {
91 params: { 91 params: {
@@ -334,9 +334,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -334,9 +334,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
334 }).done(function (res) { 334 }).done(function (res) {
335 layer.close(loadIndex); 335 layer.close(loadIndex);
336 if (res && res.success) { 336 if (res && res.success) {
337 - let win = window.parent; 337 + let win = window.top;
338 if (win) { 338 if (win) {
339 - window.parent.postMessage({ 339 + window.top.postMessage({
340 type: "previewFile", 340 type: "previewFile",
341 message: { 341 message: {
342 params: { 342 params: {
@@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
84 }).done(function (res) { 84 }).done(function (res) {
85 layer.close(loadIndex); 85 layer.close(loadIndex);
86 if (res && res.success) { 86 if (res && res.success) {
87 - let win = window.parent; 87 + let win = window.top;
88 if (win) { 88 if (win) {
89 - window.parent.postMessage({ 89 + window.top.postMessage({
90 type: "previewFile", 90 type: "previewFile",
91 message: { 91 message: {
92 params: { 92 params: {
@@ -352,9 +352,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -352,9 +352,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
352 }).done(function (res) { 352 }).done(function (res) {
353 layer.close(loadIndex); 353 layer.close(loadIndex);
354 if (res && res.success) { 354 if (res && res.success) {
355 - let win = window.parent; 355 + let win = window.top;
356 if (win) { 356 if (win) {
357 - window.parent.postMessage({ 357 + window.top.postMessage({
358 type: "previewFile", 358 type: "previewFile",
359 message: { 359 message: {
360 params: { 360 params: {
@@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
84 }).done(function (res) { 84 }).done(function (res) {
85 layer.close(loadIndex); 85 layer.close(loadIndex);
86 if (res && res.success) { 86 if (res && res.success) {
87 - let win = window.parent; 87 + let win = window.top;
88 if (win) { 88 if (win) {
89 - window.parent.postMessage({ 89 + window.top.postMessage({
90 type: "previewFile", 90 type: "previewFile",
91 message: { 91 message: {
92 params: { 92 params: {
@@ -294,6 +294,12 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat @@ -294,6 +294,12 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
294 value: 1 294 value: 1
295 }); 295 });
296 }); 296 });
  297 + let zoomShow = false;
  298 + if (xData.length > 14) {
  299 + zoomShow = true;
  300 + } else {
  301 + zoomShow = false;
  302 + }
297 var series = [{ 303 var series = [{
298 name: '进入人数', 304 name: '进入人数',
299 data: countList, 305 data: countList,
@@ -401,7 +407,24 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat @@ -401,7 +407,24 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
401 } 407 }
402 } 408 }
403 }], 409 }],
404 - series: series 410 + series: series,
  411 + dataZoom: [//滚动条
  412 + {
  413 + show: zoomShow,
  414 + type: 'slider',
  415 + realtime: true,
  416 + startValue: 0,
  417 + endValue: 14,
  418 + xAxisIndex: [0],
  419 + bottom: '10',
  420 + left: '30',
  421 + height: 10,
  422 + borderColor: 'rgba(0,0,0,0)',
  423 + textStyle: {
  424 + color: '#05D5FF',
  425 + },
  426 + },
  427 + ]
405 }; 428 };
406 timeChart.setOption(option) 429 timeChart.setOption(option)
407 }); 430 });
@@ -287,9 +287,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -287,9 +287,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
287 }).done(function (res) { 287 }).done(function (res) {
288 layer.close(loadIndex); 288 layer.close(loadIndex);
289 if (res && res.success) { 289 if (res && res.success) {
290 - let win = window.parent; 290 + let win = window.top;
291 if (win) { 291 if (win) {
292 - window.parent.postMessage({ 292 + window.top.postMessage({
293 type: "previewFile", 293 type: "previewFile",
294 message: { 294 message: {
295 params: { 295 params: {
@@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
84 }).done(function (res) { 84 }).done(function (res) {
85 layer.close(loadIndex); 85 layer.close(loadIndex);
86 if (res && res.success) { 86 if (res && res.success) {
87 - let win = window.parent; 87 + let win = window.top;
88 if (win) { 88 if (win) {
89 - window.parent.postMessage({ 89 + window.top.postMessage({
90 type: "previewFile", 90 type: "previewFile",
91 message: { 91 message: {
92 params: { 92 params: {
@@ -282,9 +282,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -282,9 +282,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
282 }).done(function (res) { 282 }).done(function (res) {
283 layer.close(loadIndex); 283 layer.close(loadIndex);
284 if (res && res.success) { 284 if (res && res.success) {
285 - let win = window.parent; 285 + let win = window.top;
286 if (win) { 286 if (win) {
287 - window.parent.postMessage({ 287 + window.top.postMessage({
288 type: "previewFile", 288 type: "previewFile",
289 message: { 289 message: {
290 params: { 290 params: {
@@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
84 }).done(function (res) { 84 }).done(function (res) {
85 layer.close(loadIndex); 85 layer.close(loadIndex);
86 if (res && res.success) { 86 if (res && res.success) {
87 - let win = window.parent; 87 + let win = window.top;
88 if (win) { 88 if (win) {
89 - window.parent.postMessage({ 89 + window.top.postMessage({
90 type: "previewFile", 90 type: "previewFile",
91 message: { 91 message: {
92 params: { 92 params: {
@@ -412,9 +412,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'commonDetail','sessi @@ -412,9 +412,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'commonDetail','sessi
412 }).done(function (res) { 412 }).done(function (res) {
413 layer.close(loadIndex); 413 layer.close(loadIndex);
414 if (res && res.success) { 414 if (res && res.success) {
415 - let win = window.parent; 415 + let win = window.top;
416 if (win) { 416 if (win) {
417 - window.parent.postMessage({ 417 + window.top.postMessage({
418 type: "previewFile", 418 type: "previewFile",
419 message: { 419 message: {
420 params: { 420 params: {
@@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
84 }).done(function (res) { 84 }).done(function (res) {
85 layer.close(loadIndex); 85 layer.close(loadIndex);
86 if (res && res.success) { 86 if (res && res.success) {
87 - let win = window.parent; 87 + let win = window.top;
88 if (win) { 88 if (win) {
89 - window.parent.postMessage({ 89 + window.top.postMessage({
90 type: "previewFile", 90 type: "previewFile",
91 message: { 91 message: {
92 params: { 92 params: {
@@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -84,9 +84,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
84 }).done(function (res) { 84 }).done(function (res) {
85 layer.close(loadIndex); 85 layer.close(loadIndex);
86 if (res && res.success) { 86 if (res && res.success) {
87 - let win = window.parent; 87 + let win = window.top;
88 if (win) { 88 if (win) {
89 - window.parent.postMessage({ 89 + window.top.postMessage({
90 type: "previewFile", 90 type: "previewFile",
91 message: { 91 message: {
92 params: { 92 params: {
@@ -513,15 +513,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -513,15 +513,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
513 }, 513 },
514 { 514 {
515 title: '操作', align: "center", width: 120, 515 title: '操作', align: "center", width: 120,
516 - templet: '<div><span data-id="{{d.id}}" data-suffix="{{d.suffix}}" class="layui-table-link preview-attachment-btn">预览</span></div>' 516 + templet: '<div><span data-id="{{d.id}}" data-suffix="{{d.suffix}}" data-path = "{{d.path}}" class="layui-table-link preview-attachment-btn">预览</span></div>'
517 } 517 }
518 ]], 518 ]],
519 done: function () { 519 done: function () {
520 $('.preview-attachment-btn').on('click', function () { 520 $('.preview-attachment-btn').on('click', function () {
521 var id = $(this).data('id') 521 var id = $(this).data('id')
522 var suffix = $(this).data('suffix') 522 var suffix = $(this).data('suffix')
  523 + var filepath = $(this).data('path')
523 if (suffix == 'jpg' || suffix == 'png' || suffix == 'JPG' || suffix == 'PNG') { //图片类型 524 if (suffix == 'jpg' || suffix == 'png' || suffix == 'JPG' || suffix == 'PNG') { //图片类型
524 - var srcUrl = domainName + `/api-web/openoffice/readImage/${id}?${tokenKey}=${accessToken}`; 525 + var srcUrl = domainName + `/api-web/openoffice/readImage/${id}?accessToken=` + accessToken
525 layer.open({ 526 layer.open({
526 type: 1, 527 type: 1,
527 content: `<div><img src="${srcUrl}" width="100%" height="100%" /></div>`, 528 content: `<div><img src="${srcUrl}" width="100%" height="100%" /></div>`,
@@ -530,7 +531,36 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -530,7 +531,36 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
530 }) 531 })
531 } else { 532 } else {
532 //附件为文档类型 533 //附件为文档类型
533 - common.openReport(id) 534 + var loadIndex = layer.load(1, {shade: [0.3], content: ''});
  535 + let name = Base64.encode(filepath, true);
  536 + admin.req({
  537 + url: domainName + `/api-web/openoffice/convertPdfMJ?pathBase64=${name}`,
  538 + type: 'get'
  539 + }).done(function (res) {
  540 + layer.close(loadIndex);
  541 + if (res && res.success) {
  542 + let win = window.top;
  543 + if (win) {
  544 + window.top.postMessage({
  545 + type: "previewFile",
  546 + message: {
  547 + params: {
  548 + url: res.str
  549 + }
  550 + }
  551 + }, '*')
  552 + }
  553 + } else {
  554 + layer.confirm("文档不支持预览,是否下载!", function () {
  555 + const url = domainName + `/api-web/openoffice/download/${id}?accessToken=${accessToken}`;
  556 + window.open(url)
  557 + });
  558 + layer.close(loadIndex);
  559 + }
  560 + }).error(function (error) {
  561 + layer.close(loadIndex);
  562 + console.log(error)
  563 + })
534 } 564 }
535 }) 565 })
536 } 566 }
@@ -138,9 +138,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function @@ -138,9 +138,9 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions'], function
138 }).done(function (res) { 138 }).done(function (res) {
139 layer.close(loadIndex); 139 layer.close(loadIndex);
140 if (res && res.success) { 140 if (res && res.success) {
141 - let win = window.parent; 141 + let win = window.top;
142 if (win) { 142 if (win) {
143 - window.parent.postMessage({ 143 + window.top.postMessage({
144 type: "previewFile", 144 type: "previewFile",
145 message: { 145 message: {
146 params: { 146 params: {
@@ -589,6 +589,12 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat @@ -589,6 +589,12 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
589 value: 1 589 value: 1
590 }); 590 });
591 }); 591 });
  592 + let zoomShow = false;
  593 + if (xData.length > 10) {
  594 + zoomShow = true;
  595 + } else {
  596 + zoomShow = false;
  597 + }
592 var series = [{ 598 var series = [{
593 name: '应报', 599 name: '应报',
594 data: needReportList, 600 data: needReportList,
@@ -761,14 +767,22 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat @@ -761,14 +767,22 @@ layui.define(['table', 'form', 'sessions', 'admin', 'common', 'echarts', 'laydat
761 } 767 }
762 }], 768 }],
763 series: series, 769 series: series,
764 - dataZoom: [ 770 + dataZoom: [//滚动条
765 { 771 {
766 - type: "slider", 772 + show: zoomShow,
  773 + type: 'slider',
767 realtime: true, 774 realtime: true,
768 - height: 25,  
769 - start: 5,  
770 - end: 55  
771 - } 775 + startValue: 0,
  776 + endValue: 14,
  777 + xAxisIndex: [0],
  778 + bottom: '10',
  779 + left: '30',
  780 + height: 10,
  781 + borderColor: 'rgba(0,0,0,0)',
  782 + textStyle: {
  783 + color: '#05D5FF',
  784 + },
  785 + },
772 ] 786 ]
773 787
774 }; 788 };