查看成绩

This commit is contained in:
dong_bo0602 2021-05-17 15:55:55 +08:00
parent e2f172f60e
commit 8a28894dc9
11 changed files with 409 additions and 290 deletions

View File

@ -3,14 +3,9 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>包头市安全生产考试服务平台</title> <title>安全生产三项岗位人员考试服务平台</title>
<script src="./static/jquery-2.1.4.min.js"></script> <script src="./static/jquery-2.1.4.min.js"></script>
<script src="./static/laydate/laydate.js" type="text/javascript" charset="utf-8"></script> <script src="./static/laydate/laydate.js" type="text/javascript" charset="utf-8"></script>
<script>
$("body").css("width", $(window).width());
</script>
<!-- <script src="./static/layui-v2.5.7/layui/layui.js"></script>-->
<!-- <link rel="stylesheet" href="./static/layui-v2.5.7/layui/css/layui.css">-->
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

View File

@ -3,7 +3,7 @@
<div class="footer-top"> <div class="footer-top">
<div class="footer-box footer-box1"> <div class="footer-box footer-box1">
<router-link to="/">网站首页</router-link> <router-link to="/">网站首页</router-link>
<a href="javascript: void(0);">0471-1234567</a> <!-- <a href="javascript: void(0);">0471-1234567</a>-->
</div> </div>
<div class="footer-box footer-box2"> <div class="footer-box footer-box2">
<a href="javascript: void(0);">网站主办单位包头市应急管理局</a> <a href="javascript: void(0);">网站主办单位包头市应急管理局</a>
@ -42,7 +42,7 @@ export default {
<style lang="stylus" rel="stylesheet/stylus" scoped> <style lang="stylus" rel="stylesheet/stylus" scoped>
.footer .footer
background #045BA4 background #e5e5e5
.footer-top .footer-top
width 1200px width 1200px
margin 0 auto margin 0 auto
@ -51,14 +51,14 @@ export default {
.footer-box .footer-box
float left float left
text-align center text-align center
border-right 1px dashed #339df6 border-right 1px dashed #aaa
line-height 30px line-height 30px
height 95px height 95px
a a
display block display block
text-align center text-align center
font-size 14px font-size 14px
color #fff color #666
.footer-box1 .footer-box1
width 160px width 160px
height 95px height 95px
@ -77,8 +77,8 @@ export default {
background url("~@/assets/images/depar.png") no-repeat right center background url("~@/assets/images/depar.png") no-repeat right center
.footer-bottom .footer-bottom
text-align center text-align center
background #044780 background #aaa
line-height 50px line-height 50px
font-size 14px font-size 14px
color #fff color #666
</style> </style>

View File

@ -1,25 +1,27 @@
<template> <template>
<div class="header"> <div class="header">
<div class="head-container"> <div class="header-box">
<router-link to="/" tag="div" class="title"> <div class="head-container">
<h1>包头市安全生产考试服务平台</h1> <router-link to="/" tag="div" class="title">
<p>Baotou Workplace Safety Examination Service Platform</p> <h1>安全生产三项岗位人员考试服务平台</h1>
</router-link> <p>The Examination Service Platform For The Three Posts Of Safety Production</p>
<div class="nav"> </router-link>
<ul> <div class="nav">
<router-link to="/" tag="li" :class="{active: this.$route.path == '/'}">首页</router-link> <ul>
<router-link to="/notice" tag="li" :class="{active: this.$route.path == '/notice'}">最新公告</router-link> <router-link to="/" tag="li" :class="{active: this.$route.path == '/'}">首页</router-link>
<router-link to="/policy" tag="li" :class="{active: this.$route.path == '/policy'}">考试政策</router-link> <router-link to="/notice" tag="li" :class="{active: this.$route.path == '/notice'}">最新公告</router-link>
<router-link to="/train" tag="li" :class="{active: this.$route.path == '/train'}">培训机构</router-link> <router-link to="/policy" tag="li" :class="{active: this.$route.path == '/policy'}">考试政策</router-link>
</ul> <router-link to="/train" tag="li" :class="{active: this.$route.path == '/train'}">培训机构</router-link>
</div> </ul>
<div class="login" v-if="!isLogin"> </div>
<router-link to="/login" class="login-btn">登录</router-link> <div class="login" v-if="!isLogin">
<router-link to="/register" class="register-btn">注册</router-link> <router-link to="/login" class="login-btn">登录</router-link>
</div> <router-link to="/register" class="register-btn">注册</router-link>
<div class="login" v-else> </div>
<router-link to="/center" class="login-btn">{{ userInfo.name }}</router-link> <div class="login" v-else>
<a href="javascript: void(0);" class="logout-btn" @click="doLogout">退出登录</a> <router-link to="/center" class="login-btn" :title="userInfo.name">{{ userInfo.name }}</router-link>
<a href="javascript: void(0);" class="logout-btn" @click="doLogout">退出登录</a>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -89,71 +91,83 @@ export default {
min-width 1200px min-width 1200px
background url("~@/assets/images/head-bg.jpg") no-repeat center background url("~@/assets/images/head-bg.jpg") no-repeat center
background-size: auto 100% background-size: auto 100%
.head-container .header-box
width 1200px height 110px
margin 0 auto box-sizing border-box
padding-top 20px background url("~@/assets/images/login-head-bg.png") no-repeat
overflow hidden background-size: 100% 100%
.title .head-container
float left width 1200px
margin-right 50px
cursor pointer margin 0 auto
h1 padding-top 20px
font-size 22px overflow hidden
color #fff .title
font-weight normal float left
margin-bottom 5px margin-right 30px
p cursor pointer
font-size 12px h1
color #fff font-size 22px
.nav
float left
margin-top 5px
ul
&:after
content ''
display block
clear both
li
float left
padding 0 40px
font-size 18px
color #fff color #fff
border-right 2px solid #fff font-weight normal
cursor pointer margin-bottom 5px
position relative p
&:last-child font-size 12px
border none color #fff
&.active .nav
&:after float left
content '' margin-top 5px
display block ul
width 40px &:after
height 3px content ''
border-radius 3px display block
background #fff300 clear both
position absolute li
bottom -10px float left
left 50% padding 0 34px
margin-left -20px font-size 18px
.login color #fff
float right border-right 2px solid #fff
margin-top 5px cursor pointer
a position relative
display inline-block &:last-child
padding-left 25px border none
font-size 16px &.active
color #fff &:after
&.login-btn content ''
background url("~@/assets/images/login-icon.png") no-repeat left center display block
background-size 18px 18px width 40px
padding-right 10px height 3px
border-right 1px solid #fff border-radius 3px
margin-right 10px background #fff300
&.register-btn position absolute
background url("~@/assets/images/register-icon.png") no-repeat left 1.5px bottom -10px
background-size 20px 20px left 50%
&.logout-btn margin-left -20px
background url("~@/assets/images/logout-icon.png") no-repeat left 1.5px .login
background-size 20px 20px float right
margin-top 5px
a
display inline-block
padding-left 25px
font-size 16px
color #fff
vertical-align top
&.login-btn
width 100px
white-space nowrap
overflow hidden
text-overflow ellipsis
box-sizing border-box
background url("~@/assets/images/login-icon.png") no-repeat left center
background-size 18px 18px
padding-right 10px
border-right 1px solid #fff
margin-right 10px
&.register-btn
background url("~@/assets/images/register-icon.png") no-repeat left 1.5px
background-size 20px 20px
&.logout-btn
background url("~@/assets/images/logout-icon.png") no-repeat left 1.5px
background-size 20px 20px
</style> </style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 416 KiB

View File

@ -1,7 +1,11 @@
const registerUrl = 'http://124.67.110.246:8081/signup/' const registerUrl = 'http://124.67.110.246:9999/signup/'
const loginUrl = 'http://124.67.110.246:8081/signup/' const loginUrl = 'http://124.67.110.246:9999/signup/'
const signUrl = 'http://124.67.110.246:8081/signup/' const signUrl = 'http://124.67.110.246:9999/signup/'
const personInfoUrl = 'http://124.67.110.246:8081/signup/' const personInfoUrl = 'http://124.67.110.246:9999/signup/'
// const registerUrl = 'http://192.168.0.109:8070/signup/'
// const loginUrl = 'http://192.168.0.109:8070/signup/'
// const signUrl = 'http://192.168.0.109:8070/signup/'
// const personInfoUrl = 'http://192.168.0.109:8070/signup/'
export default { export default {
registerUrl, registerUrl,
loginUrl, loginUrl,

View File

@ -2,7 +2,7 @@
<div> <div>
<div class="login"> <div class="login">
<div class="login-box"> <div class="login-box">
<h3>正在登陆到包头市安全生产考试服务平台</h3> <h3>安全生产三项岗位人员考试服务平台</h3>
<!-- <p>Baotou Unified Identity Verification Platform</p>--> <!-- <p>Baotou Unified Identity Verification Platform</p>-->
<input type="text" v-model="loginInfo.username" placeholder="请输入账号"> <input type="text" v-model="loginInfo.username" placeholder="请输入账号">
<input type="password" v-model="loginInfo.password" placeholder="请输入密码" @keyup.enter="submitLogin"> <input type="password" v-model="loginInfo.password" placeholder="请输入密码" @keyup.enter="submitLogin">
@ -81,24 +81,28 @@ export default {
border-radius 10px border-radius 10px
box-shadow 0 0 17px #DEDEDE box-shadow 0 0 17px #DEDEDE
.login .login
position fixed //position fixed
top 0 //top 0
right 0 //right 0
left 0 //left 0
bottom 0 //bottom 0
background url("~@/assets/images/login-bg.jpg") no-repeat center background url("~@/assets/images/login-bg.jpg") no-repeat center
background-size 100% 100% background-size 100% 100%
overflow hidden
.login-box .login-box
width 460px width 460px
height 720px height 720px
padding 80px 55px 180px 45px padding 80px 40px 180px
box-sizing border-box box-sizing border-box
position absolute //position absolute
top 50% //top 50%
left 54% //left 54%
margin-top -360px //margin-top -360px
background #fff url("~@/assets/images/login-box-bg1.png") no-repeat left bottom background #fff url("~@/assets/images/login-box-bg1.png") no-repeat left bottom
background-size 100% auto background-size 100% auto
margin-top 100px
margin-bottom 70px
margin-left 54%
h3 h3
font-size 20px font-size 20px
text-align center text-align center
@ -147,11 +151,8 @@ export default {
margin-bottom 0 margin-bottom 0
color #999 color #999
.bottom-text .bottom-text
position absolute
left 0
right 0
bottom 30px
text-align center text-align center
color #fff color #fff
font-size 14px font-size 14px
margin-bottom 30px
</style> </style>

View File

@ -2,7 +2,7 @@
<div class="container"> <div class="container">
<div class="center-header"> <div class="center-header">
<div class="header-container"> <div class="header-container">
<router-link to="/" tag="div" class="title">包头市安全生产考试服务平台</router-link> <router-link to="/" tag="div" class="title">安全生产三项岗位人员考试服务平台</router-link>
<div class="person-info"> <div class="person-info">
<a href="javascript: void(0);" class="user-name"> <a href="javascript: void(0);" class="user-name">
<i class="icon"></i> <i class="icon"></i>
@ -117,13 +117,6 @@
<option :value="item.workTypeId" v-for="item in workTypeLv2">{{ item.workTypeName }}</option> <option :value="item.workTypeId" v-for="item in workTypeLv2">{{ item.workTypeName }}</option>
</select> </select>
</div> </div>
<div class="row">
培训类型
<input type="radio" id="radio1" value="1" name="type" v-model="planType">
<label for="radio1">初训</label>
<input type="radio" id="radio2" value="2" name="type" v-model="planType">
<label for="radio2">复训</label>
</div>
</div> </div>
<!--按钮--> <!--按钮-->
<div class="btn-box"> <div class="btn-box">
@ -268,32 +261,33 @@
<div class="org-box" v-for="item in orgList"> <div class="org-box" v-for="item in orgList">
<table> <table>
<tr> <tr>
<td width="10%">机构名称:</td> <td width="14%">机构名称:</td>
<td width="30%"><span>{{item.planName}}</span></td> <td width="26%"><span>{{item.institutionName}}</span></td>
<td width="10%">培训地点:</td> <td width="14%">机构地址:</td>
<td width="30%"><span>{{item.planAddress}}</span></td> <td width="26%"><span>{{item.institutionAddress}}</span></td>
<td width="20%" rowspan="4"> <td width="20%" rowspan="6">
<button @click="signOrg(item.classPlanId, item.orgId, item.planName)" v-if="item.applyClassPlanState == 0">报考</button> <button @click="signOrg('', item.institutionId, '')" v-if="item.applyStatus">报考</button>
<button v-else-if="item.applyClassPlanState == 1" style="background: #eee">已报考</button> <button v-else style="background: #eee">已报考</button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="10%">报名时间:</td> <td>机构简介</td>
<td width="30%">{{ item.signUpStartTime }} <br><br> {{ item.signUpEndTime }}</td> <td colspan="3">{{ item.institutionDesc }}</td>
<td width="10%">开班人数:</td>
<td width="30%">{{ item.planPersonNum }}</td>
</tr> </tr>
<tr> <tr>
<td width="10%">开班时间:</td> <td colspan="4">符合开班人数 - <span class="count type1">{{ item.applyUserNum1 }}</span>| 已报名人数 - <span class="count type2">{{ item.applyUserNum2 }}</span>| 已通过审核人数 - <span class="count type3">{{ item.applyUserNum3 }}</span></td>
<td width="30%">{{ item.planStartTime }} <br><br> {{ item.planEndTime }}</td>
<td width="10%">已报名数:</td>
<td width="30%">{{ item.applyClassPlanUserNumber }}</td>
</tr> </tr>
<tr> <tr>
<td width="10%">联系人</td> <td>负责人:</td>
<td width="30%">{{ item.chargePerson }}</td> <td>{{ item.institutionPrincipal }}</td>
<td width="10%">联系电话:</td> </tr>
<td width="30%">{{ item.chargePersonTel }}</td> <tr>
<td>联系方式:</td>
<td>{{ item.institutionContact }}</td>
</tr>
<tr>
<td style="vertical-align: top;line-height: 40px">二维码:</td>
<td><img :src="item.qrCode" alt=""></td>
</tr> </tr>
</table> </table>
</div> </div>
@ -332,38 +326,34 @@
</div> </div>
<div v-if="tab == 1"> <div v-if="tab == 1">
<h3 class="right-title">报考情况</h3> <h3 class="right-title">报考情况</h3>
<!--报名列表-->
<div class="sign-list" v-if="!checkingSigned"> <div class="sign-list" v-if="!checkingSigned">
<div class="signed-box" v-for="item in myApplyList"> <div class="signed-box" v-for="item in myApplyList">
<div class="signed-left"> <div class="signed-left">
<div class="status wait" v-if="item.applyAuditState == 0">待审核</div>
<div class="status error" v-if="item.applyAuditState == 1">用户撤回</div>
<div class="status complete" v-if="item.applyAuditState == 2">审核通过</div>
<div class="status complete" v-if="item.applyAuditState == 3">报名完成</div>
<div class="status error" v-if="item.applyAuditState == -1">审核不通过</div>
<h3>{{ item.applyName }} | 报名时间{{ item.gmtCreate }}</h3>
<table> <table>
<tr> <tr>
<td width="10%">  :</td> <td width="10%">证件类型:</td>
<td width="40%">{{ item.applyName }}</td> <td width="40%">{{ item.applyCardTypeName }}</td>
<td width="10%">培训计划:</td> <td width="10%">证件号码:</td>
<td width="40%">{{ item.applyClassName }}</td> <td width="40%">{{ item.applyCardNumber }}</td>
</tr> </tr>
<tr> <tr>
<td>证件类型:</td> <td width="10%">培训机构:</td>
<td>{{ item.applyCardTypeName }}</td> <td width="40%">{{ item.applyInstitutionName }}</td>
<td>证件号码:</td>
<td>{{ item.applyCardNumber }}</td>
</tr>
<tr>
<td>报名时间:</td>
<td>2021-04-27 09:38:08</td>
<td>  :</td> <td>  :</td>
<td>{{ item.applyPhone }}</td> <td>{{ item.applyPhone }}</td>
</tr> </tr>
<tr> <tr>
<td>报名情况:</td> <td width="10%">报名工种:</td>
<td> <td width="40%">{{ item.applyWorkTypeName }}</td>
<p v-if="item.applyAuditState == 0">待审核</p> </tr>
<p v-if="item.applyAuditState == 1" style="color: red">用户撤回</p> <tr>
<p v-if="item.applyAuditState == 2" style="color: #00FF00">审核通过</p> <td colspan="4">符合开班人数 - <span class="count type1">{{ item.applyUserNum1 }}</span>| 已报名人数 - <span class="count type2">{{ item.applyUserNum2 }}</span>| 已通过审核人数 - <span class="count type3">{{ item.applyUserNum3 }}</span></td>
<p v-if="item.applyAuditState == 3" style="color: #00FF00">报名完成</p>
<p v-if="item.applyAuditState == -1" style="color: red">审核不通过</p>
</td>
</tr> </tr>
<tr> <tr>
<td>  :</td> <td>  :</td>
@ -410,34 +400,34 @@
<tr> <tr>
<td width="10%">姓名</td> <td width="10%">姓名</td>
<td width="40%"> <td width="40%">
<input type="text" v-model="signedInfo.applyName" :disabled="signedInfo.isDisabled"> <input type="text" v-model="signedInfo.applyName" disabled>
</td> </td>
<td width="10%">出生日期</td> <td width="10%">出生日期</td>
<td width="40%"> <td width="40%">
<input type="text" v-model="signedInfo.applyDataBirth" :disabled="signedInfo.isDisabled"> <input type="text" v-model="signedInfo.applyDataBirth" disabled>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="10%">证件类型</td> <td width="10%">证件类型</td>
<td width="40%"> <td width="40%">
<select v-model="signedInfo.applyCardType" :disabled="signedInfo.isDisabled"> <select v-model="signedInfo.applyCardType" :disabled="signedInfo.isDisabled" @change="reselectCardType">
<option value="0">请选择证件类型</option> <option value="0">请选择证件类型</option>
<option :value="item.dataId" v-for="item in paperTypeList">{{item.dataName}}</option> <option :value="item.dataId" v-for="item in paperTypeList">{{item.dataName}}</option>
</select> </select>
</td> </td>
<td width="10%">证件号码</td> <td width="10%">证件号码</td>
<td width="40%"> <td width="40%">
<input type="text" v-model="signedInfo.applyCardNumber" :disabled="signedInfo.isDisabled"> <input type="text" v-model="signedInfo.applyCardNumber" :disabled="hasreCardNum">
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="10%">手机号码</td> <td width="10%">手机号码</td>
<td width="40%"> <td width="40%">
<input type="text" v-model="signedInfo.applyPhone" :disabled="signedInfo.isDisabled"> <input type="text" v-model="signedInfo.applyPhone" disabled>
</td> </td>
<td width="10%">性别</td> <td width="10%">性别</td>
<td width="40%"> <td width="40%">
<select v-model="signedInfo.applySex" :disabled="signedInfo.isDisabled"> <select v-model="signedInfo.applySex" disabled>
<option value="0">请选择性别</option> <option value="0">请选择性别</option>
<option :value="item.dataId" v-for="item in sexList">{{item.dataName}}</option> <option :value="item.dataId" v-for="item in sexList">{{item.dataName}}</option>
</select> </select>
@ -543,11 +533,11 @@
<tr> <tr>
<th width="5%">序号</th> <th width="5%">序号</th>
<th width="15%">培训机构</th> <th width="15%">培训机构</th>
<th width="19%">培训计划</th> <th width="19%">班号</th>
<th width="13%">考试开始时间</th> <th width="28%">考试开始时间</th>
<th width="13%">考试结束时间</th> <th width="28%">考试结束时间</th>
<th width="20%">考试地点</th> <!-- <th width="20%">考试地点</th>-->
<th width="10%">操作</th> <!-- <th width="10%">操作</th>-->
</tr> </tr>
<tr v-for="(item,idx) in examList"> <tr v-for="(item,idx) in examList">
<td>{{ idx+1 }}</td> <td>{{ idx+1 }}</td>
@ -555,11 +545,11 @@
<td>{{ item.planName }}</td> <td>{{ item.planName }}</td>
<td>{{ item.examTimeStart }}</td> <td>{{ item.examTimeStart }}</td>
<td>{{ item.examTimeEnd }}</td> <td>{{ item.examTimeEnd }}</td>
<td>{{ item.examAddress }}</td> <!-- <td>{{ item.examAddress }}</td>-->
<td> <!-- <td>-->
<!-- <router-link :to="{path: '/print', query: {distributionCardCode : item.distributionCardCode}}" target="_blank">打印准考证</router-link>--> <!-- <router-link :to="{path: '/print', query: {distributionCardCode : item.distributionCardCode}}" target="_blank">打印准考证</router-link>&ndash;&gt;-->
<a href="javascript: void(0);" @click="print(item.distributionCardCode)">打印准考证</a> <!-- <a href="javascript: void(0);" @click="print(item.distributionCardCode)">打印准考证</a>-->
</td> <!-- </td>-->
</tr> </tr>
</table> </table>
</div> </div>
@ -587,8 +577,50 @@
</div> </div>
</div> </div>
<div v-if="tab == 3"> <div v-if="tab == 3">
<div class="no-data"> <h3 class="right-title">我的成绩</h3>
暂无记录 <div class="ticket-container">
<table class="ticket-table">
<tr>
<th width="5%">序号</th>
<th width="15%">姓名</th>
<th width="15%">培训机构</th>
<th width="15%">工种名称</th>
<th width="18%">开始时间</th>
<th width="18%">结束时间</th>
<th width="14%">成绩</th>
</tr>
<tr v-for="(item,idx) in achievementList">
<td>{{ (page.page - 1) * page.rows + idx + 1 }}</td>
<td>{{ item.applyName }}</td>
<td>{{ item.applyUnitName }}</td>
<td>{{ item.applyWorkTypeName }}</td>
<td>{{ item.examStartTime }}</td>
<td>{{ item.examEndTime }}</td>
<td>{{ item.applyTestScores }}</td>
</tr>
</table>
</div>
<div class="pager" v-if="page.totalPage > 1">
<span @click="paging(1)">首页</span>
<span @click="paging(page.page - 1)" v-if="page.page > 1">上一页</span>
<ul v-if="page.totalPage > 0 && page.totalPage <= 5">
<li v-for="cpage in page.totalPage" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
</ul>
<ul v-if="page.totalPage > 5">
<li v-if="page.page < 3" v-for="cpage in 5" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
<li v-if="page.page > page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.totalPage - 5 + cpage)}" :key="cpage" @click="paging(page.totalPage - 5 + cpage)">
{{page.totalPage - 5 + cpage}}
</li>
<li v-if="page.page >= 3 && page.page <= page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.page - (3 - cpage))}" :key="cpage" @click="paging(page.page - (3 - cpage))">
{{page.page - (3 - cpage)}}
</li>
</ul>
<span @click="paging(page.page + 1)" v-if="page.page < page.totalPage">下一页</span>
<span @click="paging(page.totalPage)">尾页</span>
</div> </div>
</div> </div>
<div v-if="tab == 4"> <div v-if="tab == 4">
@ -597,15 +629,21 @@
<img src="@/assets/images/btn_hr1.png" alt=""> <img src="@/assets/images/btn_hr1.png" alt="">
</a> </a>
</div> </div>
<router-link to="/" tag="div" class="my-certificate"> <div class="my-certificate">
<img src="@/assets/images/btn_hr2.png" alt=""> <a href="http://cx.mem.gov.cn/" target="_blank">
</router-link> <img src="@/assets/images/btn_hr2.png" alt="">
<router-link to="/" tag="div" class="my-certificate"> </a>
<img src="@/assets/images/btn_general.png" alt=""> </div>
</router-link> <div class="my-certificate">
<router-link to="/" tag="div" class="my-certificate"> <a href="http://cx.mem.gov.cn/" target="_blank">
<img src="@/assets/images/btn_safe.png" alt=""> <img src="@/assets/images/btn_general.png" alt="">
</router-link> </a>
</div>
<div class="my-certificate">
<a href="http://cx.mem.gov.cn/" target="_blank">
<img src="@/assets/images/btn_safe.png" alt="">
</a>
</div>
</div> </div>
<div v-if="tab == 5"> <div v-if="tab == 5">
<h3 class="right-title">关于包头市领取安全生产考试资格证书有关事项的通告</h3> <h3 class="right-title">关于包头市领取安全生产考试资格证书有关事项的通告</h3>
@ -957,7 +995,7 @@
<input type="file" id="upload-avatar" @change="uploadAvatar($event)"> <input type="file" id="upload-avatar" @change="uploadAvatar($event)">
<label for="upload-avatar" v-if="!personInfo.userPhotoId">点击上传</label> <label for="upload-avatar" v-if="!personInfo.userPhotoId">点击上传</label>
<label for="upload-avatar" v-else> <label for="upload-avatar" v-else>
<img :src="personUrl + 'route/file/download/true/' + personInfo.userPhotoId" alt=""> <img :src="personUrl + 'route/file/download/true/' + personInfo.userPhotoId" alt="" style="max-width: 150px">
</label> </label>
</td> </td>
</tr> </tr>
@ -1036,7 +1074,7 @@ export default {
workSelectedTypeLv1: 0, workSelectedTypeLv1: 0,
workTypeLv2: [], workTypeLv2: [],
workSelectedTypeLv2: 0, workSelectedTypeLv2: 0,
planType: '', // planType: '',
promiseText: '', promiseText: '',
paperTypeList: [], paperTypeList: [],
sexList: [], sexList: [],
@ -1083,7 +1121,9 @@ export default {
orgKeywords: '', orgKeywords: '',
basicStaffInfoId: '', basicStaffInfoId: '',
isSignSuccess: false, isSignSuccess: false,
hasCardNum: false hasCardNum: false,
hasreCardNum: true,
achievementList: []
} }
}, },
methods: { methods: {
@ -1099,10 +1139,8 @@ export default {
this.checkingSigned = false this.checkingSigned = false
} else if (tab == 2) { } else if (tab == 2) {
this.getExamList() this.getExamList()
} } else if (tab == 7) {
if (tab == 7) {
this.getPersonInfo() this.getPersonInfo()
this.$nextTick(function () { this.$nextTick(function () {
laydate.render({ laydate.render({
elem: "#birthday", elem: "#birthday",
@ -1112,16 +1150,29 @@ export default {
} }
}); });
}) })
} else if (tab == 3) {
this.getAchievement()
} }
} else { } else {
this.$layer.msg('请先完善个人信息') this.$layer.msg('请先完善个人信息')
} }
}, },
//
reselectCardType: function () {
if (this.signedInfo.applyCardType == this.personInfo.cardType) {
this.signedInfo.applyCardNumber = this.personInfo.idCardNumber
this.hasreCardNum = true
} else {
this.signedInfo.applyCardNumber = ''
this.hasreCardNum = false
}
},
// //
successBack: function () { successBack: function () {
this.tab = 0 // this.tab = 0
this.signStep = 0 // this.signStep = 0
this.isSignSuccess = false // this.isSignSuccess = false
this.$router.go(0)
}, },
// //
nextStep: function () { nextStep: function () {
@ -1133,10 +1184,10 @@ export default {
this.$layer.msg('请选择报考工种') this.$layer.msg('请选择报考工种')
return return
} }
if (this.planType == 0) { // if (this.planType == 0) {
this.$layer.msg('请选择培训类型') // this.$layer.msg('')
return // return
} // }
this.signStep++ this.signStep++
this.getPersonInfo(true) this.getPersonInfo(true)
if (this.signStep == 1) { if (this.signStep == 1) {
@ -1168,12 +1219,21 @@ export default {
content: '确定选择该培训机构吗?<br>一旦选择确定后无法修改', content: '确定选择该培训机构吗?<br>一旦选择确定后无法修改',
btn: ['确认', '取消'], btn: ['确认', '取消'],
yes: function () { yes: function () {
var type
if (self.workSelectedTypeLv2 != 0) {
type = self.workSelectedTypeLv2
} else if (self.workSelectedTypeLv1 != 0) {
type = self.workSelectedTypeLv1
} else {
type = self.workSelectedType
}
var info = self.signInfo var info = self.signInfo
info['applyClassId'] = planId info['applyClassId'] = planId
info['applyClassName'] = name info['applyClassName'] = name
info['applyInstitutionId'] = orgId info['applyInstitutionId'] = orgId
info['applyWorkTypeId'] = type
axios.post(self.signUrl + 'app/apply/save', info,{ axios.post(self.signUrl + 'app/apply/save', info,{
// axios.post('http://192.168.109:8070/signup/app/apply/save', info,{ // axios.post('http://192.168.120:7009/signup/app/apply/save', info,{
headers: { headers: {
token: self.token token: self.token
} }
@ -1183,6 +1243,7 @@ export default {
self.isSignSuccess = true self.isSignSuccess = true
// self.tab = 1 // self.tab = 1
}).catch(function (error) { }).catch(function (error) {
self.$layer.closeAll()
self.$layer.msg(error.response.data.msg) self.$layer.msg(error.response.data.msg)
}) })
}, },
@ -1437,18 +1498,28 @@ export default {
catalogId = self.workSelectedTypeLv1 catalogId = self.workSelectedTypeLv1
} }
var info = self.page var info = self.page
info['workerCatalog'] = catalogId var type
info['planType'] = self.planType if (self.workSelectedTypeLv2 != 0) {
info['applyCardNumber'] = self.signInfo.applyCardNumber type = self.workSelectedTypeLv2
} else if (self.workSelectedTypeLv1 != 0) {
type = self.workSelectedTypeLv1
} else {
type = self.workSelectedType
}
info['workTypeId'] = type
info['keywords'] = self.orgKeywords info['keywords'] = self.orgKeywords
axios.get(self.signUrl + 'app/apply/listPageApplyClassPlan', { axios.get(self.signUrl + 'app/apply/list-page-apply-work-type', {
// axios.get('http://192.168.0.109:8070/signup/app/apply/listPageApplyClassPlan', { // axios.get('http://192.168.0.120:7009/signup/app/apply/list-page-apply-work-type', {
params: info, params: info,
headers: { headers: {
token: self.token token: self.token
} }
}).then(function (res) { }).then(function (res) {
console.log(res)
self.isLoading = false self.isLoading = false
for (let i = 0; i < res.data.rows.length; i++) {
res.data.rows[i].qrCode = 'data:image/jpg;base64,' + res.data.rows[i].qrCode
}
self.orgList = res.data.rows self.orgList = res.data.rows
self.page.page = res.data.page self.page.page = res.data.page
self.page.totalPage = Math.ceil(res.data.total / self.page.rows) self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
@ -1507,6 +1578,8 @@ export default {
this.getOrgList() this.getOrgList()
} else if (this.tab == 2) { } else if (this.tab == 2) {
this.getExamList() this.getExamList()
} else if (this.tab == 3) {
this.getAchievement()
} }
}, },
// //
@ -1540,6 +1613,7 @@ export default {
if (!isResign) { if (!isResign) {
self.signedInfo['isDisabled'] = 1 self.signedInfo['isDisabled'] = 1
} else { } else {
// self.signedInfo['isDisabled'] = 0
self.showResignBtn = true self.showResignBtn = true
} }
self.checkingSigned = true self.checkingSigned = true
@ -1559,6 +1633,9 @@ export default {
self.showResignBtn = false self.showResignBtn = false
self.getMyApply() self.getMyApply()
} }
}).catch(function (error) {
self.$layer.msg(error.response.data.msg)
self.isLoading = false
}) })
}, },
// //
@ -1632,6 +1709,7 @@ export default {
// //
savePersonInfo: function () { savePersonInfo: function () {
var self = this var self = this
console.log(self.personInfo)
if (this.personInfo.fullName) { if (this.personInfo.fullName) {
self.isLaoding = true self.isLaoding = true
axios.post(self.personUrl + 'app/basic-staff-info/save', self.personInfo, { axios.post(self.personUrl + 'app/basic-staff-info/save', self.personInfo, {
@ -1658,6 +1736,7 @@ export default {
var formdata = new FormData() var formdata = new FormData()
formdata.append('image', file) formdata.append('image', file)
axios.post(self.personUrl + 'app/file/uploadimage', formdata, { axios.post(self.personUrl + 'app/file/uploadimage', formdata, {
// axios.post('http://192.168.0.109:8070/signup/app/file/uploadimage', formdata, {
headers: { headers: {
token: self.token token: self.token
} }
@ -1665,6 +1744,7 @@ export default {
self.$layer.msg('上传成功') self.$layer.msg('上传成功')
self.isLaoding = false self.isLaoding = false
self.personInfo.userPhotoId = res.data.data self.personInfo.userPhotoId = res.data.data
// self.getPersonInfo()
}) })
}, },
// //
@ -1684,6 +1764,21 @@ export default {
window.print(); window.print();
window.location.reload() window.location.reload()
}, 500); }, 500);
},
//
getAchievement: function () {
var self = this
axios.get('http://192.168.0.111:8089/signup/app/applystudents/listpage', {
params: self.page,
headers: {
token: self.token
}
}).then(function (res) {
console.log(res)
self.achievementList = res.data.rows
self.page.page = res.data.page
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
})
} }
}, },
mounted: function () { mounted: function () {
@ -1777,14 +1872,13 @@ export default {
cursor pointer cursor pointer
.person-info .person-info
float right float right
margin-top 5px
a a
display inline-block display inline-block
font-size 16px font-size 16px
color #fff color #fff
margin-right 30px margin-right 30px
line-height 20px line-height 60px
height 20px height 60px
&.user-name &.user-name
i i
background url("~@/assets/images/icon_aggregate1.png") no-repeat left top background url("~@/assets/images/icon_aggregate1.png") no-repeat left top
@ -1792,7 +1886,7 @@ export default {
display inline-block display inline-block
width 17px width 17px
height 20px height 20px
vertical-align top vertical-align middle
margin-right 5px margin-right 5px
&.back &.back
padding-right 30px padding-right 30px
@ -1804,7 +1898,7 @@ export default {
display inline-block display inline-block
width 19px width 19px
height 20px height 20px
vertical-align top vertical-align middle
margin-right 5px margin-right 5px
&.logout &.logout
i i
@ -1813,7 +1907,7 @@ export default {
display inline-block display inline-block
width 17px width 17px
height 16px height 16px
vertical-align top vertical-align middle
margin-right 5px margin-right 5px
.content .content
width 1200px width 1200px
@ -1830,7 +1924,7 @@ export default {
margin-top 10px margin-top 10px
cursor pointer cursor pointer
&:first-child &:first-child
background url("~@/assets/images/center-tab6.png") no-repeat background url("~@/assets/images/center-tab1.png") no-repeat
background-size 100% 100% background-size 100% 100%
&.active &.active
background url("~@/assets/images/center-tab1-on.png") no-repeat background url("~@/assets/images/center-tab1-on.png") no-repeat
@ -2083,6 +2177,15 @@ export default {
color #000 color #000
span span
font-weight bold font-weight bold
&.count
font-weight normal
margin-right 10px
&.type1
color #4184dd
&.type2
color orange
&.type3
color green
button button
border none border none
outline none outline none
@ -2108,13 +2211,36 @@ export default {
margin 20px 0 margin 20px 0
.signed-box .signed-box
overflow hidden overflow hidden
border #e8e8e8 solid 1px box-shadow 0 0 10px #eee
position relative position relative
margin-bottom 10px margin-bottom 20px
.signed-left .signed-left
width 100% width 100%
padding 25px 30px padding 0 30px 25px
box-sizing border-box box-sizing border-box
position relative
.status
position absolute
top 0
left 0
width 110px
height 40px
border-top-left-radius 5px
border-bottom-right-radius 20px
text-align center
line-height 40px
color #fff
&.complete
background #4184dd
&.wait
background #5bd9f0
&.error
background #f6704d
h3
font-size 18px
color #333
line-height 40px
margin-left 95px
table table
table-layout fixed table-layout fixed
width 100% width 100%
@ -2122,6 +2248,14 @@ export default {
height 35px height 35px
font-size 16px font-size 16px
color #000 color #000
span
margin-right 10px
&.type1
color #4184dd
&.type2
color orange
&.type3
color green
button button
width 100px width 100px
height 35px height 35px
@ -2319,6 +2453,8 @@ export default {
font-size 16px font-size 16px
color #000 color #000
height 40px height 40px
vertical-align top
line-height 40px
&:nth-child(odd) &:nth-child(odd)
text-align right text-align right
&:nth-child(even) &:nth-child(even)
@ -2349,6 +2485,7 @@ export default {
text-align center text-align center
padding 20px 0 padding 20px 0
background #fff background #fff
min-width 1200px
p p
font-size 16px font-size 16px
color #333 color #333
@ -2400,7 +2537,7 @@ export default {
width 16px width 16px
height 16px height 16px
border-radius 50% border-radius 50%
border 1px solid greenyellow border 1px solid greenorange
position absolute position absolute
background #fff background #fff
top 0 top 0

View File

@ -1,28 +0,0 @@
<template>
<div>
<img :src="imgPath" alt="">
</div>
</template>
<script>
export default {
name: "Print",
components: {},
data() {
return {
imgPath: ''
}
},
methods: {},
mounted() {
this.imgPath = this.$route.query.distributionCardCode
this.$nextTick(function() {
window.print()
})
}
}
</script>
<style lang="stylus" rel="stylesheet/stylus" scoped>
</style>

View File

@ -19,19 +19,15 @@
<div class="loading" v-if="isLoading"> <div class="loading" v-if="isLoading">
<img src="@/assets/images/loading.gif" alt=""> <img src="@/assets/images/loading.gif" alt="">
</div> </div>
<Footer></Footer>
</div> </div>
</template> </template>
<script> <script>
import axios from 'axios' import axios from 'axios'
import url from '@/assets/public/url' import url from '@/assets/public/url'
import Footer from '@/assets/components/Footer'
export default { export default {
name: 'Register', name: 'Register',
components: { components: {},
Footer
},
data () { data () {
return { return {
url: url.registerUrl, url: url.registerUrl,
@ -46,17 +42,22 @@ export default {
methods: { methods: {
submitRegister: function () { submitRegister: function () {
var self = this var self = this
self.isLoading = true if (self.registerInfo.username && self.registerInfo.password && self.registerInfo.passwordSame) {
axios.post(self.url + 'app/register/default', self.registerInfo).then(function (res) { self.isLoading = true
console.log(res) axios.post(self.url + 'app/register/default', self.registerInfo).then(function (res) {
if (res.status == '200') { console.log(res)
self.isLoading = false if (res.status == '200') {
self.$layer.msg('注册成功') self.isLoading = false
setTimeout(function () { self.$layer.msg('注册成功')
self.$router.push('/login') setTimeout(function () {
}, 1500) self.$router.push('/login')
} }, 1500)
}) }
})
} else {
self.$layer.msg('用户名或密码不能为空')
}
} }
}, },
mounted: function () { mounted: function () {
@ -77,33 +78,34 @@ export default {
border-radius 10px border-radius 10px
box-shadow 0 0 17px #DEDEDE box-shadow 0 0 17px #DEDEDE
.login .login
position fixed //position fixed
top 0 //top 0
right 0 //right 0
left 0 //left 0
bottom 0 //bottom 0
background url("~@/assets/images/login-bg.jpg") no-repeat center background url("~@/assets/images/login-bg.jpg") no-repeat center
background-size 100% 100% background-size 100% 100%
overflow hidden
.login-box .login-box
width 460px width 460px
height 720px height 720px
padding 80px 55px 180px 45px padding 80px 55px 180px 45px
box-sizing border-box box-sizing border-box
position absolute //position absolute
top 50% //top 50%
left 54% //left 54%
margin-top -360px //margin-top -360px
background #fff url("~@/assets/images/login-box-bg1.png") no-repeat left bottom background #fff url("~@/assets/images/login-box-bg1.png") no-repeat left bottom
background-size 100% auto background-size 100% auto
.back margin-top 100px
color #4293f4 margin-bottom 70px
line-height 45px margin-left 54%
h3 h3
font-size 24px font-size 20px
text-align center text-align center
color #0d1c28 color #0d1c28
margin-bottom 10px
font-weight normal font-weight normal
margin-bottom 70px
p p
font-size 12px font-size 12px
color #999 color #999
@ -127,6 +129,9 @@ export default {
border none border none
outline none outline none
border-radius 3px border-radius 3px
margin-bottom 20px
a
color #4293f4
.link .link
margin-bottom 25px margin-bottom 25px
overflow hidden overflow hidden
@ -146,11 +151,8 @@ export default {
margin-bottom 0 margin-bottom 0
color #999 color #999
.bottom-text .bottom-text
position absolute
left 0
right 0
bottom 30px
text-align center text-align center
color #fff color #fff
font-size 14px font-size 14px
margin-bottom 30px
</style> </style>

View File

@ -11,7 +11,6 @@ import Question from '@/pages/Question/Question'
import Login from '@/pages/Login/Login' import Login from '@/pages/Login/Login'
import Register from '@/pages/Register/Register' import Register from '@/pages/Register/Register'
import Test from '@/pages/Test/Test' import Test from '@/pages/Test/Test'
import Print from '@/pages/Print/Print'
Vue.use(Router) Vue.use(Router)
@ -71,11 +70,6 @@ export default new Router({
path: '/test', path: '/test',
name: 'Test', name: 'Test',
component: Test component: Test
},
{
path: '/print',
name: 'Print',
component: Print
} }
], ],
scrollBehavior(to, from, saveTop) { scrollBehavior(to, from, saveTop) {