Commit 911e578b by sunchao

学习认证

parent 859c79a2
...@@ -38,6 +38,9 @@ ...@@ -38,6 +38,9 @@
padding: 0; padding: 0;
list-style: none; list-style: none;
} }
image{
width: 100%!important;
}
img{ img{
max-width: 100%; max-width: 100%;
} }
......
...@@ -88,5 +88,9 @@ export default { ...@@ -88,5 +88,9 @@ export default {
//学习认证列表 //学习认证列表
queryCertificateList(params){ queryCertificateList(params){
return request(`${cffpURL}/certificate/queryCertificateList`, "POST", params) return request(`${cffpURL}/certificate/queryCertificateList`, "POST", params)
},
//学习认证结果
userCertificateResult(params){
return request(`${cffpURL}/certificate/userCertificateList`, "POST", params)
} }
} }
...@@ -89,20 +89,20 @@ ...@@ -89,20 +89,20 @@
"base" : "/cffp/", "base" : "/cffp/",
"mode" : "history" "mode" : "history"
} }
// , ,
// "devServer" : { "devServer" : {
// "proxy" : { "proxy" : {
// "/api" : { "/api" : {
// "port" : 3000, // 端口号 "port" : 3000, // 端口号
// "target" : "https://mdev.zuihuibi.cn", //请求的目标域名 "target" : "https://mdev.zuihuibi.cn", //请求的目标域名
// "changeOrigin" : true, //是否跨域 "changeOrigin" : true, //是否跨域
// "secure" : false, //设置支持https协议的代理 "secure" : false, //设置支持https协议的代理
// "logLevel" : "debug", "logLevel" : "debug",
// "pathRewrite" : { "pathRewrite" : {
// "^/api" : "" "^/api" : ""
// } }
// } }
// } }
// } }
} }
} }
...@@ -110,6 +110,27 @@ ...@@ -110,6 +110,27 @@
"navigationBarTitleText": "学习认证", "navigationBarTitleText": "学习认证",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},{
"path" : "pages/authentication-query/authentication-query",
"style" :
{
"navigationBarTitleText": "认证查询",
"enablePullDownRefresh": false
}
},{
"path" : "pages/authentication-query/authentication-result",
"style" :
{
"navigationBarTitleText": "查询结果",
"enablePullDownRefresh": false
}
},{
"path" : "pages/certifyDetail/certifyDetail",
"style" :
{
"navigationBarTitleText": "认证详情",
"enablePullDownRefresh": false
}
} }
], ],
// "tabBar": { // "tabBar": {
......
<template>
<view class="wrapper">
<view class="">
查询类型
</view>
<view class="content">
<view class="item" v-for="(item,idx) in authenticationList" @click="selectType(item)" :class="{'selected':item.selected == true}">
<text class="iconfont icon-yuanxingweixuanzhong" :class="{'icon-selected-copy':item.selected==true}"></text>
<view>
<view class="name">
{{item.name}}
</view>
<view class="des">
{{item.des}}
</view>
</view>
</view>
</view>
<view class="others" v-if="queryType == '2'">
<view class="others_item">
<text>姓名:</text><input class="uni-input" type="text" placeholder="请输入姓名" v-model="userName"/>
</view>
<view class="others_item">
<text>认证编号:</text><input class="uni-input" type="text" placeholder="请输证书编号" v-model="cerCode"/>
</view>
</view>
<view class="search_btn" @click="confirmSearch()">
确认查询
</view>
</view>
</template>
<script>
export default{
data(){
return {
authenticationList:[
{name:'本人认证查询',id:1,des:'查询本人的考试和认证结果'},
{name:'他人认证查询',id:2,des:'帮助用人单位鉴别证书是否真实有效'}
],
userName:null,
cerCode:null,
queryType:null
}
},
components:{},
onLoad(){
},
methods:{
selectType(item){
this.queryType = item.id;
for(let i=0;i<this.authenticationList.length;i++){
this.authenticationList[i]['selected'] = false;
if(item.id == this.authenticationList[i]['id']){
this.authenticationList[i]['selected'] = true;
}
}
},
confirmSearch(){
if(this.queryType == 2){
if(!this.userName){
uni.showToast({
title: '请输入姓名',
duration: 2000,
icon: 'none'
})
return;
}
if(!this.cerCode){
uni.showToast({
title: '请输入证书编号',
duration: 2000,
icon: 'none'
})
return;
}
}
uni.navigateTo({
url:`../authentication-query/authentication-result?queryType=${this.queryType}&userName=${this.userName}&cerCode=${this.cerCode}`
})
}
}
}
</script>
<style lang="scss">
.wrapper{
padding: 30rpx;
.content{
.item{
border:2rpx solid #E4E4E4;
border-radius: 10rpx;
margin: 20rpx;
padding: 30rpx;
display:flex;
align-items: center;
.iconfont{
margin-right: 20rpx;
font-size: 48rpx;
}
.icon-selected-copy{
color: #3671F4;
}
.name{
color: #666666;
margin-bottom: 20rpx;
}
.des{
color: #999999;
}
}
.selected {
border:2rpx #3671F4 solid;
.name,.des{
color: #3671F4;
}
}
}
.others{
.others_item{
display: flex;
margin-bottom: 20rpx;
border-bottom: 2rpx #CECECE solid;
height: 80rpx;
align-items: center;
.uni-input{
height: 80rpx;
}
}
}
.search_btn{
background: #3671F4;
color: #fff;
width: 80%;
margin: 0 auto;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border-radius: 40rpx;
position: absolute;
bottom: 0;
left: 0;
right: 0;
}
}
</style>
\ No newline at end of file
<template>
<view class="container">
<view class="others" v-if="queryType == 2">
<text>身份信息</text>
<view class="others_item">
<text>姓名:</text><input class="uni-input" type="text" placeholder="请输入姓名" v-model="userName"/>
</view>
<view class="others_item">
<text>认证编号:</text><input class="uni-input" type="text" placeholder="请输证书编号" v-model="cerCode"/>
</view>
</view>
<view class="certifyListContent" v-if="userCertificates?.length>0">
<view class="certifyInfoItem" v-for="item in userCertificates" :key="item?.cerNo">
<h4>{{item?.cerName}}</h4>
<view class="certifyImgBox">
<image :src="item?.cerUrl" mode="widthFix"></image>
<view>认证编号:{{item?.authenticationCode}}</view>
<view>有效期至:{{item?.endDate}}</view>
</view>
</view>
</view>
<!-- 没有证书 -->
<view class="noSign" v-if="userCertificates?.length==0">
<h4>暂没有取得证书!</h4>
</view>
</view>
</template>
<script>
import api from '../../api/api';
import common from '../../common/common';
export default{
data(){
return {
userName:null,
cerCode:null,
queryType:null,
userCertificates:[]
}
},
components:{},
onLoad(){
this.userName = common.getQueryString('userName')=='null'?undefined:common.getQueryString('userName');
this.cerCode = common.getQueryString('cerCode')=='null'?undefined:common.getQueryString('cerCode');
this.queryType = common.getQueryString('queryType');
console.log(this.queryType)
this.getResult();
},
methods:{
getResult(){
const param = {
queryType:this.queryType,
userId:uni.getStorageSync('cffp_userId'),
userName:this.userName,
cerCode:this.cerCode
}
api.userCertificateResult(param).then((res)=>{
if(res['success']){
this.userCertificates = res['data']['userCertificates'];
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
});
}
}
}
</script>
<style lang="scss">
.others{
padding:30rpx;
.others_item{
display: flex;
margin-bottom: 20rpx;
border-bottom: 2rpx #CECECE solid;
height: 80rpx;
align-items: center;
.uni-input{
height: 80rpx;
}
}
}
.noSign{
text-align: center;
margin-top: 10%;
}
.certifyInfoItem{
background-color: #fff;
margin-bottom: 10rpx;
padding: 20rpx 0;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
image{
max-width: 60%;
height: auto;
}
}
</style>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<view class="container"> <view class="container">
<view class="top"> <view class="top">
<view class="compony"> <view class="compony">
<img :src="cffpUserInfo.logo" alt="" /> <image :src="cffpUserInfo.logo" mode="widthFix" style="max-width:400rpx"></image>
<text class="name">{{cffpUserInfo.name}}</text> <text class="name">{{cffpUserInfo.name}}</text>
<text class="iconfont icon-31tishi" @click="getIntroduce('center')"></text> <text class="iconfont icon-31tishi" @click="getIntroduce('center')"></text>
</view> </view>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" <swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval"
:duration="duration"> :duration="duration">
<swiper-item v-for="bannerItem in cffpUserInfo.fileUploadItemList"> <swiper-item v-for="bannerItem in cffpUserInfo.fileUploadItemList">
<navigator url="bannerItem.destinationAddress"><img :src="bannerItem.filePath" alt=""></navigator> <navigator url="bannerItem.destinationAddress"><image :src="bannerItem.filePath" mode="widthFix"></image></navigator>
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
...@@ -193,7 +193,7 @@ ...@@ -193,7 +193,7 @@
.name{ .name{
font-size: 36rpx; font-size: 36rpx;
} }
img{ image{
margin-right: 20rpx; margin-right: 20rpx;
} }
.icon-31tishi{ .icon-31tishi{
...@@ -282,7 +282,7 @@ ...@@ -282,7 +282,7 @@
font-size: 14px; font-size: 14px;
color: #666; color: #666;
margin: 10px 2%; margin: 10px 2%;
img{ image{
max-width: 80%; max-width: 80%;
} }
} }
......
<template> <template>
<view class="container"> <view class="container">
<view class="top"> <view class="top">
<img src="../../static/certifyProcess/learnCertifyBanner.png" alt=""> <image src="../../static/certifyProcess/learnCertifyBanner.png" mode="widthFix"></image>
</view> </view>
<view class="certify_content"> <view class="certify_content">
<view class="title"> <view class="title">
...@@ -13,36 +13,40 @@ ...@@ -13,36 +13,40 @@
<view class="isAdopt"> <view class="isAdopt">
通过认证 通过认证
</view> </view>
<img :src="certifyItem.cerLogoUrl" alt=""> <image :src="certifyItem.cerLogoUrl" mode="widthFix"></image>
<text class="certify_name">{{certifyItem.cerName}}</text> <text class="certify_name">{{certifyItem.cerName}}</text>
<view class="view_btn">查看证书</view> <view class="view_btn" @click="switchDetail(certifyItem)">{{certifyItem.isAdopt=='2'?'查看证书':'认证详情'}}</view>
</view> </view>
</view> </view>
<view class="title"> <view class="title">
认证查询 认证查询
</view> </view>
<view class="list_wrapper"> <view class="list_wrapper">
<view class="certify_enter"> <navigator class="certify_enter" url="../authentication-query/authentication-query">
认证查询入口 认证查询入口
</view> </navigator>
</view> </view>
</view> </view>
<view class="welfare_wrapper"> <view class="welfare_wrapper">
<view class="title"> <view class="title">
精品福利 精品福利
</view> </view>
<view class="welfare_pic">
<image src="/static/certifyProcess/welfare1.png" mode="widthFix"></image>
<image src="/static/certifyProcess/welfare2.png" mode="widthFix"></image>
</view>
</view>
<view class="question_wrppaer">
<view class="title"> <view class="title">
常见问题 常见问题
</view> </view>
<view class="question_wrppaer">
<view class="question_content" v-for="item in planFaqs"> <view class="question_content" v-for="item in planFaqs">
<view class="question"> <view class="question">
Q.{{item.question}} Q.{{item.question}}
</view> </view>
<view class="answer"> <view class="answer">
A.{{item.answer}} <text style="color:#3876F8">A.</text>
</view> <text style="color: #999999;">{{item.answer}}</text>
</view> </view>
</view> </view>
</view> </view>
...@@ -77,6 +81,18 @@ ...@@ -77,6 +81,18 @@
this.boutiqueWelfares = []; this.boutiqueWelfares = [];
} }
}) })
},
switchDetail(certifyItem){
//2通过跳到证书页,1跳到证书详情
if(certifyItem.isAdopt == 1){
uni.navigateTo({
url:'../certifyDetail/certifyDetail'
})
}else if(certifyItem.isAdopt == 2){
uni.navigateTo({
url:`../authentication-query/authentication-result?queryType=${this.queryType}&userName=${this.userName}&cerCode=${this.cerCode}`
})
}
} }
} }
...@@ -111,8 +127,8 @@ ...@@ -111,8 +127,8 @@
left: 0; left: 0;
font-size: 28rpx; font-size: 28rpx;
} }
img{ image{
width:80rpx; width:80rpx!important;
} }
.view_btn{ .view_btn{
background: linear-gradient(306deg, #7EA8FF 0%, #4984FF 100%); background: linear-gradient(306deg, #7EA8FF 0%, #4984FF 100%);
...@@ -137,5 +153,28 @@ ...@@ -137,5 +153,28 @@
} }
.welfare_wrapper{ .welfare_wrapper{
background: #fff; background: #fff;
padding: 20rpx;
margin-bottom: 30rpx;
.welfare_pic{
display: flex;
justify-content: space-between;
image{
width: 46%!important;
}
image:nth-child(2){
position: relative;
right: 20rpx;
}
}
}
.question_wrppaer{
padding: 30rpx;
.question_content{
margin-bottom: 20rpx;
.question{
font-size: 36rpx;
margin-bottom: 20rpx;
}
}
} }
</style> </style>
\ No newline at end of file
...@@ -55,6 +55,18 @@ ...@@ -55,6 +55,18 @@
<ul class="icon_lists dib-box"> <ul class="icon_lists dib-box">
<li class="dib"> <li class="dib">
<span class="icon iconfont">&#xe72f;</span>
<div class="name">圆形未选中</div>
<div class="code-name">&amp;#xe72f;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe637;</span>
<div class="name">选中</div>
<div class="code-name">&amp;#xe637;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe650;</span> <span class="icon iconfont">&#xe650;</span>
<div class="name">公告</div> <div class="name">公告</div>
<div class="code-name">&amp;#xe650;</div> <div class="code-name">&amp;#xe650;</div>
...@@ -252,9 +264,9 @@ ...@@ -252,9 +264,9 @@
<pre><code class="language-css" <pre><code class="language-css"
>@font-face { >@font-face {
font-family: 'iconfont'; font-family: 'iconfont';
src: url('iconfont.woff2?t=1667544037008') format('woff2'), src: url('iconfont.woff2?t=1668068371193') format('woff2'),
url('iconfont.woff?t=1667544037008') format('woff'), url('iconfont.woff?t=1668068371193') format('woff'),
url('iconfont.ttf?t=1667544037008') format('truetype'); url('iconfont.ttf?t=1668068371193') format('truetype');
} }
</code></pre> </code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3> <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
...@@ -281,6 +293,24 @@ ...@@ -281,6 +293,24 @@
<ul class="icon_lists dib-box"> <ul class="icon_lists dib-box">
<li class="dib"> <li class="dib">
<span class="icon iconfont icon-yuanxingweixuanzhong"></span>
<div class="name">
圆形未选中
</div>
<div class="code-name">.icon-yuanxingweixuanzhong
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-selected-copy"></span>
<div class="name">
选中
</div>
<div class="code-name">.icon-selected-copy
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-gonggao"></span> <span class="icon iconfont icon-gonggao"></span>
<div class="name"> <div class="name">
公告 公告
...@@ -579,6 +609,22 @@ ...@@ -579,6 +609,22 @@
<li class="dib"> <li class="dib">
<svg class="icon svg-icon" aria-hidden="true"> <svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yuanxingweixuanzhong"></use>
</svg>
<div class="name">圆形未选中</div>
<div class="code-name">#icon-yuanxingweixuanzhong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-selected-copy"></use>
</svg>
<div class="name">选中</div>
<div class="code-name">#icon-selected-copy</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-gonggao"></use> <use xlink:href="#icon-gonggao"></use>
</svg> </svg>
<div class="name">公告</div> <div class="name">公告</div>
......
@font-face { @font-face {
font-family: "iconfont"; /* Project id 3749283 */ font-family: "iconfont"; /* Project id 3749283 */
src: url('iconfont.woff2?t=1667544037008') format('woff2'), src: url('iconfont.woff2?t=1668068371193') format('woff2'),
url('iconfont.woff?t=1667544037008') format('woff'), url('iconfont.woff?t=1668068371193') format('woff'),
url('iconfont.ttf?t=1667544037008') format('truetype'); url('iconfont.ttf?t=1668068371193') format('truetype');
} }
.iconfont { .iconfont {
...@@ -13,6 +13,14 @@ ...@@ -13,6 +13,14 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-yuanxingweixuanzhong:before {
content: "\e72f";
}
.icon-selected-copy:before {
content: "\e637";
}
.icon-gonggao:before { .icon-gonggao:before {
content: "\e650"; content: "\e650";
} }
......
...@@ -6,6 +6,20 @@ ...@@ -6,6 +6,20 @@
"description": "", "description": "",
"glyphs": [ "glyphs": [
{ {
"icon_id": "577322",
"name": "圆形未选中",
"font_class": "yuanxingweixuanzhong",
"unicode": "e72f",
"unicode_decimal": 59183
},
{
"icon_id": "833577",
"name": "选中",
"font_class": "selected-copy",
"unicode": "e637",
"unicode_decimal": 58935
},
{
"icon_id": "8802658", "icon_id": "8802658",
"name": "公告", "name": "公告",
"font_class": "gonggao", "font_class": "gonggao",
......
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment