335 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			335 lines
		
	
	
		
			11 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>姓名:{{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>
 | ||
|             <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>
 |