后端

sign.vue 5.5KB

    <template> <div class="mod-config"> <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> <el-form-item> <el-button @click="exportList()">导出名单</el-button> </el-form-item> <el-form-item> <el-input v-model="dataForm.key" placeholder="请输入参数人员/负责人" clearable></el-input> </el-form-item> <el-form-item> <el-button @click="getDataList()">查询</el-button> </el-form-item> </el-form> <el-table :data="dataList" border v-loading="dataListLoading" @selection-change="selectionChangeHandle" style="width: 100%;" > <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> <el-table-column prop="id" header-align="center" align="center" label="id"></el-table-column> <el-table-column prop="truename" header-align="center" align="center" label="姓名"></el-table-column> <el-table-column prop="organization" header-align="center" align="center" label="所属机构"></el-table-column> <el-table-column prop="position" header-align="center" align="center" label="职位"></el-table-column> <el-table-column prop="phone" header-align="center" align="center" label="联系电话"></el-table-column> <el-table-column prop="typeAttenders" header-align="center" align="center" label="用户参会类型"></el-table-column> <el-table-column prop="isPay" header-align="center" align="center" label="是否已缴费"> <template slot-scope="scope"> <span v-if="scope.row.isPay === 1">是</span> <span v-else>否</span> </template> </el-table-column> <el-table-column prop="status" header-align="center" align="center" label="签到状态"> <template slot-scope="scope"> <span v-if="scope.row.status === 1">已签到</span> <span v-else>否</span> </template> </el-table-column> <el-table-column prop="badge" header-align="center" align="center" label="胸卡"></el-table-column> <el-table-column prop="servername" header-align="center" align="center" label="负责人"></el-table-column> <el-table-column prop="lastTime" header-align="center" align="center" label="最后签到时间"></el-table-column> <el-table-column fixed="right" header-align="center" align="center" width="100" label="操作"> <template slot-scope="scope"> <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button> </template> </el-table-column> </el-table> <el-pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle" :current-page="pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage" layout="total, sizes, prev, pager, next, jumper" ></el-pagination> </div> </template> <script> export default { data() { return { dataForm: { key: "" }, dataList: [], pageIndex: 1, pageSize: 10, totalPage: 0, dataListLoading: false, dataListSelections: [], meetingId: 0 }; }, created() { this.meetingId = this.$route.params.id; }, activated() { this.getDataList(); }, methods: { // 导出数据表 exportList() { window.open( this.$http.adornUrl( `/admin/signinfo/downloadxls?token=${this.$cookie.get( "token" )}&meetingId=${this.meetingId}` ) ); }, // 获取数据列表 getDataList() { this.dataListLoading = true; this.$http({ url: this.$http.adornUrl("/admin/signinfo/list"), method: "get", params: this.$http.adornParams({ meetingId: this.meetingId, page: this.pageIndex, limit: this.pageSize, key: this.dataForm.key }) }).then(({ data }) => { if (data && data.code === 0) { this.dataList = data.page.list; this.totalPage = data.page.totalCount; } else { this.dataList = []; this.totalPage = 0; } this.dataListLoading = false; }); }, // 每页数 sizeChangeHandle(val) { this.pageSize = val; this.pageIndex = 1; this.getDataList(); }, // 当前页 currentChangeHandle(val) { this.pageIndex = val; this.getDataList(); }, // 多选 selectionChangeHandle(val) { this.dataListSelections = val; }, // 删除 deleteHandle(id) { var ids = id ? [id] : this.dataListSelections.map(item => { return item.id; }); this.$confirm( `确定对[id=${ids.join(",")}]进行[${id ? "删除" : "批量删除"}]操作?`, "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" } ).then(() => { this.$http({ url: this.$http.adornUrl("/admin/signinfo/delete"), method: "post", data: this.$http.adornData(ids, false) }).then(({ data }) => { if (data && data.code === 0) { this.$message({ message: "操作成功", type: "success", duration: 1500, onClose: () => { this.getDataList(); } }); } else { this.$message.error(data.msg); } }); }); } } }; </script>