|
@@ -0,0 +1,142 @@
|
|
|
+<script setup>
|
|
|
+import { closeToast, showLoadingToast } from 'vant'
|
|
|
+import QRCode from "qrcode";
|
|
|
+const { currentRoute } = useRouter()
|
|
|
+const route = currentRoute.value
|
|
|
+const hysyd_id = route.query.hysyd_id
|
|
|
+const detailData = ref({})
|
|
|
+showLoadingToast({
|
|
|
+ message: '加载中...',
|
|
|
+ forbidClick: true,
|
|
|
+})
|
|
|
+request({
|
|
|
+ url: '/jdbg/hy_hysyd/detail',
|
|
|
+ data: {
|
|
|
+ hysyd_id,
|
|
|
+ },
|
|
|
+}).then((res) => {
|
|
|
+ closeToast()
|
|
|
+ detailData.value = res.data.one_info
|
|
|
+ makeQrcode();
|
|
|
+})
|
|
|
+function getFile(f) {
|
|
|
+ let link = window.globalVariables.api + "/openapi/download.php?path=" + f.split('|')[0] + '&name=' + f.split('|')[1].split('.')[0]
|
|
|
+ window.open(link, '_blank')
|
|
|
+}
|
|
|
+let canvas = $ref();
|
|
|
+function makeQrcode() {
|
|
|
+ let opts = {
|
|
|
+ errorCorrectionLevel: "H",
|
|
|
+ type: "image.png",
|
|
|
+ width: 120,
|
|
|
+ height: 120,
|
|
|
+ text: detailData.value.qrcode,
|
|
|
+ };
|
|
|
+ QRCode.toCanvas(canvas, detailData.value.qrcode, opts);
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div class="tableContainer">
|
|
|
+ <div class="topPart">
|
|
|
+ <table class="Tb" width="100%" cellspacing="0" cellpadding="0">
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 会议名称
|
|
|
+ </td>
|
|
|
+ <td>{{ detailData.hysyd_hymc }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 会议状态
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ {{ detailData.hysyd_hyzt_option_n }}
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 会议室
|
|
|
+ </td>
|
|
|
+ <td>{{ detailData.hysyd_hys_mc }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 会议时间
|
|
|
+ </td>
|
|
|
+ <td class="leading-25px">
|
|
|
+ <p>{{ detailData.hysyd_hysj_ks }} -</p>
|
|
|
+ <p>{{ detailData.hysyd_hysj_js }}</p>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">会议资料</td>
|
|
|
+ <td>
|
|
|
+ <template v-if="detailData.hysyd_hyzl">
|
|
|
+ <div v-for="(wj, index) in detailData.hysyd_hyzl.split(';')" :key="index">
|
|
|
+ <p class="cursor-pointer text-blue-500" @click="getFile(wj)">{{ wj.split("|")[1] }}</p>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <span v-else>未上传附件</span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr v-show="detailData.hysyd_ewm_option_k == '1'">
|
|
|
+ <td>请扫描二维码进行签到</td>
|
|
|
+ <td>
|
|
|
+ <canvas ref="canvas"></canvas>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <div class="nav">
|
|
|
+ <table class="Tb mt-20px text-14px" width="100%" cellspacing="0" cellpadding="0">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td class="text-15px text-center" colspan="4">参会人员签到状态</td>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tr>
|
|
|
+ <td>序号</td>
|
|
|
+ <td>参会人员</td>
|
|
|
+ <td>签到状态</td>
|
|
|
+ <td>签到时间</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item, index) in detailData.sign" :key="item.user_id">
|
|
|
+ <td>{{ index + 1 }}</td>
|
|
|
+ <td>{{ item.realname }}</td>
|
|
|
+ <td>{{ item.is_sign == 0 ? '未签到' : '已签到' }}</td>
|
|
|
+ <td>
|
|
|
+ <span class="signed" v-if="item.dateline">{{
|
|
|
+ item.dateline }}</span>
|
|
|
+ <span v-else>--</span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.titleOpt {
|
|
|
+ width: 30%;
|
|
|
+}
|
|
|
+
|
|
|
+.Tb tr td {
|
|
|
+ padding: 8px 8px;
|
|
|
+}
|
|
|
+
|
|
|
+.border_bottom {
|
|
|
+ border-bottom: 2px solid #666;
|
|
|
+ border-top: 2px solid #666;
|
|
|
+}
|
|
|
+
|
|
|
+.text-red {
|
|
|
+ color: red;
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.specialTd table tbody tr td) {
|
|
|
+ border: 1px #CCCCCC solid !important;
|
|
|
+}
|
|
|
+</style>
|