|
|
@@ -0,0 +1,81 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <!-- 使用Vant的Dialog组件 -->
|
|
|
+ <van-popup v-model="dialogVisible" round position="bottom" :style="{ width: '70%', marginTop: '100px' }">
|
|
|
+ <div class="contain">
|
|
|
+ <div class="selector">
|
|
|
+ <div>
|
|
|
+ 签到状态:
|
|
|
+ <!-- 使用Vant的Select组件 -->
|
|
|
+ <van-field v-model="selectItem" left-icon="arrow-down" placeholder="请选择" @change="onSelectorChange">
|
|
|
+ <template #left-icon>
|
|
|
+ <van-icon name="arrow-down" />
|
|
|
+ </template>
|
|
|
+ <template #input>
|
|
|
+ <van-picker
|
|
|
+ show-toolbar
|
|
|
+ :columns="['全部', '已签到', '未签到', '已补签']"
|
|
|
+ @confirm="val => { selectItem = val }"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
+ </div>
|
|
|
+ <!-- 保留原有的Popover和Rate组件,因为Vant没有直接对应的组件替代 -->
|
|
|
+ <div class="rate">
|
|
|
+ <!-- ... -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 使用Vant的Table组件 -->
|
|
|
+ <div class="table">
|
|
|
+ <van-table :data="showPaperList" :columns="columns" :bordered="true" :highlight-row="false">
|
|
|
+ <!-- ... -->
|
|
|
+ </van-table>
|
|
|
+ </div>
|
|
|
+ <!-- 使用Vant的Pagination组件 -->
|
|
|
+ <van-pagination v-model="pagination.currentPage" :page-size="pagination.pageSize" :total="categoryList.length" @change="handlePageChange" />
|
|
|
+ </div>
|
|
|
+ <!-- 使用Vant的Button组件 -->
|
|
|
+ <van-button type="default" @click="close">关闭</van-button>
|
|
|
+ </van-popup>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+// 导入Vant的组件
|
|
|
+import { Popup, Field, Picker, Icon, Table, Pagination, Button } from 'vant'
|
|
|
+
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ VanPopup: Popup,
|
|
|
+ VanField: Field,
|
|
|
+ VanPicker: Picker,
|
|
|
+ VanIcon: Icon,
|
|
|
+ VanTable: Table,
|
|
|
+ VanPagination: Pagination,
|
|
|
+ VanButton: Button
|
|
|
+ // ibpsUserSelector // 假设ibpsUserSelector与Vant兼容或无需转换
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ dialogVisible: true,
|
|
|
+ // ... 其他data属性
|
|
|
+ columns: [
|
|
|
+ { title: '序号', key: '', width: 100, render: (h, params) => h('div', {}, [this.showIndex(params.index)]) },
|
|
|
+ { title: '应参训人员', key: 'ren_yuan_id_', width: 150, render: (h, params) => h('ibpsUserSelector', { props: { value: params.row.ren_yuan_id_, disabled: true, multiple: true }}) },
|
|
|
+ { title: '签到状态', key: 'status', width: 150, render: (h, params) => h('van-tag', { props: { type: this.showType(params.row) }}, [params.row.status]) },
|
|
|
+ { title: '签到时间', key: 'qian_dao_shi_jian', align: 'center' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // ... 其他methods和computed属性
|
|
|
+ methods: {
|
|
|
+ handlePageChange(page, pageSize) {
|
|
|
+ this.pagination.currentPage = page
|
|
|
+ this.pagination.pageSize = pageSize
|
|
|
+ }
|
|
|
+ // ... 其他methods
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<!-- 样式部分保持不变 -->
|