添加考试和证书查询
This commit is contained in:
parent
3a38185a81
commit
0084b973b0
|
@ -1,7 +1,6 @@
|
||||||
// 如果没有通过拦截器配置域名的话,可以在这里写上完整的URL(加上域名部分)
|
// 如果没有通过拦截器配置域名的话,可以在这里写上完整的URL(加上域名部分)
|
||||||
let hotSearchUrl = '/ebapi/store_api/hot_search';
|
let hotSearchUrl = '/ebapi/store_api/hot_search';
|
||||||
let indexUrl = '/ebapi/public_api/index';
|
let indexUrl = '/ebapi/public_api/index';
|
||||||
|
|
||||||
// 此处第二个参数vm,就是我们在页面使用的this,你可以通过vm获取vuex等操作,更多内容详见uView对拦截器的介绍部分:
|
// 此处第二个参数vm,就是我们在页面使用的this,你可以通过vm获取vuex等操作,更多内容详见uView对拦截器的介绍部分:
|
||||||
// https://uviewui.com/js/http.html#%E4%BD%95%E8%B0%93%E8%AF%B7%E6%B1%82%E6%8B%A6%E6%88%AA%EF%BC%9F
|
// https://uviewui.com/js/http.html#%E4%BD%95%E8%B0%93%E8%AF%B7%E6%B1%82%E6%8B%A6%E6%88%AA%EF%BC%9F
|
||||||
const install = (Vue, vm) => {
|
const install = (Vue, vm) => {
|
||||||
|
@ -11,27 +10,17 @@ const install = (Vue, vm) => {
|
||||||
});
|
});
|
||||||
// 此处使用了传入的params参数,一切自定义即可
|
// 此处使用了传入的params参数,一切自定义即可
|
||||||
let getUserInfo = (params = {}) => vm.$u.get('/system/user/info/', params);//获取用户信息
|
let getUserInfo = (params = {}) => vm.$u.get('/system/user/info/', params);//获取用户信息
|
||||||
|
|
||||||
let getCode = (params = {}) => vm.$u.post('/system/sendmsg/', params); //获取邮箱验证码
|
let getCode = (params = {}) => vm.$u.post('/system/sendmsg/', params); //获取邮箱验证码
|
||||||
|
|
||||||
let codeLogin = (params = {}) => vm.$u.post('/token2/', params); //邮箱验证码登录
|
let codeLogin = (params = {}) => vm.$u.post('/token2/', params); //邮箱验证码登录
|
||||||
|
|
||||||
let login = (params = {}) => vm.$u.post('/token/', params); //账户密码登录
|
let login = (params = {}) => vm.$u.post('/token/', params); //账户密码登录
|
||||||
// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
|
// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
|
||||||
|
|
||||||
let wxmplogin = (params = {}) => vm.$u.post('/wxmplogin/', params); //微信登录
|
let wxmplogin = (params = {}) => vm.$u.post('/wxmplogin/', params); //微信登录
|
||||||
|
|
||||||
let bindmp = (params = {}) => vm.$u.post('/system/user/bindwxmp/', params); //微信绑定
|
let bindmp = (params = {}) => vm.$u.post('/system/user/bindwxmp/', params); //微信绑定
|
||||||
|
|
||||||
let unbindmp = (params = {}) => vm.$u.post('/system/user/unbindwxmp/', params); //微信绑定
|
let unbindmp = (params = {}) => vm.$u.post('/system/user/unbindwxmp/', params); //微信绑定
|
||||||
|
|
||||||
let getMyInspectTaskList = (params = {}) => vm.$u.get('/quality/subinspecttask/self/', params);
|
let getMyInspectTaskList = (params = {}) => vm.$u.get('/quality/subinspecttask/self/', params);
|
||||||
|
|
||||||
let getSubinspectTask = (id, params)=> vm.$u.get(`/quality/subinspecttask/${id}/`, params);
|
let getSubinspectTask = (id, params)=> vm.$u.get(`/quality/subinspecttask/${id}/`, params);
|
||||||
|
|
||||||
//获取子任务涉及的单位
|
//获取子任务涉及的单位
|
||||||
let getSubtaskDepts = (id, params)=> vm.$u.get(`/quality/subinspecttask/${id}/depts/`, params);
|
let getSubtaskDepts = (id, params)=> vm.$u.get(`/quality/subinspecttask/${id}/depts/`, params);
|
||||||
|
|
||||||
//获取子任务单位的详细信息
|
//获取子任务单位的详细信息
|
||||||
let getSubtaskDept = (id, params)=> vm.$u.get(`/quality/inspectdept/${id}/`, params);
|
let getSubtaskDept = (id, params)=> vm.$u.get(`/quality/inspectdept/${id}/`, params);
|
||||||
let getInspectRecords = (params)=> vm.$u.get('/quality/inspectrecord/', params);
|
let getInspectRecords = (params)=> vm.$u.get('/quality/inspectrecord/', params);
|
||||||
|
@ -44,8 +33,6 @@ const install = (Vue, vm) => {
|
||||||
let getVideos = (params={})=>vm.$u.get('/vod/video/', params);//点播视频
|
let getVideos = (params={})=>vm.$u.get('/vod/video/', params);//点播视频
|
||||||
let getDickey = (params={})=>vm.$u.get('/system/dict/', params);//查询字典
|
let getDickey = (params={})=>vm.$u.get('/system/dict/', params);//查询字典
|
||||||
let putMyVideoView =(id)=>vm.$u.put(`/vod/video/${id}/myview/`);//更新本人观看信息
|
let putMyVideoView =(id)=>vm.$u.put(`/vod/video/${id}/myview/`);//更新本人观看信息
|
||||||
|
|
||||||
|
|
||||||
//考试有关
|
//考试有关
|
||||||
let getExamList = (params={})=>vm.$u.get('/exam/exam/', params);//考试列表
|
let getExamList = (params={})=>vm.$u.get('/exam/exam/', params);//考试列表
|
||||||
let startExam = (id)=>vm.$u.post(`/exam/exam/${id}/start/`);//开始考试
|
let startExam = (id)=>vm.$u.post(`/exam/exam/${id}/start/`);//开始考试
|
||||||
|
@ -54,6 +41,7 @@ const install = (Vue, vm) => {
|
||||||
let examRecordDetail = (id,params={})=>vm.$u.get(`/exam/examrecord/${id}/`,params);//我的考试记录
|
let examRecordDetail = (id,params={})=>vm.$u.get(`/exam/examrecord/${id}/`,params);//我的考试记录
|
||||||
let paperDetail = (id,params={})=>vm.$u.get(`/exam/paper/${id}/`,params);//测试
|
let paperDetail = (id,params={})=>vm.$u.get(`/exam/paper/${id}/`,params);//测试
|
||||||
let questionList = (params={})=>vm.$u.get(`/exam/question/`,params);//题目
|
let questionList = (params={})=>vm.$u.get(`/exam/question/`,params);//题目
|
||||||
|
let certificateList = (params={})=>vm.$u.get(`/edu/certificate/`,params);//证书列表
|
||||||
|
|
||||||
vm.$u.api = {getUserInfo,
|
vm.$u.api = {getUserInfo,
|
||||||
getCode,
|
getCode,
|
||||||
|
@ -83,7 +71,9 @@ const install = (Vue, vm) => {
|
||||||
examRecord,
|
examRecord,
|
||||||
paperDetail,
|
paperDetail,
|
||||||
questionList,
|
questionList,
|
||||||
examRecordDetail
|
examRecordDetail,
|
||||||
|
|
||||||
|
certificateList
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,33 +137,33 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
,{
|
// ,{
|
||||||
"path" : "pages/exam/test",
|
// "path" : "pages/exam/test",
|
||||||
"style" :
|
// "style" :
|
||||||
{
|
// {
|
||||||
"navigationBarTitleText": "练习",
|
// "navigationBarTitleText": "练习",
|
||||||
"enablePullDownRefresh": false
|
// "enablePullDownRefresh": false
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
// }
|
||||||
,{
|
// ,{
|
||||||
"path" : "pages/exam/question",
|
// "path" : "pages/exam/question",
|
||||||
"style" :
|
// "style" :
|
||||||
{
|
// {
|
||||||
"navigationBarTitleText": "专题练习",
|
// "navigationBarTitleText": "专题练习",
|
||||||
"enablePullDownRefresh": false
|
// "enablePullDownRefresh": false
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
// }
|
||||||
,{
|
// ,{
|
||||||
"path" : "pages/exam/testDetail",
|
// "path" : "pages/exam/testDetail",
|
||||||
"style" :
|
// "style" :
|
||||||
{
|
// {
|
||||||
"navigationBarTitleText": "练习题目",
|
// "navigationBarTitleText": "练习题目",
|
||||||
"enablePullDownRefresh": false
|
// "enablePullDownRefresh": false
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
// }
|
||||||
,{
|
,{
|
||||||
"path" : "pages/exam/exam",
|
"path" : "pages/exam/exam",
|
||||||
"style" :
|
"style" :
|
||||||
|
@ -186,7 +186,7 @@
|
||||||
"path" : "pages/exam/main",
|
"path" : "pages/exam/main",
|
||||||
"style" :
|
"style" :
|
||||||
{
|
{
|
||||||
"navigationBarTitleText": "答题中",
|
"navigationBarTitleText": "考试中",
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,7 +195,7 @@
|
||||||
"path" : "pages/exam/record",
|
"path" : "pages/exam/record",
|
||||||
"style" :
|
"style" :
|
||||||
{
|
{
|
||||||
"navigationBarTitleText": "答题记录",
|
"navigationBarTitleText": "考试记录",
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@
|
||||||
"path" : "pages/exam/result",
|
"path" : "pages/exam/result",
|
||||||
"style" :
|
"style" :
|
||||||
{
|
{
|
||||||
"navigationBarTitleText": "答题结束",
|
"navigationBarTitleText": "考试结束",
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,7 +212,15 @@
|
||||||
"path" : "pages/exam/detail",
|
"path" : "pages/exam/detail",
|
||||||
"style" :
|
"style" :
|
||||||
{
|
{
|
||||||
"navigationBarTitleText": "答题详情",
|
"navigationBarTitleText": "考试详情",
|
||||||
|
"enablePullDownRefresh": false
|
||||||
|
}
|
||||||
|
|
||||||
|
},{
|
||||||
|
"path" : "pages/certificate/index",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "证书查询",
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,14 +247,14 @@
|
||||||
"pagePath": "pages/exam/index",
|
"pagePath": "pages/exam/index",
|
||||||
"iconPath": "static/common/dati.png",
|
"iconPath": "static/common/dati.png",
|
||||||
"selectedIconPath": "static/common/datic.png",
|
"selectedIconPath": "static/common/datic.png",
|
||||||
"text": "答题"
|
"text": "考试"
|
||||||
},
|
|
||||||
{
|
|
||||||
"pagePath": "pages/vod/video",
|
|
||||||
"iconPath": "static/common/play.png",
|
|
||||||
"selectedIconPath": "static/common/playc.png",
|
|
||||||
"text": "点播"
|
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// "pagePath": "pages/vod/video",
|
||||||
|
// "iconPath": "static/common/play.png",
|
||||||
|
// "selectedIconPath": "static/common/playc.png",
|
||||||
|
// "text": "点播"
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
"pagePath": "pages/my/my",
|
"pagePath": "pages/my/my",
|
||||||
"iconPath": "static/common/me.png",
|
"iconPath": "static/common/me.png",
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<web-view src="https://testsearch.ctc.ac.cn/index_zs.html"></web-view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
page{
|
||||||
|
height: 100%;
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
</style>
|
|
@ -0,0 +1,302 @@
|
||||||
|
<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>
|
|
@ -1,32 +1,33 @@
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<uni-list>
|
<uni-list>
|
||||||
<uni-list-item v-for="item in list" :key="item.id" @click="goDetail(item.id)" :clickable="true" link>
|
<uni-list-item v-for="item in list" :key="item.id" @click="goDetail(item.id)" :clickable="true" link style="padding: 10upx;">
|
||||||
<!-- 自定义 body -->
|
<!-- 自定义 body -->
|
||||||
<template slot="body" style="display: block;">
|
<template slot="body" style="display: block;width: 100%;">
|
||||||
<view>
|
<view class="infoHead" style="">
|
||||||
<!-- <text v-if="item.type=='自助模考'">模拟练习</text> -->
|
<view>
|
||||||
<text style="font-weight: bold;color:orange">{{item.type}}</text>
|
<text style="font-weight: bold;">{{item.exam_name}}</text>
|
||||||
<text v-if="item.name.indexOf('(补)') != -1">(补)</text>
|
<text v-if="item.name.indexOf('(补)') != -1">(补)</text>
|
||||||
|
</view>
|
||||||
|
<span style="font-size: 26upx;">总分:{{item.total_score}}分</span>
|
||||||
</view>
|
</view>
|
||||||
<view style="color:gray;font-size: 26rpx;">
|
<view class="infoLine">
|
||||||
<span>耗时:
|
<span>耗时:
|
||||||
<span style="color:darkblue;font-weight: bold;">{{item.took_format}}</span>
|
<span style="color:#e47d25;">{{item.took_format}}</span>
|
||||||
</span>
|
</span>
|
||||||
-
|
|
||||||
<text>提交时间:{{item.create_time}}</text>
|
|
||||||
</view>
|
</view>
|
||||||
<view style="color:gray;font-size: 26rpx;">
|
<view class="infoLine">
|
||||||
<span>总分:{{item.total_score}}分</span>
|
<text>提交时间:{{item.create_time}}</text>
|
||||||
-
|
</view>
|
||||||
<span>得分:
|
<view class="infoLine">
|
||||||
<span style="color:green;font-weight: bold;">{{item.score}}</span>
|
<span>本次得分:
|
||||||
|
<span class='scoreClass'>{{item.score}}</span>
|
||||||
分</span>
|
分</span>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</uni-list-item>
|
</uni-list-item>
|
||||||
</uni-list>
|
</uni-list>
|
||||||
<view style="color:gray;text-align: center;margin-top:20upx">{{loadingText}}</view>
|
<view class="loadingText">{{loadingText}}</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -48,11 +49,11 @@
|
||||||
that.$u.api.examRecord(that.listQuery).then(res => {
|
that.$u.api.examRecord(that.listQuery).then(res => {
|
||||||
uni.stopPullDownRefresh()
|
uni.stopPullDownRefresh()
|
||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
title: res.data.count + '条答题记录'
|
title: res.data.count + '条考试记录'
|
||||||
})
|
})
|
||||||
if (that.listQuery.page == 1) {
|
if (that.listQuery.page == 1) {
|
||||||
if (res.data.results.length == 0) {
|
if (res.data.results.length == 0) {
|
||||||
that.loadingText = '暂无答题记录'
|
that.loadingText = '暂无考试记录'
|
||||||
} else {
|
} else {
|
||||||
that.loadingText = ''
|
that.loadingText = ''
|
||||||
that.list = res.data.results
|
that.list = res.data.results
|
||||||
|
@ -70,7 +71,7 @@
|
||||||
},
|
},
|
||||||
goDetail(id) {
|
goDetail(id) {
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title:"正在获取答题详情",
|
title:"正在获取考试详情",
|
||||||
})
|
})
|
||||||
this.$u.api.examRecordDetail(id).then(res=>{
|
this.$u.api.examRecordDetail(id).then(res=>{
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
|
@ -112,4 +113,26 @@
|
||||||
background-color: $u-bg-color;
|
background-color: $u-bg-color;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.infoHead{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 64upx;
|
||||||
|
line-height: 60upx;
|
||||||
|
}
|
||||||
|
.infoLine{
|
||||||
|
color:gray;
|
||||||
|
font-size: 28upx;
|
||||||
|
height: 40upx;
|
||||||
|
line-height: 40upx;
|
||||||
|
}
|
||||||
|
.scoreClass{
|
||||||
|
color:#2581e4;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 34upx;
|
||||||
|
}
|
||||||
|
.loadingText{
|
||||||
|
color:gray;
|
||||||
|
text-align: center;
|
||||||
|
margin-top:20upx
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
</view> -->
|
</view> -->
|
||||||
<view style="background-color: #2581e4;">
|
<view style="background-color: #2581e4;">
|
||||||
<u-image :src="imageURL" mode="widthFix"></u-image>
|
<u-image :src="imageURL" mode="widthFix"></u-image>
|
||||||
<view style="background-color: #2581e4;font-weight: bold;font-size: 30rpx;color:white;padding-left:8rpx">欢迎您:{{vuex_user.name}}</view>
|
<view class="welcome">欢迎您:{{vuex_user.name}}!</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <u-swiper @change="change" :height="250" :list="swiper_list" :title="swtitle" :effect3d="effect3d"
|
<!-- <u-swiper @change="change" :height="250" :list="swiper_list" :title="swtitle" :effect3d="effect3d"
|
||||||
:indicator-pos="indicatorPos" :mode="mode" :interval="3000" @click="click"></u-swiper> -->
|
:indicator-pos="indicatorPos" :mode="mode" :interval="3000" @click="click"></u-swiper> -->
|
||||||
|
|
||||||
<view style="margin-bottom: 12rpx;">
|
<view style="margin: 12rpx;">
|
||||||
<u-grid :col="3" :border="false">
|
<u-grid :col="3" :border="false">
|
||||||
<u-grid-item v-for="(item, index) in grids" v-bind:key="index" @click="clickGrid(item)">
|
<u-grid-item v-for="(item, index) in grids" v-bind:key="index" @click="clickGrid(item)">
|
||||||
<u-icon :name="item.icon" color="#2b85e4" size="80"></u-icon>
|
<u-icon :name="item.icon" color="#2b85e4" size="80"></u-icon>
|
||||||
|
@ -88,6 +88,21 @@
|
||||||
name: '手册/资料',
|
name: '手册/资料',
|
||||||
icon: 'file-text',
|
icon: 'file-text',
|
||||||
path: '/pages/document/index',
|
path: '/pages/document/index',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '考试',
|
||||||
|
icon: 'file-text',
|
||||||
|
path: '/pages/exam/exam',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '考试记录',
|
||||||
|
icon: 'file-text',
|
||||||
|
path: '/pages/exam/record',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '证书查询',
|
||||||
|
icon: 'file-text',
|
||||||
|
path: '/pages/certificate/index',
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
headstyle: {
|
headstyle: {
|
||||||
|
@ -161,6 +176,15 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.welcome{
|
||||||
|
background-color: #2581e4;
|
||||||
|
// font-weight: bold;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color:white;
|
||||||
|
padding-left:8rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
line-height: 46rpx;
|
||||||
|
}
|
||||||
.u-body-item-title {
|
.u-body-item-title {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
|
@ -115,6 +115,17 @@
|
||||||
this.$u.vuex('vuex_token', res.data.access)
|
this.$u.vuex('vuex_token', res.data.access)
|
||||||
this.$u.api.getUserInfo().then(res => {
|
this.$u.api.getUserInfo().then(res => {
|
||||||
this.$u.vuex('vuex_user', res.data)
|
this.$u.vuex('vuex_user', res.data)
|
||||||
|
if(res.data.wxmp_openid){}else{
|
||||||
|
uni.login({
|
||||||
|
provider: 'weixin',
|
||||||
|
success: (loginRes)=>{
|
||||||
|
this.$u.api.bindmp({code:loginRes.code}).then(res=>{
|
||||||
|
// this.$u.toast('绑定成功');
|
||||||
|
this.$u.vuex('vuex_user.wxmp_openid', res.data.wxmp_openid)
|
||||||
|
}).catch(e=>{})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
// 修改资源请求地址
|
// 修改资源请求地址
|
||||||
this.$u.vuex('vuex_user.avatar', this.vuex_user.avatar +
|
this.$u.vuex('vuex_user.avatar', this.vuex_user.avatar +
|
||||||
'?token=' + this.vuex_token)
|
'?token=' + this.vuex_token)
|
||||||
|
|
|
@ -14,8 +14,18 @@
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</u-form>
|
</u-form>
|
||||||
<view style="margin-top: 16rpx;">
|
<view style="margin-top: 16rpx;">
|
||||||
<u-button @click="submit" type="warning" >登录</u-button>
|
<u-button @click="submit" type="warning" >登录</u-button>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="alternative">
|
||||||
|
<navigator url="login" class="password" open-type="navigate">验证码登录</navigator>
|
||||||
|
</view>
|
||||||
|
<u-verification-code seconds="30" ref="uCode" @change="codeChange"></u-verification-code>
|
||||||
|
<view style="text-align: center;">
|
||||||
|
<view class="icon">
|
||||||
|
<u-icon size="70" name="weixin-fill" color="rgb(83,194,64)" @click="mpLogin"></u-icon>
|
||||||
|
</view>
|
||||||
|
微信登录
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
@ -81,6 +91,20 @@ export default {
|
||||||
this.$u.vuex('vuex_token', res.data.access)
|
this.$u.vuex('vuex_token', res.data.access)
|
||||||
this.$u.api.getUserInfo().then(res=>{
|
this.$u.api.getUserInfo().then(res=>{
|
||||||
this.$u.vuex('vuex_user', res.data)
|
this.$u.vuex('vuex_user', res.data)
|
||||||
|
if(res.data.wxmp_openid){}else{
|
||||||
|
uni.login({
|
||||||
|
provider: 'weixin',
|
||||||
|
success: (loginRes)=>{
|
||||||
|
this.$u.api.bindmp({code:loginRes.code}).then(res=>{
|
||||||
|
// this.$u.toast('绑定成功');
|
||||||
|
this.$u.vuex('vuex_user.wxmp_openid', res.data.wxmp_openid)
|
||||||
|
}).catch(e=>{})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 修改资源请求地址
|
// 修改资源请求地址
|
||||||
this.$u.vuex('vuex_user.avatar', res.data.avatar +
|
this.$u.vuex('vuex_user.avatar', res.data.avatar +
|
||||||
'?token=' + this.vuex_token)
|
'?token=' + this.vuex_token)
|
||||||
|
@ -99,6 +123,45 @@ export default {
|
||||||
console.log('验证失败');
|
console.log('验证失败');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
codeChange(text) {
|
||||||
|
this.codeTips = text;
|
||||||
|
},
|
||||||
|
mpLogin() {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '微信登录中...',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
uni.login({
|
||||||
|
provider: 'weixin',
|
||||||
|
success: (loginRes) => {
|
||||||
|
this.$u.api.wxmplogin({
|
||||||
|
code: loginRes.code
|
||||||
|
}).then(res => {
|
||||||
|
this.$u.vuex('vuex_token', res.data.access)
|
||||||
|
this.$u.api.getUserInfo().then(res => {
|
||||||
|
uni.hideLoading()
|
||||||
|
uni.showToast({
|
||||||
|
title: "登录成功",
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
uni.reLaunch({
|
||||||
|
url: "/pages/home/home"
|
||||||
|
})
|
||||||
|
this.$u.vuex('vuex_user', res.data)
|
||||||
|
// 修改资源请求地址
|
||||||
|
this.$u.vuex('vuex_user.avatar', this.vuex_user.avatar +
|
||||||
|
'?token=' + this.vuex_token)
|
||||||
|
})
|
||||||
|
}).catch(e => {
|
||||||
|
uni.hideLoading()
|
||||||
|
uni.showToast({
|
||||||
|
title: "暂未绑定微信!",
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue