123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915 |
- <template>
- <div class="table_container">
- <div class="title_examine">
- <div class="pub_title">账号审核</div>
- <div style="margin-left: auto">
- <el-button v-if="type == 0" type="primary" size="small" @click="bactchConfirm(1)"
- >批量通过</el-button
- >
- <el-button v-if="type == 0" type="primary" size="small" @click="bactchConfirm(2)"
- >批量忽略</el-button
- >
- <el-button v-if="type == 2" type="primary" size="small" @click="bactchConfirm(0)"
- >批量操作</el-button
- >
- </div>
- </div>
- <div class="table_content">
- <div class="button_top">
- <div class="examine_title">
- <a
- @click="showData(0)"
- :style="{
- color: type == 0 ? 'black' : 'rgb(179, 179, 179)',
- fontWeight: 'bold',
- }"
- >待审核({{ tableData }})</a
- >
- </div>
- <div class="examine_title">
- <a
- @click="showData(1)"
- :style="{
- color: type == 1 ? 'black' : 'rgb(179, 179, 179)',
- fontWeight: 'bold',
- }"
- >已通过({{ approvedData }})</a
- >
- </div>
- <div class="examine_title">
- <a
- @click="showData(2)"
- :style="{
- color: type == 2 ? 'black' : 'rgb(179, 179, 179)',
- fontWeight: 'bold',
- }"
- >已忽略({{ RefusedData }})</a
- >
- </div>
- <div class="examine_title">
- <a
- @click="showData(3)"
- :style="{
- color: type == 3 ? 'black' : 'rgb(179, 179, 179)',
- fontWeight: 'bold',
- }"
- >全部记录({{ AllData }})</a
- >
- </div>
- </div>
- <div class="content">
- <!-- 待审核的数据 -->
- <div class="tableBox">
- <!-- 禁用 stripe 属性,完全自定义背景色 -->
- <el-table
- :data="currentTableData"
- stripe
- border
- style="width: 100%"
- :header-cell-style="headerCellStyle"
- @selection-change="handleSelectionChange"
- :row-key="(row) => row.id"
- ref="rtable"
- @sort-change="onSortChange"
- >
- <el-table-column type="selection" width="50px"></el-table-column>
- <el-table-column
- label="组织名称"
- min-width="45"
- show-overflow-tooltip
- >
- <template slot-scope="scope">{{
- scope.row.orgName ? scope.row.orgName : "-"
- }}</template>
- </el-table-column>
- <el-table-column
- label="学校名字"
- min-width="45"
- show-overflow-tooltip
- >
- <template slot-scope="scope">{{
- scope.row.schoolName ? scope.row.schoolName : "-"
- }}</template>
- </el-table-column>
- <el-table-column
- show-overflow-tooltip
- prop="contact_info"
- label="电话/邮箱"
- min-width="45"
- ></el-table-column>
- <el-table-column
- prop="name"
- label="姓名"
- min-width="45"
- show-overflow-tooltip
- :label-class-name="'address-column'"
- ></el-table-column>
- <el-table-column
- prop="username"
- label="账号"
- min-width="45"
- show-overflow-tooltip
- :label-class-name="'address-column'"
- ></el-table-column>
- <el-table-column
- prop="time"
- label="提交时间"
- width="180px"
- sortable="custom"
- ></el-table-column>
- <el-table-column
- prop="utime"
- label="审核时间"
- width="180px"
- sortable="custom"
- v-if="type !== 0"
- >
- <template slot-scope="scope">{{scope.row.utime ? scope.row.utime : '-'}}</template>
- </el-table-column>
- <el-table-column label="状态" min-width="45">
- <template slot-scope="scope">{{
- getStatusText(scope.row.type)
- }}</template>
- </el-table-column>
- <el-table-column
- prop="remarks"
- label="备注"
- min-width="45"
- ></el-table-column>
- <el-table-column label="操作" width="150px" v-if="type == 0 || type == 2">
- <template slot-scope="{ row }">
- <button
- v-if="type == 0"
- @click="ajax_move_user(1, row)"
- style="
- color: #308fff;
- background: none;
- border: none;
- cursor: pointer;
- margin-left: 25px;
- "
- >
- 通过
- </button>
- <button
- v-if="type == 0"
- @click="ajax_move_user(2, row)"
- style="
- color: #ff2570;
- background: none;
- border: none;
- cursor: pointer;
- margin-left: 35px;
- "
- >
- 忽略
- </button>
- <button
- v-if="type == 2"
- @click="ajax_move_user(0, row)"
- style="
- color: #308fff;
- background: none;
- border: none;
- cursor: pointer;
- margin-left: 25px;
- "
- >
- 移动至待审核
- </button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <!-- 分页组件 -->
- <el-pagination
- :current-page="currentPage"
- :page-size="pageSize"
- :total="total"
- @current-change="handlePageChange"
- layout="total,prev, pager, next, jumper"
- >
- </el-pagination>
- </div>
- </div>
- </div>
- </template>
- <script>
- import { API_CONFIG } from "@/common/apiConfig";
- import { mapGetters } from "vuex";
- import { addUser } from "@/api/user.js";
- export default {
- name: "IndexTable",
- components: {},
- data() {
- return {
- checked: true,
- selectedOptions: [], // 用于存储选中的复选框
- showCompany: false, // 默认隐藏
- selectedOrg: "CN", // 默认选中CN组织
- checkboxStates: Array(10).fill(false), // 确保初始化为一个包含10个元素的数组
- selectedSchools: Array(16).fill(""), // 确保初始化为一个包含16个空字符串的数组
- button: Array(10).fill(false), // 确保初始化为一个包含10个元素的数组
- currentPage: 1,
- currentApprovedPage: 1,
- currentRefusedPage: 1,
- currentAllPage: 1,
- total: 0,
- pageSize: 10, // 每页显示的条目数
- pageSizeOptions: [10, 25, 50], // 可选的页大小
- currentTableData: [],
- Pending_request: true,
- type: 0,
- tableData: 0,
- approvedData: 0,
- RefusedData: 0,
- AllData: 0,
- checkArray: [],
- checkArray2: [],
- sortF: "add_time",
- sortO: "DESC",
- };
- },
- computed: {
- ...mapGetters(["userid"]),
- },
- methods: {
- // 获取状态文本
- getStatusText(status) {
- const statusMap = {
- 0: "待审核",
- 1: "已通过",
- 2: "已忽略",
- };
- return statusMap[status] || "未知状态";
- },
- // 获取状态对应的按钮类型
- getButtonType(status) {
- const typeMap = {
- 0: "primary", // 待审核 -> 蓝色
- 1: "success", // 已通过 -> 绿色
- 2: "danger", // 已忽略 -> 红色
- };
- return typeMap[status] || "default"; // 默认为默认按钮类型
- },
- // 表头的背景色
- headerCellStyle() {
- return { backgroundColor: "#f1f1f1" };
- },
- handlePageChange(page) {
- API_CONFIG.allRecords.page = page;
- this.$forceUpdate();
- this.ajaxAll();
- },
- showData(type) {
- this.sortF = "add_time"
- this.sortO = "DESC"
- this.type = type;
- this.$refs.rtable.clearSort();
- this.ajaxAll();
- },
- handleSelectionChange(selectedRows) {
- console.log(selectedRows);
- this.checkArray = selectedRows.map((row) => row.id);
- this.checkArray2 = selectedRows
- },
- // 用于显示全部记录的表格数据
- ajaxAll() {
- console.log("获取所有记录");
- // 根据 allRecords 配置生成请求
- const params = [
- {
- functionName: API_CONFIG.allRecords.functionName,
- r_type: this.type == 3 ? '""' : this.type,
- page: API_CONFIG.allRecords.page,
- r_num: API_CONFIG.allRecords.num,
- sort_field: this.sortF,
- sort_order: this.sortO
- },
- ];
- this.currentTableData = [];
- this.$ajax
- .post(API_CONFIG.baseUrl, params)
- .then((res) => {
- if (res.data) {
- this.currentTableData = res.data[0];
- this.total = res.data[0].length ? res.data[0][0].total_count : 0;
- this.tableData = res.data[1][0].num;
- this.approvedData = res.data[2][0].num;
- this.RefusedData = res.data[3][0].num;
- this.AllData = res.data[4][0].num;
- }
- console.log("返回的结果为:", res.data);
- })
- .catch((err) => {
- console.error("请求失败,错误信息:", err);
- });
- },
- addUser(row) {
- let params = {
- alias: row.name,
- username: row.username,
- org: row.orgid,
- oid: row.oid,
- ph: row.phonenumber,
- cid: "",
- type: 1,
- opid: "",
- dest: "",
- eduid: "",
- };
- addUser(params)
- .then((response) => {
- if (response) {
- this.$message({
- type: "success",
- message: "操作成功",
- });
- this.ajaxAll(); // 例如刷新表格数据
- }
- })
- .catch((error) => {
- console.error("请求失败,错误信息:", error);
- });
- },
- async bactchConfirm(type) {
- if (!this.checkArray.length) {
- this.$message.error(`请选择要操作的用户`);
- return;
- }
- const confirmationMessage = type === 1 ? "您确定同意这些用户申请并创建吗?" : type ==0 ? "您确定将这些用户移动至待审核吗?" : "您确定忽略这些用户申请吗?";
- const requestType = type;
- // 弹出确认框
- this.$confirm(confirmationMessage, "确认操作", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(async () => {
- for (const row of this.checkArray2) {
- // 确认后发起请求
- const params = [{
- functionName: API_CONFIG.moveUser.functionName,
- uid: row.id,
- type: requestType,
- euid: this.userid,
- }];
- try {
- const res = await this.$ajax.post(API_CONFIG.baseUrl, params);
- console.log(res);
- if (type === 1) {
- await this.addUser(row);
- } else {
- this.$message.success("操作成功");
- }
- console.log("此条数据处理后的id为:", row.id);
- } catch (err) {
- this.$message.error("操作失败");
- console.error("请求失败,错误信息:", err);
- }
- }
- // 所有请求完成后刷新表格数据
- await this.ajaxAll();
- })
- .catch(() => {
- // 取消操作后的提示
- });
- },
- onSortChange({ prop, order }){
- if(order){
- this.sortF = prop == 'time' ? 'add_time' : 'update_time'
- this.sortO = order == 'descending' ? 'DESC' : 'ASC'
- }else{
- this.sortF = 'add_time'
- this.sortO = 'DESC'
- }
- this.ajaxAll()
- console.log(prop, order);
- },
- // 忽略操作,将数据移到已忽略
- ajax_move_user(type, row) {
- let string = "";
- if (type == 1) {
- string = "您确定同意此用户申请并创建吗?";
- } else if (type == 2) {
- string = "您确定忽略此用户申请吗?";
- } else if (type == 0) {
- string = "您确定将此用户移动至待审核吗?";
- }
- let _type = type;
- // 弹出确认框
- this.$confirm(string, "确认操作", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- // 确认后发起请求
- let params = [
- {
- functionName: API_CONFIG.moveUser.functionName, // 这里是将数据移至已忽略状态的操作,使用配置中的存储过程名称
- uid: row.id,
- type: _type,
- euid: this.userid,
- },
- ];
- // 发起请求
- this.$ajax
- .post(API_CONFIG.baseUrl, params)
- .then((res) => {
- console.log(res);
- if (type == 1) {
- this.addUser(row);
- } else {
- this.$message({
- type: "success",
- message: "操作成功",
- });
- // 更新数据状态
- this.ajaxAll(); // 例如刷新表格数据
- }
- console.log("此条数据处理后的id为:", row.id);
- })
- .catch((err) => {
- this.$message.error("操作失败");
- console.error("请求失败,错误信息:", err);
- });
- })
- .catch(() => {
- // 取消操作后的提示
- });
- },
- },
- mounted() {
- this.ajaxAll(); // 组件挂载后调用 ajaxAll 方法
- },
- };
- </script>
- <style scoped>
- .content {
- /* flex-direction: column; */
- width: 100%;
- }
- /* 表格容器样式 */
- .table_container {
- width: 100%;
- height: 100%;
- padding: 10px;
- box-sizing: border-box;
- overflow: auto;
- }
- .el-table {
- width: 100%;
- border: 1px solid #dcdfe6;
- /* 设置表格边框 */
- }
- .el-table th,
- .el-table td {
- border: 1px solid #dcdfe6;
- /* 设置单元格边框 */
- height: 80px;
- }
- /* 使用v-deep深度,进入元素设置表格行的背景色 */
- ::v-deep
- .el-table--striped
- .el-table__body
- tr.el-table__row--striped
- td.el-table__cell {
- background-color: #f1f1f1;
- }
- .address-column {
- margin: 0;
- /* 调整边距 */
- padding: 5px;
- /* 调整填充 */
- }
- /*审核框架 */
- .button_top {
- width: 100%;
- display: flex;
- align-items: center;
- margin: 10px 0;
- }
- .examine_title a {
- cursor: pointer;
- color: black;
- font-weight: bold;
- }
- .button_top .examine_title + .examine_title {
- margin-left: 20px;
- }
- /* 新增账户对话框样式 */
- .add-account-button {
- margin-top: 20px;
- /* 添加顶部间距 */
- padding: 10px 20px;
- /* 添加内边距 */
- background-color: transparent;
- /* 去掉按钮背景 */
- color: black;
- /* 设置字体颜色为黑色 */
- border-radius: 4px;
- /* 设置圆角 */
- cursor: pointer;
- /* 鼠标悬停时显示手型 */
- font-size: 18px;
- /* 增大字体 */
- display: flex;
- /* 使用 Flexbox 布局 */
- border: none;
- align-items: center;
- /* 垂直居中对齐 */
- }
- .add-icon {
- width: 20px;
- /* 设置小图片的宽度 */
- height: 20px;
- /* 设置小图片的高度 */
- margin-right: 8px;
- /* 图片与文字之间的间距 */
- }
- /* 对话框内容样式 */
- .modal-content {
- display: flex;
- flex-direction: column;
- }
- /* 标题样式 */
- .modal-header {
- display: flex;
- gap: 80px;
- /* 设置元素之间的固定间距 */
- justify-content: center;
- /* 居中对齐所有元素 */
- align-items: center;
- /* 垂直居中对齐 */
- cursor: pointer;
- /* 鼠标悬停时显示手型 */
- }
- /* 组织标题样式 */
- .org-title {
- display: flex;
- align-items: center;
- margin-bottom: 15px;
- }
- .org-title h3 {
- margin-right: 10px;
- font-weight: bold;
- }
- /* dialog搜索框容器 */
- .dialogsearch-container input {
- border: none;
- /* 去掉边框 */
- padding: 0 10px;
- /* 添加内边距 */
- padding-left: 15px;
- /* 增加左内边距以移动文字 */
- font-size: 18px;
- /* 增大字体大小 */
- outline: none;
- /* 去掉聚焦时的轮廓 */
- color: black;
- border: 1px solid black;
- }
- /* dialog搜索框按钮样式 */
- .dialogsearch-button {
- position: absolute;
- /* 设置为绝对定位 */
- right: 310px;
- /* 右对齐,距离右边310px */
- height: 40px;
- /* 设置按钮高度与输入框一致 */
- border: none;
- /* 去掉边框 */
- background: none;
- /* 去掉背景 */
- cursor: pointer;
- /* 鼠标悬停时显示手型 */
- padding: 0;
- /* 去掉内边距 */
- }
- /* 复选框容器样式 */
- .checkbox-container {
- display: flex;
- flex-direction: row;
- /* 水平排列 */
- gap: 10px;
- /* justify-content: space-between; 在两排之间留出空间 */
- margin-top: 100px;
- /* 添加顶部间距 */
- }
- /* 复选框组样式 */
- .checkbox-group {
- float: right;
- margin-left: 140px;
- /* border: 1px solid red; */
- height: 400px;
- width: 350px;
- padding-top: 20px;
- }
- /* 复选框在右侧样式 */
- .checkbox-left {
- flex-direction: row-reverse;
- /* 选择框在右侧 */
- display: flex;
- /* 使用 Flexbox */
- align-items: center;
- /* 垂直居中 */
- position: relative;
- /* 为下划线定位 */
- padding-top: 15px;
- /* 设置文本与下划线之间的间距 */
- }
- /*复选框文本样式 */
- .checkbox-left::after {
- content: "";
- display: block;
- width: 150%;
- height: 1px;
- background-color: black;
- position: absolute;
- bottom: 0;
- left: -12%;
- }
- hr {
- margin: 20px 0;
- /* 上下间距 */
- border: 1px solid #dcdfe6;
- /* 分隔线颜色 */
- }
- /* dialog学校复选框样式 */
- .checkbox-group span.el-checkbox__inner {
- position: absolute;
- right: -125px;
- width: 20px;
- height: 20px;
- }
- /* dialog组织下拉框复选框样式 */
- .checkbox-company span.el-checkbox__inner {
- width: 20px;
- height: 20px;
- }
- /* 复选框在右侧样式 */
- .checkbox-company {
- float: right;
- margin-left: 140px;
- /* border: 1px solid red; */
- height: 400px;
- width: 350px;
- padding-top: 20px;
- }
- .checkbox-right {
- align-items: center;
- /* 垂直居中 */
- position: relative;
- /* 为下划线定位 */
- padding-bottom: 5px;
- /* 设置文本与下划线之间的间距 */
- padding-top: 15px;
- }
- .checkbox-right::after {
- content: "";
- /* 创建伪元素 */
- display: block;
- /* 使其成为块级元素 */
- width: 80%;
- /* 下划线宽度,调整为所需的宽度 */
- height: 1px;
- /* 下划线高度 */
- background-color: black;
- /* 下划线颜色 */
- position: absolute;
- /* 绝对定位 */
- bottom: 0;
- /* 距离底部 */
- left: 8%;
- /* 调整下划线的水平位置,设置为10% */
- }
- /* 为 select 添加自定义下拉箭头 */
- .select_right {
- border: none;
- /* 去掉边框 */
- outline: none;
- /* 去掉聚焦时的轮廓线 */
- }
- /* 公司下拉菜单 */
- .company_checkbox {
- position: absolute;
- /* 设置为绝对定位 */
- width: 278px;
- background-color: rgb(255, 255, 255);
- border: 1px solid rgb(239, 239, 239);
- margin-left: 28px;
- margin-top: 6px;
- z-index: 200;
- padding: 10px 0;
- /* 给下拉菜单加一点内边距,避免内容太紧 */
- }
- /* 每个下拉项的容器,使用flexbox布局 */
- .com_check {
- display: flex;
- /* 使用flex布局 */
- justify-content: space-between;
- /* 让文本和复选框两端对齐 */
- align-items: center;
- /* 让文本和复选框垂直居中对齐 */
- padding: 5px 20px;
- /* 给复选框加点内边距,避免紧凑 */
- position: relative;
- /* 确保伪元素的定位是相对当前元素 */
- margin-bottom: 10px;
- /* 给每个复选框之间留点空隙 */
- }
- /* 复选框下的下划线 */
- .com_check::after {
- content: "";
- /* 创建伪元素 */
- display: block;
- /* 使其成为块级元素 */
- width: 100%;
- /* 下划线宽度与复选框相同 */
- height: 1px;
- /* 下划线高度 */
- background-color: rgb(214, 214, 214);
- /* 下划线颜色 */
- position: absolute;
- /* 绝对定位 */
- bottom: 0;
- /* 距离底部 */
- left: 0;
- /* 距离左边 */
- }
- /* 新增学校按钮 */
- .com_but {
- width: 275px;
- height: 35px;
- margin-top: 10px;
- /* 给按钮与上面的选项留一点空隙 */
- border: none;
- background-color: rgb(255, 255, 255);
- /* 按钮背景色 */
- outline: none;
- color: rgb(98, 98, 98);
- text-align: left;
- text-indent: 20px;
- /* 左侧文字缩进 */
- font-size: 15px;
- padding-bottom: 5px;
- /* 设置文本与下划线之间的间距 */
- }
- /* 给每个下拉项之间加点空隙 */
- .checkbox-right {
- margin-bottom: 10px;
- /* 给每个项之间留点空隙 */
- }
- /* 弹窗部分的样式 */
- .confirmation-dialog .el-dialog {
- position: absolute;
- top: 20%;
- left: 40%;
- }
- /* 弹窗内容部分的样式 */
- .modal-content .el-overlay .el-dialog {
- text-align: center;
- padding: 20px;
- }
- /* 弹窗标题部分的样式 */
- /* 是否通知申请人弹窗标题部分的样式 */
- .confirmation-modal {
- position: fixed;
- /* 使用固定定位 */
- transform: translate(-50%, -50%);
- /* 使其真正居中 */
- background-color: rgba(255, 255, 255, 0.9);
- /* 背景颜色 */
- border: 1px solid #ccc;
- /* 边框 */
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
- /* 阴影效果 */
- padding: 20px;
- /* 内边距 */
- z-index: 2000;
- /* 确保在其他元素之上 */
- }
- /* 是否通知申请人弹窗标题部分按钮的样式 */
- .button-container {
- display: flex;
- /* 使用flex布局 */
- justify-content: space-around;
- /* 按钮之间的间距 */
- margin-top: 120px;
- /* 按钮与文本之间的间距 */
- }
- /* 分页功能的样式 */
- .el-pagination {
- /* 调整分页组件的顶部向上方距离50px */
- margin-top: 10px;
- padding: 0;
- }
- /* 设置分页按钮的宽度 */
- .el-pagination .el-pagination__prev,
- .el-pagination .el-pagination__next {
- width: 60px;
- /* 设置上一页和下一页按钮的宽度 */
- }
- /* 设置页码按钮的宽度 */
- .el-pagination .el-pager li {
- width: 50px;
- /* 设置每个页码按钮的宽度 */
- }
- /* 设置分页大小选择框的宽度 */
- .el-pagination .el-select {
- width: 80px;
- /* 设置分页大小选择框的宽度 */
- }
- /*取消dialog学校最后一个的margin值 */
- .el-checkbox {
- margin-right: none !important;
- }
- .cell {
- position: absolute;
- }
- .el-checkbox span {
- margin-left: 3px;
- }
- /* 取消 ElTableColumn 默认的 inline-block 和 vertical-align 样式 */
- .el-scrollbar__view {
- display: block !important;
- /* 或者 display: flex; 根据你的需求 */
- }
- /* 取消 ElTableColumn 的下方滚动条样式 */
- .el-table--scrollable-x .el-table__body-wrapper {
- overflow-x: hidden !important; /* 禁止水平滚动 */
- overflow-y: auto; /* 保留垂直滚动(如果需要) */
- }
- .tableBox {
- width: 100%;
- }
- .table_content {
- width: 100%;
- overflow: auto;
- height: calc(100% - 75px);
- }
- </style>
|