From 26de0696f74e183e3aadad2e9ff1918b40e5c8cc Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 09 三月 2023 13:46:27 +0800
Subject: [PATCH] 修改导出文书word
---
zhengcaioa/zhengcaioa/Views/CooperOrder/Printtousushu.cshtml | 167 +++++++++------
zhengcaioa/zhengcaioa/wwwroot/js/jquery.wordexport.js | 16
zhengcaioa/zhengcaioa/Views/CooperOrder/PrintZhiyihan.cshtml | 93 +++++---
zhengcaioa/zhengcaioa/wwwroot/js/fileSaver.js | 330 +++++++++++++++---------------
zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs | 9
5 files changed, 342 insertions(+), 273 deletions(-)
diff --git a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
index afee108..eb2483f 100644
--- a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
@@ -2002,7 +2002,10 @@
ViewBag.law = sysCodeDtls1;//娉曞緥渚濇嵁
-
+ if (!challengeletterDTO.PrintNum.HasValue)
+ {
+ challengeletterDTO.PrintNum = 1;
+ }
ViewData.Model = challengeletterDTO;
@@ -2736,6 +2739,10 @@
ViewBag.ChallengeletterChosen = _cooperOrderService.GetListChallengeletterChosen().Where(x => x.Createtime >= DateTime.Now.AddMonths(-2)).ToList(); ;
+ if (!complaintletterDTO.PrintNum.HasValue)
+ {
+ complaintletterDTO.PrintNum = 1;
+ }
ViewData.Model = complaintletterDTO;
return View();
}
diff --git a/zhengcaioa/zhengcaioa/Views/CooperOrder/PrintZhiyihan.cshtml b/zhengcaioa/zhengcaioa/Views/CooperOrder/PrintZhiyihan.cshtml
index 0df533d..cf96b0c 100644
--- a/zhengcaioa/zhengcaioa/Views/CooperOrder/PrintZhiyihan.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/CooperOrder/PrintZhiyihan.cshtml
@@ -85,8 +85,8 @@
@*<script src="~/js/plugins/iTexbox/itextbox.js" type="text/javascript"></script>*@
@*<script src="~/js/plugins/iuploader/iuploader.js"></script>*@
<script src="~/js/TUJS.js"></script>
- <script language="javascript" src="~/js/fileSaver.js" type="text/javascript"></script>
- <script language="javascript" src="~/js/jquery.wordexport.js" type="text/javascript"></script>
+ <script language="javascript" src="~/js/fileSaver.js?v=2" type="text/javascript"></script>
+ <script language="javascript" src="~/js/jquery.wordexport.js?v=2" type="text/javascript"></script>
</head>
<body class="gray-bg" style="overflow:auto">
<form id="formtest">
@@ -353,8 +353,9 @@
<tr>
<td colspan="2" style="font-size:29.3px;text-align:center">娉曞畾浠h〃浜鸿祫鏍艰瘉鏄庝功</td>
</tr>
+
<tr>
- <td colspan="2">鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
+ <td colspan="2"> 鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
</tr>
<tr>
<td colspan="2" align="left"> 鐗规璇佹槑銆�</td>
@@ -378,31 +379,34 @@
<div id="zhuti1">
@{
- for (int i = 0; i < yinyezhizhaosssss.Count; i++)
- {
- <div style="page-break-after:always;">
- <img src="@yinyezhizhaosssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
+ for (int i = 0; i < yinyezhizhaosssss.Count; i++)
+ {
+ <br clear=all style="page-break-before:always" mce_style="page-break-before:always">
+
+ <img src="@yinyezhizhaosssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
- </div>
- }
+
+ }
- for (int i = 0; i < shenfenzhengsssss.Count; i++)
- {
- <div style="page-break-after:always;">
- <img src="@shenfenzhengsssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
+ for (int i = 0; i < shenfenzhengsssss.Count; i++)
+ {
+ <br clear=all style="page-break-before:always" mce_style="page-break-before:always">
+
+ <img src="@shenfenzhengsssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
- </div>
- }
+
+ }
}
-
- <div style="page-break-after:always;">
+ <br clear=all style="page-break-before:always" mce_style="page-break-before:always">
+
<table border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td colspan="2" style="font-size:29.3px;text-align:center">娉曞畾浠h〃浜鸿祫鏍艰瘉鏄庝功</td>
</tr>
+
<tr>
- <td colspan="2">鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
+ <td colspan="2"> 鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
</tr>
<tr>
<td colspan="2" align="left"> 鐗规璇佹槑銆�</td>
@@ -417,7 +421,7 @@
<td colspan="2" align="right">鏃ユ湡锛欯Model.Modifytime.Value.ToString("yyyy骞碝M鏈坉d鏃�")</td>
</tr>
</table>
- </div>
+
</div>
@@ -548,29 +552,52 @@
- var pt = document.getElementById("page1").innerHTML;
+ var pt = $('#page1').html();
var zhutiziliao = $('#zhutiziliao').val();
+ $('#content').append(' <div id ="zhutilinshi"> <style type="text/css" >' +
+ ' table {' +
+ 'width: 595px;' +
+ 'font-size: 14pt;' +
+ ' font-family: "FangSong";' +
+ 'background: #fff;' +
+ ' line-height: 150%;' +
+ ' }' +
+
+ ' span {' +
+ ' font-size: 14pt;' +
+ 'display: inline;' +
+
+ ' }' +
+
+ ' s22pan: after {' +
+ ' content: "";' +
+ ' display: inline;' +
+ ' width: 100%;' +
+ ' margin-top: -5px;' +
+ ' }' +
+ ' </style > </div >');
+
+ $('#zhutilinshi').append($('#page1').html());
if (zhutiziliao == "0") {
- $('#content').append(' <div id ="zhutilinshi"> </div >');
- $('#zhutilinshi').append(document.getElementById("zhuti1").innerHTML);
-
+
+ $('#zhutilinshi').append($('#zhuti1').html());
+
}
var a = parseInt($('#PrintNums').val());
- pt = pt.replace("璐ㄧ枒鍑斤紙姝f湰锛�","璐ㄧ枒鍑斤紙鍓湰锛�");
- if (a > 0) {
- $('#content').append(' <div id ="fuben"> </div >');
- for (var i = 0; i < a; i++) {
- $('#fuben').append(' <div style="page-break-after:always;">' + pt +' </div>');
- }
+ pt = pt.replace("璐ㄧ枒鍑斤紙姝f湰锛�", "璐ㄧ枒鍑斤紙鍓湰锛�");
+ if (a > 0) {
+ for (var i = 0; i < a; i++) {
+ $('#zhutilinshi').append(' <br clear=all style="page-break-before:always" mce_style="page-break-before:always"> ' + pt + ' ');
- }
+ }
- $("#content").wordExport("璐ㄧ枒鍑紷(Html.Raw(Model.GysName))"); //fileName涓哄鍑虹殑word鏂囦欢鐨勫懡鍚�,content涓鸿瀵煎嚭鐨刪tml鍐呭瀹瑰櫒
- $('#fuben').remove();
+ }
+ // console.log(document.getElementById("zhutilinshi").innerHTML);
+ $("#zhutilinshi").wordExport("璐ㄧ枒鍑紷(Html.Raw(Model.GysName))"); //fileName涓哄鍑虹殑word鏂囦欢鐨勫懡鍚�,content涓鸿瀵煎嚭鐨刪tml鍐呭瀹瑰櫒
$('#zhutilinshi').remove();
layer.close(index);
- $('#zhuti').hide();
+ $('#zhuti1').hide();
return false;
diff --git a/zhengcaioa/zhengcaioa/Views/CooperOrder/Printtousushu.cshtml b/zhengcaioa/zhengcaioa/Views/CooperOrder/Printtousushu.cshtml
index b55f36e..c8ccea6 100644
--- a/zhengcaioa/zhengcaioa/Views/CooperOrder/Printtousushu.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/CooperOrder/Printtousushu.cshtml
@@ -90,15 +90,15 @@
@*<script src="~/js/plugins/iTexbox/itextbox.js" type="text/javascript"></script>*@
@*<script src="~/js/plugins/iuploader/iuploader.js"></script>*@
<script src="~/js/TUJS.js"></script>
- <script language="javascript" src="~/js/fileSaver.js" type="text/javascript"></script>
- <script language="javascript" src="~/js/jquery.wordexport.js" type="text/javascript"></script>
+ <script language="javascript" src="~/js/fileSaver.js?v=2" type="text/javascript"></script>
+ <script language="javascript" src="~/js/jquery.wordexport.js?v=2" type="text/javascript"></script>
</head>
<body class="gray-bg" style="overflow:auto">
<form id="formtest">
<div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;">
<div class="row">
<div id="content" style="overflow-x:hidden; overflow-y:auto;height:100%;background: #fff;width:850px; margin: 0 auto;">
- <style type="text/css">
+ <style type="text/css" >
table {
width: 595px;
font-size: 14pt;
@@ -407,11 +407,11 @@
}
}
@*<tr>
- <td colspan="2" align="left">璇锋眰锛�<span>@Model.RequestInfoName</span></td>
- </tr>*@
+ <td colspan="2" align="left">璇锋眰锛�<span>@Model.RequestInfoName</span></td>
+ </tr>*@
@*<tr>
- <td colspan="2" style="height:15px"></td>
- </tr>*@
+ <td colspan="2" style="height:15px"></td>
+ </tr>*@
<tr>
<td align="left">绛惧瓧(绛剧珷)锛�</td>
<td align="left">鍏珷锛�</td>
@@ -428,22 +428,22 @@
<div id="zhuti">
@{
- for (int i = 0; i < yinyezhizhaosssss.Count; i++)
- {
- <div style="page-break-after:always;">
- <img src="@yinyezhizhaosssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
+ for (int i = 0; i < yinyezhizhaosssss.Count; i++)
+ {
+ <div style="page-break-after:always;">
+ <img src="@yinyezhizhaosssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
- </div>
- }
+ </div>
+ }
- for (int i = 0; i < shenfenzhengsssss.Count; i++)
- {
- <div style="page-break-after:always;">
- <img src="@shenfenzhengsssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
+ for (int i = 0; i < shenfenzhengsssss.Count; i++)
+ {
+ <div style="page-break-after:always;">
+ <img src="@shenfenzhengsssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
- </div>
- }
+ </div>
+ }
}
<div style="page-break-after:always;">
@@ -451,8 +451,9 @@
<tr>
<td colspan="2" style="font-size:29.3px;text-align:center">娉曞畾浠h〃浜鸿祫鏍艰瘉鏄庝功</td>
</tr>
+
<tr>
- <td colspan="2">鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
+ <td colspan="2"> 鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
</tr>
<tr>
<td colspan="2" align="left"> 鐗规璇佹槑銆�</td>
@@ -475,49 +476,56 @@
<div id="zhuti1">
@{
- for (int i = 0; i < yinyezhizhaosssss.Count; i++)
- {
- <div style="page-break-after:always;">
+ for (int i = 0; i < yinyezhizhaosssss.Count; i++)
+ {
+ <br clear=all style="page-break-before:always" mce_style="page-break-before:always">
+
<img src="@yinyezhizhaosssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
- </div>
- }
+
+ }
- for (int i = 0; i < shenfenzhengsssss.Count; i++)
- {
- <div style="page-break-after:always;">
+ for (int i = 0; i < shenfenzhengsssss.Count; i++)
+ {
+ <br clear=all style="page-break-before:always" mce_style="page-break-before:always">
+
<img src="@shenfenzhengsssss[i].Filepath" alt="" style="height: auto; max-width: 100%; ">
- </div>
- }
- }
- <div style="page-break-after:always;">
- <table border="0" align="center" cellpadding="3" cellspacing="0">
- <tr>
- <td colspan="2" style="font-size:29.3px;text-align:center">娉曞畾浠h〃浜鸿祫鏍艰瘉鏄庝功</td>
- </tr>
- <tr>
- <td colspan="2">鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
- </tr>
- <tr>
- <td colspan="2" align="left"> 鐗规璇佹槑銆�</td>
- </tr>
- <tr>
- <td colspan="2" style="height:50px"></td>
- </tr>
- <tr>
- <td colspan="2" align="right">宸濆嵃鏂囧寲闆嗗洟鑲′唤鏈夐檺鍏徃锛堝叕绔狅級</td>
- </tr>
- <tr>
- <td colspan="2" align="right">鏃ユ湡锛欯Model.Modifytime.Value.ToString("yyyy骞碝M鏈坉d鏃�")</td>
- </tr>
- </table>
- </div>
+ }
+ }
+ <br clear=all style="page-break-before:always" mce_style="page-break-before:always">
+
+ <table border="0" align="center" cellpadding="3" cellspacing="0">
+ <tr>
+ <td colspan="2" style="font-size:29.3px;text-align:center">娉曞畾浠h〃浜鸿祫鏍艰瘉鏄庝功</td>
+ </tr>
+
+ <tr>
+ <td colspan="2"> 鍏硅瘉鏄� @(cooperatecustomCustomerDTO.FName) 鍦� @(cooperatecustomCustomerDTO.Name) 浠� @(cooperatecustomCustomerDTO.Zhiwu) 鑱屽姟锛屾槸 @(cooperatecustomCustomerDTO.Name) 鐨勬硶瀹氫唬琛ㄤ汉銆�</td>
+ </tr>
+ <tr>
+ <td colspan="2" align="left"> 鐗规璇佹槑銆�</td>
+ </tr>
+ <tr>
+ <td colspan="2" style="height:50px"></td>
+ </tr>
+ <tr>
+ <td colspan="2" align="right">宸濆嵃鏂囧寲闆嗗洟鑲′唤鏈夐檺鍏徃锛堝叕绔狅級</td>
+ </tr>
+ <tr>
+ <td colspan="2" align="right">鏃ユ湡锛欯Model.Modifytime.Value.ToString("yyyy骞碝M鏈坉d鏃�")</td>
+ </tr>
+ </table>
+
</div>
+
+
+
+
</div>
</div>
@@ -542,6 +550,7 @@
<script type="text/javascript">
$('#zhuti').hide();
$('#zhuti1').hide();
+
function printWin() {
@@ -645,31 +654,57 @@
yes: function (index, layero) {
+
-
- var pt = document.getElementById("page1").innerHTML;
+ var pt = $('#page1').html();
var zhutiziliao = $('#zhutiziliao').val();
+ $('#content').append(' <div id ="zhutilinshi"> <style type="text/css" >'+
+ ' table {' +
+ 'width: 595px;' +
+ 'font-size: 14pt;' +
+ ' font-family: "FangSong";' +
+ 'background: #fff;' +
+ ' line-height: 150%;' +
+ ' }' +
+
+ ' span {' +
+ ' font-size: 14pt;' +
+ 'display: inline;' +
+
+ ' }' +
+
+ ' s22pan: after {' +
+ ' content: "";' +
+ ' display: inline;' +
+ ' width: 100%;' +
+ ' margin-top: -5px;' +
+ ' }' +
+ ' </style > </div >');
+
+ $('#zhutilinshi').append($('#page1').html());
if (zhutiziliao == "0") {
- $('#content').append(' <div id ="zhutilinshi"> </div >');
- $('#zhutilinshi').append(document.getElementById("zhuti1").innerHTML);
+
+ $('#zhutilinshi').append($('#zhuti1').html());
}
var a = parseInt($('#PrintNums').val());
pt = pt.replace("鎶曡瘔涔︼紙姝f湰锛�","鎶曡瘔涔︼紙鍓湰锛�");
- if (a > 0) {
- $('#content').append(' <div id ="fuben"> </div >');
- for (var i = 0; i < a; i++) {
- $('#fuben').append(' <div style="page-break-after:always;">' + pt +' </div>');
- }
+ if (a > 0) {
+ for (var i = 0; i < a; i++) {
+ $('#zhutilinshi').append(' <br clear=all style="page-break-before:always" mce_style="page-break-before:always"> ' + pt + ' ');
- }
+ }
- $("#content").wordExport("鎶曡瘔涔(Html.Raw(Model.TsrName))"); //fileName涓哄鍑虹殑word鏂囦欢鐨勫懡鍚�,content涓鸿瀵煎嚭鐨刪tml鍐呭瀹瑰櫒
- $('#fuben').remove();
+ }
+ // console.log(document.getElementById("zhutilinshi").innerHTML);
+
+
+
+ $("#zhutilinshi").wordExport("鎶曡瘔涔(Html.Raw(Model.TsrName))"); //fileName涓哄鍑虹殑word鏂囦欢鐨勫懡鍚�,content涓鸿瀵煎嚭鐨刪tml鍐呭瀹瑰櫒
$('#zhutilinshi').remove();
layer.close(index);
- $('#zhuti').hide();
+ $('#zhuti1').hide();
return false;
diff --git a/zhengcaioa/zhengcaioa/wwwroot/js/fileSaver.js b/zhengcaioa/zhengcaioa/wwwroot/js/fileSaver.js
index cc0c310..239db12 100644
--- a/zhengcaioa/zhengcaioa/wwwroot/js/fileSaver.js
+++ b/zhengcaioa/zhengcaioa/wwwroot/js/fileSaver.js
@@ -1,4 +1,4 @@
-锘�/* FileSaver.js
+/* FileSaver.js
* A saveAs() FileSaver implementation.
* 1.3.2
* 2016-06-16 18:25:19
@@ -7,182 +7,182 @@
* License: MIT
* See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
*/
-
+
/*global self */
/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
-
+
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
-
+
var saveAs = saveAs || (function(view) {
- "use strict";
- // IE <10 is explicitly unsupported
- if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
- return;
- }
- var
- doc = view.document
- // only get URL when necessary in case Blob.js hasn't overridden it yet
- , get_URL = function() {
- return view.URL || view.webkitURL || view;
- }
- , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
- , can_use_save_link = "download" in save_link
- , click = function(node) {
- var event = new MouseEvent("click");
- node.dispatchEvent(event);
- }
- , is_safari = /constructor/i.test(view.HTMLElement)
- , is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent)
- , throw_outside = function(ex) {
- (view.setImmediate || view.setTimeout)(function() {
- throw ex;
- }, 0);
- }
- , force_saveable_type = "application/octet-stream"
- // the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
- , arbitrary_revoke_timeout = 1000 * 40 // in ms
- , revoke = function(file) {
- var revoker = function() {
- if (typeof file === "string") { // file is an object URL
- get_URL().revokeObjectURL(file);
- } else { // file is a File
- file.remove();
- }
- };
- setTimeout(revoker, arbitrary_revoke_timeout);
- }
- , dispatch = function(filesaver, event_types, event) {
- event_types = [].concat(event_types);
- var i = event_types.length;
- while (i--) {
- var listener = filesaver["on" + event_types[i]];
- if (typeof listener === "function") {
- try {
- listener.call(filesaver, event || filesaver);
- } catch (ex) {
- throw_outside(ex);
- }
- }
- }
- }
- , auto_bom = function(blob) {
- // prepend BOM for UTF-8 XML and text/* types (including HTML)
- // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
- if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
- return new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
- }
- return blob;
- }
- , FileSaver = function(blob, name, no_auto_bom) {
- if (!no_auto_bom) {
- blob = auto_bom(blob);
- }
- // First try a.download, then web filesystem, then object URLs
- var
- filesaver = this
- , type = blob.type
- , force = type === force_saveable_type
- , object_url
- , dispatch_all = function() {
- dispatch(filesaver, "writestart progress write writeend".split(" "));
- }
- // on any filesys errors revert to saving with object URLs
- , fs_error = function() {
- if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
- // Safari doesn't allow downloading of blob urls
- var reader = new FileReader();
- reader.onloadend = function() {
- var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');
- var popup = view.open(url, '_blank');
- if(!popup) view.location.href = url;
- url=undefined; // release reference before dispatching
- filesaver.readyState = filesaver.DONE;
- dispatch_all();
- };
- reader.readAsDataURL(blob);
- filesaver.readyState = filesaver.INIT;
- return;
- }
- // don't create more object URLs than needed
- if (!object_url) {
- object_url = get_URL().createObjectURL(blob);
- }
- if (force) {
- view.location.href = object_url;
- } else {
- var opened = view.open(object_url, "_blank");
- if (!opened) {
- // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
- view.location.href = object_url;
- }
- }
- filesaver.readyState = filesaver.DONE;
- dispatch_all();
- revoke(object_url);
- }
- ;
- filesaver.readyState = filesaver.INIT;
-
- if (can_use_save_link) {
- object_url = get_URL().createObjectURL(blob);
- setTimeout(function() {
- save_link.href = object_url;
- save_link.download = name;
- click(save_link);
- dispatch_all();
- revoke(object_url);
- filesaver.readyState = filesaver.DONE;
- });
- return;
- }
-
- fs_error();
- }
- , FS_proto = FileSaver.prototype
- , saveAs = function(blob, name, no_auto_bom) {
- return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
- }
- ;
- // IE 10+ (native saveAs)
- if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
- return function(blob, name, no_auto_bom) {
- name = name || blob.name || "download";
-
- if (!no_auto_bom) {
- blob = auto_bom(blob);
- }
- return navigator.msSaveOrOpenBlob(blob, name);
- };
- }
-
- FS_proto.abort = function(){};
- FS_proto.readyState = FS_proto.INIT = 0;
- FS_proto.WRITING = 1;
- FS_proto.DONE = 2;
-
- FS_proto.error =
- FS_proto.onwritestart =
- FS_proto.onprogress =
- FS_proto.onwrite =
- FS_proto.onabort =
- FS_proto.onerror =
- FS_proto.onwriteend =
- null;
-
- return saveAs;
+ "use strict";
+ // IE <10 is explicitly unsupported
+ if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
+ return;
+ }
+ var
+ doc = view.document
+ // only get URL when necessary in case Blob.js hasn't overridden it yet
+ , get_URL = function() {
+ return view.URL || view.webkitURL || view;
+ }
+ , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
+ , can_use_save_link = "download" in save_link
+ , click = function(node) {
+ var event = new MouseEvent("click");
+ node.dispatchEvent(event);
+ }
+ , is_safari = /constructor/i.test(view.HTMLElement)
+ , is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent)
+ , throw_outside = function(ex) {
+ (view.setImmediate || view.setTimeout)(function() {
+ throw ex;
+ }, 0);
+ }
+ , force_saveable_type = "application/octet-stream"
+ // the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
+ , arbitrary_revoke_timeout = 1000 * 40 // in ms
+ , revoke = function(file) {
+ var revoker = function() {
+ if (typeof file === "string") { // file is an object URL
+ get_URL().revokeObjectURL(file);
+ } else { // file is a File
+ file.remove();
+ }
+ };
+ setTimeout(revoker, arbitrary_revoke_timeout);
+ }
+ , dispatch = function(filesaver, event_types, event) {
+ event_types = [].concat(event_types);
+ var i = event_types.length;
+ while (i--) {
+ var listener = filesaver["on" + event_types[i]];
+ if (typeof listener === "function") {
+ try {
+ listener.call(filesaver, event || filesaver);
+ } catch (ex) {
+ throw_outside(ex);
+ }
+ }
+ }
+ }
+ , auto_bom = function(blob) {
+ // prepend BOM for UTF-8 XML and text/* types (including HTML)
+ // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
+ if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
+ return new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
+ }
+ return blob;
+ }
+ , FileSaver = function(blob, name, no_auto_bom) {
+ if (!no_auto_bom) {
+ blob = auto_bom(blob);
+ }
+ // First try a.download, then web filesystem, then object URLs
+ var
+ filesaver = this
+ , type = blob.type
+ , force = type === force_saveable_type
+ , object_url
+ , dispatch_all = function() {
+ dispatch(filesaver, "writestart progress write writeend".split(" "));
+ }
+ // on any filesys errors revert to saving with object URLs
+ , fs_error = function() {
+ if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
+ // Safari doesn't allow downloading of blob urls
+ var reader = new FileReader();
+ reader.onloadend = function() {
+ var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');
+ var popup = view.open(url, '_blank');
+ if(!popup) view.location.href = url;
+ url=undefined; // release reference before dispatching
+ filesaver.readyState = filesaver.DONE;
+ dispatch_all();
+ };
+ reader.readAsDataURL(blob);
+ filesaver.readyState = filesaver.INIT;
+ return;
+ }
+ // don't create more object URLs than needed
+ if (!object_url) {
+ object_url = get_URL().createObjectURL(blob);
+ }
+ if (force) {
+ view.location.href = object_url;
+ } else {
+ var opened = view.open(object_url, "_blank");
+ if (!opened) {
+ // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
+ view.location.href = object_url;
+ }
+ }
+ filesaver.readyState = filesaver.DONE;
+ dispatch_all();
+ revoke(object_url);
+ }
+ ;
+ filesaver.readyState = filesaver.INIT;
+
+ if (can_use_save_link) {
+ object_url = get_URL().createObjectURL(blob);
+ setTimeout(function() {
+ save_link.href = object_url;
+ save_link.download = name;
+ click(save_link);
+ dispatch_all();
+ revoke(object_url);
+ filesaver.readyState = filesaver.DONE;
+ });
+ return;
+ }
+
+ fs_error();
+ }
+ , FS_proto = FileSaver.prototype
+ , saveAs = function(blob, name, no_auto_bom) {
+ return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
+ }
+ ;
+ // IE 10+ (native saveAs)
+ if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
+ return function(blob, name, no_auto_bom) {
+ name = name || blob.name || "download";
+
+ if (!no_auto_bom) {
+ blob = auto_bom(blob);
+ }
+ return navigator.msSaveOrOpenBlob(blob, name);
+ };
+ }
+
+ FS_proto.abort = function(){};
+ FS_proto.readyState = FS_proto.INIT = 0;
+ FS_proto.WRITING = 1;
+ FS_proto.DONE = 2;
+
+ FS_proto.error =
+ FS_proto.onwritestart =
+ FS_proto.onprogress =
+ FS_proto.onwrite =
+ FS_proto.onabort =
+ FS_proto.onerror =
+ FS_proto.onwriteend =
+ null;
+
+ return saveAs;
}(
- typeof self !== "undefined" && self
- || typeof window !== "undefined" && window
- || this.content
+ typeof self !== "undefined" && self
+ || typeof window !== "undefined" && window
+ || this.content
));
// `self` is undefined in Firefox for Android content script context
// while `this` is nsIContentFrameMessageManager
// with an attribute `content` that corresponds to the window
-
+
if (typeof module !== "undefined" && module.exports) {
module.exports.saveAs = saveAs;
} else if ((typeof define !== "undefined" && define !== null) && (define.amd !== null)) {
define([], function() {
return saveAs;
});
-}
\ No newline at end of file
+}
diff --git a/zhengcaioa/zhengcaioa/wwwroot/js/jquery.wordexport.js b/zhengcaioa/zhengcaioa/wwwroot/js/jquery.wordexport.js
index 14ac6d5..8481785 100644
--- a/zhengcaioa/zhengcaioa/wwwroot/js/jquery.wordexport.js
+++ b/zhengcaioa/zhengcaioa/wwwroot/js/jquery.wordexport.js
@@ -1,4 +1,4 @@
-锘縤f (typeof jQuery !== "undefined" && typeof saveAs !== "undefined") {
+if (typeof jQuery !== "undefined" && typeof saveAs !== "undefined") {
(function($) {
$.fn.wordExport = function(fileName) {
fileName = typeof fileName !== 'undefined' ? fileName : "jQuery-Word-Export";
@@ -14,14 +14,14 @@
};
// Clone selected element before manipulating it
var markup = $(this).clone();
-
+
// Remove hidden elements from the output
markup.each(function() {
var self = $(this);
if (self.is(':hidden'))
self.remove();
});
-
+
// Embed all images using Data URLs
var images = Array();
var img = markup.find('img');
@@ -49,7 +49,7 @@
data: uri.substring(uri.indexOf(",") + 1)
};
}
-
+
// Prepare bottom of mhtml file with image data
var mhtmlBottom = "\n";
for (var i = 0; i < images.length; i++) {
@@ -60,13 +60,13 @@
mhtmlBottom += images[i].data + "\n\n";
}
mhtmlBottom += "--NEXT.ITEM-BOUNDARY--";
-
+
//TODO: load css from included stylesheet
var styles = "";
-
+
// Aggregate parts of the file together
var fileContent = static.mhtml.top.replace("_html_", static.mhtml.head.replace("_styles_", styles) + static.mhtml.body.replace("_body_", markup.html())) + mhtmlBottom;
-
+
// Create a Blob with the file contents
var blob = new Blob([fileContent], {
type: "application/msword;charset=utf-8"
@@ -81,4 +81,4 @@
if (typeof saveAs === "undefined") {
console.error("jQuery Word Export: missing dependency (FileSaver.js)");
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.1