cert.vue
3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<template>
<view>
<uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem"
styleType="text" activeColor="#AD181F"></uni-segmented-control>
<view class="appList">
<view class="appItem" v-for="item in infoList" :key="item.payId" >
<view @click="goDetail(item)">
<view class="status" >
<text :class="{
'text-primary':item.certStatus=='0',
'text-warning':item.certStatus=='1',
'text-success':item.certStatus=='2',
}">{{ item.certStatusStr }}</text>
</view>
<view class="date">结算编号:{{item.payCode}}</view>
<view class="name mt0" >{{item.name}}</view>
<view class="pp esp">考试时间:{{item.startTime?.substring(0,16)}} 至 {{item.endTime?.substring(0,16)}}</view>
<view class="flexbox" >
<view>
申请日期
<view>{{item.applyTime?.substring(0, 10)}}</view>
</view>
<view>
申请单位
<view>{{item.memberName}}</view>
</view>
<view>
已发证书
<view>{{item.hasCerts}}</view>
</view>
<view>
待发证书
<view>{{item.noCerts}}</view>
</view>
</view>
</view>
<view class="func">
<button @click="send(item)">一键生成</button>
</view>
</view>
</view>
<view class="nodata" v-if="infoList.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>暂无数据</text>
</view>
</view>
</template>
<script setup>
import * as examApi from '@/common/api_exam.js'
import _ from 'underscore'
import { ref } from 'vue'
import { onLoad,onShow } from '@dcloudio/uni-app'
const app = getApp();
const queryParams = ref({})
const current = ref()
const navs = ref(['未发放', '部分发放', '已发放'])
const deptType = ref('')
const infoList = ref([])
const total = ref(0)
onLoad((options)=>{
queryParams.value.type=options.type
})
onShow(() => {
if (app.globalData.isLogin) {
init()
} else {
app.firstLoadCallback = () => {
init()
};
}
})
function init(){
deptType.value = app.globalData.deptType
getList()
}
function onClickItem(e) {
queryParams.value.certStatus = e.currentIndex
getList()
}
function getList() {
uni.showLoading({
title: '加载中',
mask: true
})
examApi.certsLList(queryParams.value).then(res => {
uni.hideLoading()
infoList.value = res.rows
total.value = res.total
})
}
function send(item) {
uni.showModal({
title: '提示',
content: `确定一键下发 ${item.name} 的证书?`,
success: function(res) {
if (res.confirm) {
examApi.submitCert([{
id: item.payId
}]).then(()=>{
uni.showToast({
title: '操作成功',
icon: 'none'
})
getList()
})
}
}
})
}
function goDetail(item) {
let path = `/pages/rank/applyDetail?examId=${item.examId}`
uni.navigateTo({
url: path
});
}
</script>
<style lang="scss" scoped>
</style>