303 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			303 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Python
		
	
	
	
| <template>
 | ||
| 	<view>
 | ||
| 		 <!-- <view class="typeSelect">
 | ||
| 				<view class="typeWrap">
 | ||
| 					<view  @click="typeChange(0)">证书号</view>
 | ||
| 					<view  @click="typeChange(1)">姓名</view>
 | ||
| 				</view>
 | ||
| 			</view>
 | ||
| 			<view v-if="type==0">
 | ||
| 				<view class="row">
 | ||
| 					<text class="label"><text class="redStar">*</text>证书号</text>
 | ||
| 					<input class="searchInput" type="text" id="number" v-model="form.number">
 | ||
| 				</view>
 | ||
| 				<view class="searchBtn" @click="searchClick(0)">查询</view>
 | ||
| 			</view>
 | ||
| 			<view v-else>
 | ||
| 				<view class="row">
 | ||
| 					<text class="label"><text class="redStar">*</text>姓名</text>
 | ||
| 					<input class="searchInput" type="text" id="name" v-model="form.name">
 | ||
| 				</view>
 | ||
| 				<view class="row">
 | ||
| 					<text class="label"><text class="redStar">*</text>单位</text>
 | ||
| 					<input class="searchInput" type="text" id="deptName" v-model="form.deptName">
 | ||
| 				</view>
 | ||
| 				<view class="searchBtn" @click="searchClick(1)">查询</view>
 | ||
| 			</view>
 | ||
| 			<view v-if="showImg">
 | ||
| 				<img class="imgs"  :src="imgSrc">
 | ||
| 			</view>
 | ||
| 			<view class="lists" v-if="dataList.length>0">
 | ||
| 				<view v-for="item in dataList" class="listItem" @click="showImage(item)">
 | ||
| 					<view v-if="item.证书方案=='202309'">
 | ||
| 						<view>姓名:{{item.姓名}}</view>
 | ||
| 						<view>资格:
 | ||
| 							<text v-if="item.是否内审员">内审员</text>
 | ||
| 							<text v-if="item.是否内审员&&(item.是否授权签字人||item.是否质量负责人||item.是否最高管理者)">、</text>
 | ||
| 							<text v-if="item.是否授权签字人">授权签字人</text>
 | ||
| 							<text v-if="item.是否内审员&&(item.是否质量负责人||item.是否最高管理者)">、</text>
 | ||
| 							<text v-if="item.是否质量负责人">质量负责人</text>
 | ||
| 							<text v-if="item.是否内审员&&item.是否最高管理者">、</text>
 | ||
| 							<text v-if="item.是否最高管理者">最高管理者</text>
 | ||
| 						</view>
 | ||
| 						<view>证书编号:{{item.证书编号}}</view>
 | ||
| 						<view>所属单位:{{item.所属单位}}({{item.单位名称}})</view>
 | ||
| 					</view>
 | ||
| 					<view v-if="item.证书方案=='202312'">
 | ||
| 						<view>姓名:{{item.姓名}}</view>
 | ||
| 						<view>单位名称:{{item.单位名称}}</view>
 | ||
| 						<view>证书编号:{{item.证书编号}}</view>
 | ||
| 						<view>培训日期:{{item.培训日期}}</view>
 | ||
| 						<view>培训结束日期:{{item.培训结束日期}}</view>
 | ||
| 						<view>发证日期{{item.发证日期}}</view>
 | ||
| 					</view>
 | ||
| 				</view>
 | ||
| 			</view>
 | ||
| 			<view  v-else>
 | ||
| 				<view>{{warningTxtx}}</view>
 | ||
| 			</view>
 | ||
| 		  -->
 | ||
| 		  <view class="searWrap">
 | ||
| 			<input class="infoInput" placeholder="填写证书编号/姓名" v-model="search">
 | ||
| 			</input>
 | ||
| 		    <view class="searchBtn" @click="searchCandidates">查询</view>
 | ||
| 		  </view>
 | ||
| 		  <view class="listWrap">
 | ||
| 		    <view v-if="candidates.length>0">
 | ||
| 		    <!-- <view> -->
 | ||
| 		      <view class="listTitle">证书列表</view>
 | ||
| 		      <view >
 | ||
| 		        <view>
 | ||
| 		          <view>
 | ||
| 		            姓名:姓名</view>
 | ||
| 		          <view>
 | ||
| 		            <view> 证书号:<text style="color:#438af4">XJ8937264</text></view>
 | ||
| 		           </view>
 | ||
| 		          <view>
 | ||
| 		            <view>发证日期:2024-05-26</view>
 | ||
| 		          </view>
 | ||
| 		        </view>
 | ||
| 		        <view>
 | ||
| 		          <view style="color:green">通过考核</view>
 | ||
| 		        </view>
 | ||
| 		      </view>
 | ||
| 			  <view  v-for="item in candidates" v-bind:key="item.id">
 | ||
| 			    <view>
 | ||
| 			      <view>
 | ||
| 			        姓名:{{item.consumer_name}}</view>
 | ||
| 			      <view>
 | ||
| 			        <view style="color:darkblue"> 证书号:{{item.number}}</view>
 | ||
| 			       </view>
 | ||
| 			      <view>
 | ||
| 			        <view>发证日期:{{item.issue_date}}</view>
 | ||
