Commit 5f06126e by lp784568205

Merge branch 'dev_xzeq' of http://39.99.224.27:9022/changchao/founder_vue into dev_xzeq

parents 875b5fbe a9227032
/* FileSaver.js
* A saveAs() FileSaver implementation.
* 1.3.2
* 2016-06-16 18:25:19
*
* By Eli Grey, http://eligrey.com
* 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;
}(
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;
});
}
......@@ -13,5 +13,8 @@
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript" src="./FileSaver.js"></script>
<script type="text/javascript" src="./jquery.html.word.js"></script>
</body>
</html>
if (typeof jQuery !== "undefined" && typeof saveAs !== "undefined") {
(function ($) {
$.fn.wordExport = function (fileName) {
fileName = typeof fileName !== 'undefined' ? fileName : "评估研判报告";
var statics = {
mhtml: {
top: "Mime-Version: 1.0\nContent-Base: " + location.href + "\nContent-Type: Multipart/related; boundary=\"NEXT.ITEM-BOUNDARY\";type=\"text/html\"\n\n--NEXT.ITEM-BOUNDARY\nContent-Type: text/html; charset=\"utf-8\"\nContent-Location: " + location.href + "\n\n<!DOCTYPE html>\n<html>\n_html_</html>",
head: "<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<style>\n_styles_\n</style>\n</head>\n",
body: "<body>_body_</body>"
}
};
var options = {
maxWidth: 624
};
// 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');
for (var i = 0; i < img.length; i++) {
// Calculate dimensions of output image
var w = Math.min(img[i].width, options.maxWidth);
var h = img[i].height * (w / img[i].width);
// Create canvas for converting image to data URL
var canvas = document.createElement("CANVAS");
canvas.width = w;
canvas.height = h;
// Draw image to canvas
var context = canvas.getContext('2d');
context.drawImage(img[i], 0, 0, w, h);
// Get data URL encoding of image
var uri = canvas.toDataURL("image/png/jpg");
$(img[i]).attr("src", img[i].src);
img[i].width = w;
img[i].height = h;
// Save encoded image to array
images[i] = {
type: uri.substring(uri.indexOf(":") + 1, uri.indexOf(";")),
encoding: uri.substring(uri.indexOf(";") + 1, uri.indexOf(",")),
location: $(img[i]).attr("src"),
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++) {
mhtmlBottom += "--NEXT.ITEM-BOUNDARY\n";
mhtmlBottom += "Content-Location: " + images[i].location + "\n";
mhtmlBottom += "Content-Type: " + images[i].type + "\n";
mhtmlBottom += "Content-Transfer-Encoding: " + images[i].encoding + "\n\n";
mhtmlBottom += images[i].data + "\n\n";
}
mhtmlBottom += "--NEXT.ITEM-BOUNDARY--";
//TODO: load css from included stylesheet
//var styles=' /* Font Definitions */@font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 680460288 22 0 262145 0;} @font-face{font-family:"Cambria Math";panose-1:2 4 5 3 5 4 6 3 2 4;mso-font-charset:1;mso-generic-font-family:roman;mso-font-format:other;mso-font-pitch:variable;mso-font-signature:0 0 0 0 0 0;} @font-face{font-family:"\@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 680460288 22 0 262145 0;}/* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-unhide:no;mso-style-qformat:yes;mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:14.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoHeader, li.MsoHeader, div.MsoHeader{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"页眉 Char";margin:0cm;margin-bottom:.0001pt;text-align:center;mso-pagination:widow-orphan;layout-grid-mode:char;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoFooter, li.MsoFooter, div.MsoFooter{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"页脚 Char";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;layout-grid-mode:char;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoAcetate, li.MsoAcetate, div.MsoAcetate{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"批注框文本 Char";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}span.Char{mso-style-name:"页眉 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:页眉;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}span.Char0{mso-style-name:"页脚 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:页脚;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}span.Char1{mso-style-name:"批注框文本 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:批注框文本;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}p.msochpdefault, li.msochpdefault, div.msochpdefault{mso-style-name:msochpdefault;mso-style-unhide:no;mso-margin-top-alt:auto;margin-right:0cm;mso-margin-bottom-alt:auto;margin-left:0cm;mso-pagination:widow-orphan;font-size:10.0pt;font-family:宋体;mso-bidi-font-family:宋体;}span.msonormal0{mso-style-name:msonormal;mso-style-unhide:no;}.MsoChpDefault{mso-style-type:export-only;mso-default-props:yes;font-size:10.0pt;mso-ansi-font-size:10.0pt;mso-bidi-font-size:10.0pt;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt;}/* Page Definitions */ @page WordSection1{size:595.3pt 841.9pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:42.55pt;mso-footer-margin:49.6pt;mso-paper-source:0;}div.WordSection1{page:WordSection1;}';
var styles = "";
// Aggregate parts of the file together
var fileContent = statics.mhtml.top.replace("_html_", statics.mhtml.head.replace("_styles_", styles) + statics.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"
});
saveAs(blob, fileName + ".doc");
};
})(jQuery);
} else {
if (typeof jQuery === "undefined") {
console.error("jQuery Word Export: missing dependency (jQuery)");
}
if (typeof saveAs === "undefined") {
console.error("jQuery Word Export: missing dependency (FileSaver.js)");
}
}
\ No newline at end of file
......@@ -34,6 +34,33 @@ export default {
disabled: false,
},
],
leftMenus: [
//左侧导航(模块第一个页面需要)
// {
// id: "queryAj",
// label: "案件标签标注",
// newAuth: "M01",
// index: "queryAj",
// className: "iconfont icongongnengfuwu",
// hasChildren: false,
// },
{
id: "queryJjbz",
label: "警情标签标注",
newAuth: "M02",
index: "queryJjbz",
className: "iconfont icongongnengfuwu",
hasChildren: false,
},
// {
// id: "queryCheckBj",
// label: "查验案件标注",
// newAuth: "M01",
// index: "queryCheckBj",
// className: "iconfont icongongnengfuwu",
// hasChildren: false,
// },
],
cxFormData: {
page: 1,
limit: 10,
......@@ -262,7 +289,7 @@ export default {
// width: "150",
// }
],
cxUrl: `${base.alyIP}/jjxxEs/JjxxQuery`,
cxUrl: `${base.alyIP2}/jjxxEs/JjxxQuery`,
};
},
methods: {
......@@ -288,6 +315,8 @@ export default {
created() {
this.login();
this.$store.commit("user/SET_Menu", this.Menu);
this.$store.commit("user/SET_LeftMenu", this.leftMenus);
this.$store.commit("user/SET_Header", this.header);
},
};
</script>
......
......@@ -17,14 +17,13 @@
<span class="hbyp" @click="toDelete(scope.scope)">删除</span>
</template>
</right-content>
<el-dialog title="报告详情" :visible.sync="dialogFormVisible" width="70%">
<!-- <el-dialog title="报告详情" :visible.sync="dialogFormVisible" width="70%">
<el-row :gutter="20">
<el-col :span="12"><span>报告标题:</span>{{ xqData.bgbt }}</el-col>
<el-col :span="12"
><span>报告状态:</span
>{{ xqData.bgzt == 0 ? "未生效" : "已生效" }}</el-col
>
<!-- <el-col :span="12"><span>报告内容:</span>{{ xqData.bgnr }}</el-col> -->
</el-row>
<el-row :gutter="20">
<el-col :span="12"><span>发布时间:</span>{{ xqData.djsj }}</el-col>
......@@ -52,6 +51,15 @@
></span
></el-col>
</el-row>
</el-dialog> -->
<el-dialog title="报告内容" :visible.sync="dialogFormVisible" width="50%">
<el-button type="primary" @click="downloadReport" size='small'>下载报告</el-button>
<div id="export">
<span
style="margin-left: 37px; width: 800px"
v-html="xqData.bgnr"
></span>
</div>
</el-dialog>
</div>
</template>
......@@ -62,7 +70,8 @@ import {
getTbYwXnpgbg,
updateTbYwXnpgbg,
} from "@/api/pgypbggl.js";
import base from "@/api/base";
import axios from "axios";
import rightContent from "@c/ptCxForm_components.vue";
export default {
name: "queryMbxx",
......@@ -191,6 +200,7 @@ export default {
};
this.$router.push({ path: "/addMbxx", query: param });
},
showDetail(scope) {
getTbYwXnpgbg({ xxzjbh: scope.row.xxzjbh }).then((res) => {
if (res.code == 200) {
......@@ -198,6 +208,12 @@ export default {
this.dialogFormVisible = true;
}
});
// setTimeout(() => {
// $("#export").wordExport();
// }, 1000);
},
downloadReport () {
$("#export").wordExport();
},
toDelete(scope) {
this.$confirm("是否继续?", "提示", {
......@@ -257,6 +273,13 @@ export default {
};
</script>
<style scoped lang="scss">
button.el-button.el-button--primary {
margin: 10px;
float: right;
}
#export {
margin: 0 0 50px;
}
.content-mbxx {
margin-left: 20px;
.hbyp {
......
......@@ -19,6 +19,9 @@
<span v-if="show" class="hbyps" @click="adds(scope.scope)">
<i class="el-icon-plus"></i>新增</span
>
<span v-if="showS" class="hbyps" @click="goReturn(scope.scope)">
返回</span
>
<span v-if="show" class="hbyps" @click="downFils(scope.scope)">
文件样例下载</span
>
......@@ -440,6 +443,63 @@ export default {
});
this.getZdm();
},
// 返回
goReturn(scope) {
var self = this;
this.show = true;
this.showS = false;
(self.pageBs = "queryZj"),
self.cxUrl = "/hnkshrw/getTaskInfo";
var arreyTj = [
{
name: "任务名称",
id: "taskName",
type: "text",
value: "",
placeholder: "",
col: "3",
},
{
name: "任务时间",
id: "endTime",
id2: "startTime",
type: "zdyDate",
value: "",
col: "3",
},
];
var arrey = [
{
label: "任务名称",
prop: "rwmc",
},
{
label: "创建人姓名",
prop: "createName",
},
{
label: "任务时间",
prop: "taskCreateTime",
},
];
let lengtha = arreyTj.length - this.cxQueryField.length;
if (lengtha < 0) {
this.cxQueryField.splice(arreyTj.length);
}
let length = arrey.length - this.cxDefaultFormThead.length;
if (length < 0) {
this.cxDefaultFormThead.splice(arrey.length);
}
arreyTj.forEach((item, index) => {
this.$set(this.cxQueryField, index, {});
this.$set(this.cxQueryField, index, item);
});
arrey.forEach((items, indexs) => {
this.$set(this.cxDefaultFormThead, indexs, {});
this.$set(this.cxDefaultFormThead, indexs, items);
});
this.getZdm();
},
// xsl样例下载
downFils() {
window.open("file/qtyp.xls");
......@@ -463,12 +523,20 @@ export default {
params.append("files", this.xls);
params.append("taskId", scope.row.rwid);
params.append("username", userInfo.userName);
let loading = this.$loading({
lock: true,
text: "正在上传...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
uploadFiles(params).then((res) => {
if (res.code == 200) {
loading.close();
this.$message.success("上传成功!");
this.fileList = [];
this.$refs.rightContent.doQuery("yes");
} else {
loading.close();
this.$message.error("上传失败!");
}
});
......@@ -565,6 +633,7 @@ export default {
taskId: this.cxFormData.taskId,
teamNum: this.cxFormData.teamNum,
username: this.cxFormData.username,
rygx: this.cxFormData.rygx.join(','),
};
let obj = {
childrenXhrStr: "/apiXzxtGaw/hnksh/getRythInfoById",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment