lidie 1 год назад
Родитель
Сommit
141db9bc1b
1 измененных файлов с 81 добавлено и 0 удалено
  1. 81 0
      src/views/component/trainingManage/registerInfoDialog.vue

+ 81 - 0
src/views/component/trainingManage/registerInfoDialog.vue

@@ -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>
+
+<!-- 样式部分保持不变 -->