examList.vue 3.2 KB
<template>
	<view>
		<!-- 级位证书发布 -->
		<view class="appList">
			<view class="appItem" v-for="item in infoList">
				<view class="status" @click="goDetail(item)">
					<text :class="{
                'text-warning':item.isCert=='0',
                'text-primary':item.isCert=='1',
                'text-success':item.isCert=='2'
					              }">{{ statusArr[item.isCert]}}</text>
				</view>

				<view class="date">申请日期: {{item.applyTime?.slice(0,10)}}</view>
				<view class="name mt0" @click="goDetail(item)">{{item.name}}</view>
				<view class="pp esp">考级考官:{{item.examinerNames}}</view>
				<view class="flexbox" @click="goDetail(item)">
					<view>
						申请单位
						<view>{{item.memberName}}</view>
					</view>
					<view>
						已发/待发证书
						<view>{{item.hasCerts}}/<text class="text-danger">{{item.noCerts}}</text></view>
					</view>
					<view>
						考生数/通过数
						<view>{{item.totalNum}}/<text class="text-danger">{{item.pass}}</text></view>
					</view>
				</view>
				<view class="func" v-if="item.certStatus != '2'">
					<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 api from '@/common/api.js'
	import config from '@/config.js'
	import _ from 'lodash'
	import {
		onMounted,
		ref
	} from 'vue'
	import {
		onLoad,
		onShow
	} from '@dcloudio/uni-app'
	const app = getApp();
	const queryParams = ref({
		// pageNum: 1,
		// pageSize: 10
	})
const statusArr = ['未发放', '部分发放', '已发放']
	const current = ref()
	const infoList = ref([])
	const total = ref(0)
	const deptType = ref('')
	const userType = ref('')
	onLoad((option) => {
	  queryParams.value.payId = option.payId
	  queryParams.value.type = option.type
	})
	onShow(() => {
		if (app.globalData.isLogin) {
			init()
		} else {

			app.firstLoadCallback = () => {
				init()
			};
		}
	})

	function init() {
		deptType.value = app.globalData.deptType
		userType.value = app.globalData.userType
		getList()
	}


	function getList() {
		uni.showLoading({
			title: '加载中'
		})
		api.getExamListByPayId(queryParams.value).then(res => {
			infoList.value = res.rows
			uni.hideLoading()
		})
	}

	function goDetail(item) {
		// const form = encodeURIComponent(JSON.stringify(item))
		let path = `/pages/level/ztx/studentList?type=${queryParams.value.type}&examId=${item.examId}&payId=${queryParams.value.payId}`
		uni.navigateTo({
			url: path
		});
	}

	function send(row) {
		uni.showModal({
			title: '提示',
			content: `确定生成 ${row.name} 的证书吗`,
			success: function(res) {
				if (res.confirm) {
					api.submitCert([{
						id: row.payId
					}]).then(res => {
						uni.showToast({
							title: `下发成功`
						})
						getList()
					})
				}
			}
		})
	}
</script>


<style scoped lang="scss">
	.mt0 {
		margin-top: 0 !important;
	}

	.appList .appItem .name {
		width: 80%;
		word-break: break-all;
	}
</style>