| 			      </view>
 | ||
| 			    </view>
 | ||
| 			    <view>
 | ||
| 			      <view style="color:green">通过考核</view>
 | ||
| 			    </view>
 | ||
| 			  </view>
 | ||
| 		  </view>
 | ||
| 			<!-- <view v-else style="text-align:center">暂无证书信息</view> -->
 | ||
| 		  </view>
 | ||
| 	</view>
 | ||
| </template>
 | ||
| 
 | ||
| <script>
 | ||
| 	export default {
 | ||
| 		data() {
 | ||
| 			return {
 | ||
| 				search:'',
 | ||
| 				candidates:[{
 | ||
| 					consumer_name:'shijing',
 | ||
| 					number:'XJ8937264',
 | ||
| 					issue_date:'2024-05-26'
 | ||
| 				}],
 | ||
| 				query: {
 | ||
| 				  page: 1,
 | ||
| 				  limit: 10
 | ||
| 				},
 | ||
| 				
 | ||
| 				
 | ||
| 				type:0,
 | ||
| 				form: {
 | ||
| 					number: '',
 | ||
| 					name: '',
 | ||
| 					deptName: ''
 | ||
| 				},
 | ||
| 				warningTxtx:'请输入信息进行查询',
 | ||
| 				imgSrc:'',
 | ||
| 				showImg:false,
 | ||
| 				dataList:[{
 | ||
| 					证书方案:'202309',
 | ||
| 					姓名:'shijing',
 | ||
| 					是否内审员:true,
 | ||
| 					是否授权签字人:true,
 | ||
| 					是否质量负责人:true,
 | ||
| 					是否最高管理者:true,
 | ||
| 					证书编号:"DXCTC20240530",
 | ||
| 					所属单位:'zhogncun',
 | ||
| 					单位名称:'zhogncun',
 | ||
| 				}],
 | ||
| 				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!==''){	
 | ||
| 						this.$u.api.certificateList({证书编号: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!==''){
 | ||
| 							this.$u.api.certificateList({姓名:that.form.name,单位名称:that.form.deptName,page:0}).then(res => {
 | ||
| 								if(res.data.data.length>0){
 | ||
| 									that.dataList = res.data.data;
 | ||
| 								}else{
 | ||
| 									this.$u.api.certificateList({姓名: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='暂未查询到您的相关证书!'
 | ||
| 					// 	}
 | ||
| 					// })
 | ||
| 				}
 | ||
| 			},
 | ||
| 
 | ||
| 			
 | ||
| 			
 | ||
| 						
 | ||
| 			searchCandidates() {
 | ||
| 			    if(this.search!==null&&this.search!==''){
 | ||
| 					console.log(this.search)
 | ||
| 			      uni.showLoading({
 | ||
| 			      	title:"正在获取证书",
 | ||
| 			      })
 | ||
| 				  var data = {search:this.search};
 | ||
| 				  this.$u.api.certificateList(data).then(res=>{
 | ||
| 				  	uni.hideLoading()
 | ||
| 					this.candidates = res
 | ||
| 				  }).catch(e=>{
 | ||
| 					  uni.hideLoading()
 | ||
| 				  })
 | ||
| 			    }else{
 | ||
| 					uni.showToast({
 | ||
| 						title:'请填写正确的证书编号或身份证号',
 | ||
| 						icon:'none'
 | ||
| 					})
 | ||
| 					return
 | ||
| 			    }
 | ||
| 			},
 | ||
| 		}
 | ||
| 	}
 | ||
| </script>
 | ||
| <style>
 | ||
| 	page{
 | ||
| 		height: 100%;
 | ||
| 		background-color: #ededed;
 | ||
| 	}
 | ||
| </style>
 | ||
| <style scoped>
 | ||
| 
 | ||
| .searWrap{
 | ||
|   display: flex;
 | ||
|   /* margin-top: 30rpx; */
 | ||
|   padding: 20rpx 0;
 | ||
|   background: #ffffff;
 | ||
| }
 | ||
| .searchBtn{
 | ||
|   /* flex: 2; */
 | ||
|   width: 150rpx;
 | ||
|   height: 100rpx;
 | ||
|   line-height: 100rpx;
 | ||
|   text-align: center;
 | ||
|   color: #ffffff;
 | ||
|   border-radius: 40rpx;
 | ||
|   margin-right: 20rpx;
 | ||
|   background-color:#438af4 ;
 | ||
| }
 | ||
| .infoInput{
 | ||
|   flex: 4;
 | ||
|   height: 100rpx;
 | ||
|   line-height: 100rpx;
 | ||
|   padding: 0 20rpx;
 | ||
|   box-sizing: border-box;
 | ||
|   border: 1rpx solid #dddddd;
 | ||
|   border-radius: 40rpx;
 | ||
|   margin: 0 20rpx;
 | ||
| }
 | ||
| .listWrap{
 | ||
|   padding: 20rpx;
 | ||
|   margin-top: 20rpx;
 | ||
|   box-sizing: border-box;
 | ||
|   background: #ffffff;
 | ||
| }
 | ||
| .listTitle{
 | ||
|   height: 70rpx;
 | ||
|   padding-left: 30rpx;
 | ||
|   line-height: 70rpx;
 | ||
|   font-size: 36rpx;
 | ||
| }
 | ||
| </style>
 |