From 2ce82ded66de4a348dd8fd36bdd826290efbdb06 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 29 Jul 2021 18:09:48 +0800
Subject: [PATCH] 新增准考证打印
---
src/views/applyexam/index.vue | 55 ++++++---
src/views/trainingRegistration/data.js | 2
src/router/views/index.js | 13 ++
public/papers.html | 200 +++++++++++++++++++++++++++++++++
src/views/applyexam/papers.vue | 40 ++++++
5 files changed, 291 insertions(+), 19 deletions(-)
diff --git a/public/papers.html b/public/papers.html
new file mode 100644
index 0000000..09d177a
--- /dev/null
+++ b/public/papers.html
@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <style>
+ #table {
+ color: #000;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ }
+
+ .user-info-table {
+ margin-top: 30px;
+ width: 60%;
+ height: 60%;
+ border: 1px solid #000;
+ background-color: #fff;
+ }
+
+ .user-info-tr {
+ height: 50px;
+ }
+
+ .avatar {
+ width: 140px;
+ height: 190px;
+ }
+
+ .title {
+ margin-top: 20px;
+ }
+
+ .avatar {
+ width: 140px;
+ height: 190px;
+ }
+ </style>
+ <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
+ <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
+</head>
+
+
+<body>
+ <div>
+ <div>
+ <button onclick="preview(1)">打印</button>
+ </div>
+ <!--startprint-->
+ <div id="table">
+ <!-- <span class="title">准考证信息</span>
+ <table class="user-info-table" border="1px" align="center" cellspacing="0" cellpadding="10">
+ <tr class="user-info-tr">
+ <td width="150px">姓名</td>
+ <td width="150px"></td>
+ <td width="150px">身份证号</td>
+ <td width="150px"></td>
+ <td rowspan="4" align="center" width="150px" v-if="data.avatar == ''">
+ 照片
+ </td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>准考证号</td>
+ <td></td>
+ <td width="150px">性别</td>
+ <td width="150px" v-if="data.sex == 1">男</td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>考点名称</td>
+ <td colspan="3"></td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>考点地址</td>
+ <td colspan="3"></td>
+ </tr>
+
+ <tr class="user-info-tr" style="height:5px">
+ <td colspan="5"></td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>考试名称</td>
+ <td>考试类型</td>
+ <td>考试时间</td>
+ <td>考场号</td>
+ <td>座位号</td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>{{data.examName}}</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+
+ </table>
+ </div> -->
+ <!--endprint-->
+
+ </div>
+ <script>
+ var getData = function(name) {
+ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+ var r = window.location.search.substr(1).match(reg);
+ if (r != null) return unescape(r[2]);
+ return null;
+ };
+ var id = JSON.parse(getData("data")).id;
+
+ axios.get('http://192.168.0.114:81/apply/getApplyInfo?id=' + id).then(function(res) {
+ var data = res.data.data;
+ var str = `<span class="title">${data.examName}</span>
+ <span class="title">准考证信息</span>
+ <table class="user-info-table" border="1px" align="center" cellspacing="0" cellpadding="10">
+ <tr class="user-info-tr">
+ <td width="150px">姓名</td>
+ <td width="150px">${data.realName}</td>
+ <td width="150px">身份证号</td>
+ <td width="150px">${data.idCardNo}</td>
+ <td rowspan="4" align="center" width="150px"">
+ 照片
+ </td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>准考证号</td>
+ <td>${data.candidateNo}</td>
+ <td width="150px">性别</td>
+ <td width="150px">${data.sex==1?"男":(data.sex==2?"女":"")}</td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>考点名称</td>
+ <td colspan="3"></td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>考点地址</td>
+ <td colspan="3"></td>
+ </tr>
+
+ <tr class="user-info-tr" style="height:5px">
+ <td colspan="5"></td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>考试名称</td>
+ <td width="120px">考试类型</td>
+ <td width="180px">考试时间</td>
+ <td>考场号</td>
+ <td>座位号</td>
+ </tr>
+
+ <tr class="user-info-tr">
+ <td>${data.examName}</td>
+ <td width="120px"></td>
+ <td width="180px">${data.stringTime}</td>
+ <td></td>
+ <td></td>
+ </tr>
+
+ </table>
+ </div>`
+
+ var dom = $('#table');
+ dom.empty();
+ dom.append(str);
+ })
+
+ function preview(oper) {
+ if (oper < 10) {
+ bdhtml = window.document.body.innerHTML;
+ // 打印开始的标志
+ sprnstr = "<!--startprint-->";
+ // 打印结束的标志
+ eprnstr = "<!--endprint-->";
+ // 从打印开始的位置截取到末尾
+ prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr));
+ // 从开始截取到打印结束的位置
+ prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
+ // 替换html
+ window.document.body.innerHTML = prnhtml;
+ // 打印
+ window.print();
+ window.document.body.innerHTML = bdhtml;
+ } else {
+ window.print();
+ }
+ }
+ </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/router/views/index.js b/src/router/views/index.js
index c142848..2e38e8c 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -549,6 +549,19 @@
component: () =>
import ( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
}]
+ }, {
+ path: '/applyexam',
+ redirect: '/applyexam/papers',
+ component: Layout,
+ children: [{
+ path: 'papers',
+ name: '准考证信息',
+ meta: {
+ i18n: 'index',
+ },
+ component: () =>
+ import ( /* webpackChunkName: "views" */ '@/views/applyexam/papers')
+ }]
},
// {
// path: '/equipments',
diff --git a/src/views/applyexam/index.vue b/src/views/applyexam/index.vue
index 7c69bc5..02e65dd 100644
--- a/src/views/applyexam/index.vue
+++ b/src/views/applyexam/index.vue
@@ -58,6 +58,16 @@
</el-button>
</template>
+ <template slot-scope="{ type,row }" slot="menu">
+ <el-button
+ :type="type"
+ size="small"
+ icon="el-icon-receiving"
+ @click="handlePrint(row)"
+ >准考证打印
+ </el-button>
+ </template>
+
</avue-crud>
</div>
@@ -110,7 +120,7 @@
//dialogType: 'drawer',
dialogClickModal: false,
// 操作栏宽度
- menuWidth: 100,
+ menuWidth: 200,
column: [
{
@@ -263,23 +273,23 @@
trigger: "blur"
}],
},
- {
- label: "试卷分数",
- prop: "paperScore",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false
- },
+ // {
+ // label: "试卷分数",
+ // prop: "paperScore",
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: true,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false
+ // },
{
label: "报名时间",
prop: "applyTime",
@@ -406,6 +416,15 @@
},
},
methods: {
+ //准考证查看
+ handlePrint(row) {
+ var obj = row;
+ obj["name"] = "准考证信息";
+ this.$router.push({
+ path: `/applyexam/papers`,
+ query: obj,
+ });
+ },
questionBankOnLoad (page, params = {}) {
this.questionBankLoading = false;
getApplyList(page.currentPage, page.pageSize, Object.assign(params, this.questionBankQuery)).then(res => {
diff --git a/src/views/applyexam/papers.vue b/src/views/applyexam/papers.vue
new file mode 100644
index 0000000..70fee4a
--- /dev/null
+++ b/src/views/applyexam/papers.vue
@@ -0,0 +1,40 @@
+<template>
+ <!-- <iframe src="http://124.71.113.22/map/index.html?openid=PatrolManagement" style="width: 100%;height: 100%" frameborder="0"></iframe> -->
+ <iframe :src="url" style="width: 100%; height: 100%" frameborder="0"></iframe>
+</template>
+
+<script>
+//占位路由 巡逻管理
+export default {
+ data() {
+ return {
+ url: "/papers.html",
+ };
+ },
+ created(){
+ var d = this.$route.query;
+ this.url += "?data=" + JSON.stringify(d);
+ // console.log(d);
+ },
+ mounted() {
+ var flag = false,
+ i = 0,
+ ind = null;
+ this.$store.state.tags.tagList.forEach((item, index) => {
+ if (item.label == "准考证信息") {
+ if (flag == false) {
+ ind = index;
+ flag = true;
+ }
+ i++;
+ }
+ });
+ if (i > 1) {
+ this.$store.state.tags.tagList.splice(ind, 1);
+ }
+ },
+};
+</script>
+
+<style>
+</style>
\ No newline at end of file
diff --git a/src/views/trainingRegistration/data.js b/src/views/trainingRegistration/data.js
index 77c5cdb..a53d540 100644
--- a/src/views/trainingRegistration/data.js
+++ b/src/views/trainingRegistration/data.js
@@ -98,7 +98,7 @@
message: "请输入培训公司名称",
trigger: "blur"
}],
- searchSpan: 5,
+ searchSpan: 6,
searchLabelWidth: 110,
search: true,
overHidden: true
--
Gitblit v1.9.3