345 lines
12 KiB
HTML
345 lines
12 KiB
HTML
<!-- width=device-width: 自适应手机屏幕的尺寸宽度
|
||
maximum-scale: 缩放比例的最大值
|
||
minimum-scale: 缩放比例的最小值
|
||
inital-scale: 缩放的初始化
|
||
user-scalable: 用户是否能缩放页面 -->
|
||
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, user-scalable=no,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||
<title>证书查询</title>
|
||
<script type="text/javascript" src="static/js/vue@2.js"></script>
|
||
<script type="text/javascript" src="static/js/axios.js"></script>
|
||
</head>
|
||
<style>
|
||
body,html{
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
.container{
|
||
padding-bottom: 20px;
|
||
}
|
||
.active{
|
||
color: #2698f0;
|
||
}
|
||
.search-dialog{
|
||
width: 50%;
|
||
margin: auto;
|
||
text-align: center;
|
||
}
|
||
.typeWrap {
|
||
width: 200px;
|
||
text-align: center;
|
||
margin: auto;
|
||
border-radius: 7px;
|
||
display: flex;
|
||
font-size: 15px;
|
||
border: 1px solid #2698f0;
|
||
}
|
||
.search_item{
|
||
width: 50%;
|
||
text-align: center;
|
||
height: 40px;
|
||
line-height: 40px;
|
||
color: #2698f0;
|
||
box-sizing: border-box;
|
||
background: #ffffff;
|
||
border-radius:5px;
|
||
|
||
}
|
||
.active{
|
||
color: #ffffff;;
|
||
background: #2698f0;
|
||
border-radius: 5px;
|
||
border-bottom: 1px solid #2698f0;
|
||
}
|
||
.row{
|
||
width: 50vw;
|
||
margin: 10px 0;
|
||
box-sizing: border-box;
|
||
padding-left: 70px;
|
||
position: relative;
|
||
border: 2px solid #2698f0;
|
||
border-radius: 5px;
|
||
}
|
||
.searchInput{
|
||
width: 98%;
|
||
height: 40px;
|
||
line-height: 40px;
|
||
border: none;
|
||
}
|
||
input:focus-visible {
|
||
outline: none;
|
||
border: none;
|
||
}
|
||
|
||
.label{
|
||
display: inline-block;
|
||
height: 35px;
|
||
line-height: 35px;
|
||
position: absolute;
|
||
left: 0;
|
||
width: 70px;
|
||
margin-top: 3px;
|
||
border-right: 1px solid #2698f0;
|
||
}
|
||
.redStar{
|
||
color: red;
|
||
}
|
||
.searchBtn{
|
||
width: 100px;
|
||
height: 35px;
|
||
line-height: 35px;
|
||
text-align: center;
|
||
color: #ffffff;
|
||
background: #2698f0;
|
||
border-radius: 5px;
|
||
margin: auto;
|
||
margin: 0 auto 10px auto;
|
||
}
|
||
.listItem{
|
||
width: 100%;
|
||
padding: 10px;
|
||
box-sizing: border-box;
|
||
border: 1px dashed #2698f0;
|
||
border-radius: 5px;
|
||
position: relative;
|
||
}
|
||
.imgs{
|
||
width: 100%;
|
||
}
|
||
.neishen{
|
||
display: inline-block;
|
||
border: 1px solid orange;
|
||
border-radius: 3px;
|
||
padding: 0 3px;
|
||
position: absolute;
|
||
top: 5px;
|
||
left: 5px;
|
||
color: orange;
|
||
font-size: 14px;
|
||
}
|
||
.info{
|
||
padding: 5px 20px;
|
||
color: #ffffff;
|
||
position: fixed;
|
||
z-index: 10;
|
||
width: fit-content;
|
||
top: 40%;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
background: rgba(0,0,0,.5);
|
||
border-radius: 5px;
|
||
}
|
||
@media screen and (max-width: 992px){
|
||
.search-dialog{
|
||
width: 96%;
|
||
}
|
||
.typeWrap {
|
||
width: 200px;
|
||
text-align: center;
|
||
margin: auto;
|
||
border-radius: 7px;
|
||
display: flex;
|
||
border: 1px solid #2698f0;
|
||
}
|
||
.search_item{
|
||
width: 50%;
|
||
text-align: center;
|
||
height: 35px;
|
||
line-height: 35px;
|
||
color: #2698f0;
|
||
box-sizing: border-box;
|
||
background: #ffffff;
|
||
border-radius:5px;
|
||
|
||
}
|
||
.active{
|
||
color: #ffffff;
|
||
background: #2698f0;
|
||
}
|
||
.row{
|
||
width: 96vw;
|
||
}
|
||
}
|
||
</style>
|
||
<body>
|
||
<div id="container">
|
||
<!-- 证书查询 -->
|
||
<div class="search-dialog">
|
||
<h3>培训证书查询</h3>
|
||
<div class="typeSelect">
|
||
<div class="typeWrap">
|
||
<div :class="[type==0 ? 'active' : '','search_item']" @click="typeChange(0)">证书号</div>
|
||
<div :class="[type==1 ? 'active' : '','search_item']" @click="typeChange(1)">姓名</div>
|
||
</div>
|
||
</div>
|
||
<div v-if="type==0">
|
||
<div class="row">
|
||
<span class="label"><span class="redStar">*</span>证书号</span>
|
||
<input class="searchInput" type="text" id="number" v-model="form.number">
|
||
</div>
|
||
<div class="searchBtn" @click="searchClick(0)">查询</div>
|
||
</div>
|
||
<div v-else>
|
||
<div class="row">
|
||
<span class="label"><span class="redStar">*</span>姓名</span>
|
||
<input class="searchInput" type="text" id="name" v-model="form.name">
|
||
</div>
|
||
<div class="row">
|
||
<span class="label"><span class="redStar">*</span>单位</span>
|
||
<input class="searchInput" type="text" id="deptName" v-model="form.deptName">
|
||
</div>
|
||
<div class="searchBtn" @click="searchClick(1)">查询</div>
|
||
</div>
|
||
<div v-if="showImg">
|
||
<img class="imgs" :src="imgSrc">
|
||
</div>
|
||
<div class="lists" v-if="dataList.length>0">
|
||
<div v-for="item in dataList" class="listItem" @click="showImage(item)">
|
||
<div v-if="item.证书方案=='202309'">
|
||
<div>姓名:{{item.姓名}}</div>
|
||
<div>资格:
|
||
<span v-if="item.是否内审员">内审员</span>
|
||
<span v-if="item.是否内审员&&(item.是否授权签字人||item.是否质量负责人||item.是否最高管理者)">、</span>
|
||
<span v-if="item.是否授权签字人">授权签字人</span>
|
||
<span v-if="item.是否内审员&&(item.是否质量负责人||item.是否最高管理者)">、</span>
|
||
<span v-if="item.是否质量负责人">质量负责人</span>
|
||
<span v-if="item.是否内审员&&item.是否最高管理者">、</span>
|
||
<span v-if="item.是否最高管理者">最高管理者</span>
|
||
</div>
|
||
<div>证书编号:{{item.证书编号}}</div>
|
||
<div>所属单位:{{item.所属单位}}({{item.单位名称}})</div>
|
||
</div>
|
||
<div v-else-if="item.证书方案=='202312'">
|
||
<div>姓名:{{item.姓名}}</div>
|
||
<div>单位名称:{{item.单位名称}}</div>
|
||
<div>证书编号:{{item.证书编号}}</div>
|
||
<div>培训日期:{{item.培训日期}}</div>
|
||
<div>培训结束日期:{{item.培训结束日期}}</div>
|
||
<div>发证日期{{item.发证日期}}</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div v-else>
|
||
<p>{{warningTxtx}}</p>
|
||
</div>
|
||
</div>
|
||
<div v-if="showErr" class="info">
|
||
{{errMsg}}
|
||
</div>
|
||
</div>
|
||
<script>
|
||
var test = new Vue({
|
||
el: "#container",
|
||
data: {
|
||
type:0,
|
||
form: {
|
||
number: '',
|
||
name: '',
|
||
deptName: ''
|
||
},
|
||
warningTxtx:'请输入信息进行查询',
|
||
imgSrc:'',
|
||
showImg:false,
|
||
dataList:[],
|
||
showErr:false,
|
||
errMsg:''
|
||
},
|
||
methods: {
|
||
typeChange(index){
|
||
let that = this;
|
||
that.dataList = [];
|
||
this.type = index;
|
||
that.showImg = false;
|
||
that.imgSrc = '';
|
||
},
|
||
searchClick(type){
|
||
let that = this;
|
||
that.dataList = [];
|
||
that.showImg = false;
|
||
that.imgSrc = '';
|
||
if(that.type==0){
|
||
if(that.form.number!==''){
|
||
axios.get('https://testsearch.ctc.ac.cn/api/edu/certificate/',{params:{证书编号:that.form.number,page:0}})
|
||
.then(res => {
|
||
debugger;
|
||
console.log(res.data.data)
|
||
if(res.data.data.length>0){
|
||
|
||
that.dataList = res.data.data;
|
||
}else{
|
||
that.warningTxtx='暂未查询到您的相关证书!'
|
||
}
|
||
})
|
||
}else{
|
||
that.errMsg = '请输入证书编号';
|
||
that.showErr = true;
|
||
setTimeout(()=>{
|
||
that.showErr = false;
|
||
},1500)
|
||
}
|
||
}else{
|
||
if(that.form.name!==''){
|
||
if(that.form.deptName!==''){
|
||
axios.get('https://testsearch.ctc.ac.cn/api/edu/certificate/',{params:{姓名:that.form.name,单位名称:that.form.deptName,page:0}})
|
||
.then(res => {
|
||
if(res.data.data.length>0){
|
||
that.dataList = res.data.data;
|
||
}else{
|
||
axios.get('https://testsearch.ctc.ac.cn/api/edu/certificate/',{params:{姓名:that.form.name,所属单位:that.form.deptName,page:0}})
|
||
.then(res => {
|
||
if(res.data.data.length>0){
|
||
that.dataList = res.data.data;
|
||
}else{
|
||
that.warningTxtx='暂未查询到您的相关证书!'
|
||
}
|
||
})
|
||
}
|
||
})
|
||
}else{
|
||
that.errMsg = '请输入所属单位';
|
||
that.showErr = true;
|
||
setTimeout(()=>{
|
||
that.showErr = false;
|
||
},1500)
|
||
}
|
||
}else{
|
||
that.errMsg = '请输入姓名';
|
||
that.showErr = true;
|
||
setTimeout(()=>{
|
||
that.showErr = false;
|
||
},1500)
|
||
}
|
||
}
|
||
},
|
||
showImage(data){
|
||
let that = this;
|
||
let timer = new Date().getTime();
|
||
if(data.证书地址!==null){
|
||
that.imgSrc = 'https://testsearch.ctc.ac.cn'+data.证书地址+'?'+timer;
|
||
that.showImg = true;
|
||
}else{
|
||
axios.get(`https://testsearch.ctc.ac.cn/api/edu/certificate/${data.id}/`).then(res=>{
|
||
if(res.data){
|
||
let data1 = res.data.data;
|
||
that.imgSrc = 'https://testsearch.ctc.ac.cn'+data1.证书地址+'?'+timer;
|
||
that.showImg = true;
|
||
}else{
|
||
that.warningTxtx='暂未查询到您的相关证书!'
|
||
}
|
||
})
|
||
}
|
||
},
|
||
},
|
||
mounted: function () {
|
||
var that = this;
|
||
that.msg = "hello vue";
|
||
}
|
||
})
|
||
</script>
|
||
</body>
|
||
</html>
|