Administrator
2021-07-29 2ce82ded66de4a348dd8fd36bdd826290efbdb06
新增准考证打印
3 files modified
2 files added
310 ■■■■■ changed files
public/papers.html 200 ●●●●● patch | view | raw | blame | history
src/router/views/index.js 13 ●●●●● patch | view | raw | blame | history
src/views/applyexam/index.vue 55 ●●●●● patch | view | raw | blame | history
src/views/applyexam/papers.vue 40 ●●●●● patch | view | raw | blame | history
src/views/trainingRegistration/data.js 2 ●●● patch | view | raw | blame | history
public/papers.html
New file
@@ -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>
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',
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 => {
src/views/applyexam/papers.vue
New file
@@ -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>
src/views/trainingRegistration/data.js
@@ -98,7 +98,7 @@
            message: "请输入培训公司名称",
            trigger: "blur"
        }],
        searchSpan: 5,
        searchSpan: 6,
        searchLabelWidth: 110,
        search: true,
        overHidden: true