<template>
    <div>
        <div class="headers">
            <div class="headers-name">标准信息 ｜{{ total }}</div>
            <div style="position: relative;top: 6px;">
              
                <el-form :inline="true" :model="form" class="demo-form-inline">
                    <el-form-item label="标准类型" size="small" style="position: relative;top: -3px;">
                        <el-select v-model="form.level" placeholder="请选择" class="selects" clearable @change="handleSearch">
                            <el-option v-for="item in levelOptions" :key="item.value" :label="item.label"
                                :value="item.value">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="参与方式" size="small" style="position: relative;top: -3px;">
                        <el-select v-model="form.participation_type" placeholder="请选择" class="selects" clearable @change="handleSearch">
                            <el-option v-for="item in participationOptions" :key="item.value" :label="item.label"
                                :value="item.value">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="标准状态" size="small" style="position: relative;top: -3px;">
                        <el-select v-model="form.status" placeholder="请选择" class="selects" clearable @change="handleSearch">
                            <el-option v-for="item in statusOptions" :key="item.value" :label="item.label"
                                :value="item.value">
                            </el-option>
                        </el-select>
                    </el-form-item>
                   
                    <el-form-item>
                        <el-button type="primary" @click="btnAdd" size="small" class="tianjia">添加标准</el-button>
                    </el-form-item>
                </el-form>
            </div>
        </div>
        <div class="content-table">
           
          <div style="flex: 1;">
            <el-table :data="tableData" border style="width: 100%">
                <el-table-column type="index" label="序号" align="center" width="80">
                </el-table-column>
                <el-table-column prop="title" label="标准名称" align="center" >
                </el-table-column>
                <el-table-column prop="standard_code" label="标准号" align="center" >
                </el-table-column>
                <el-table-column label="标准类型" align="center" >
                    <template slot-scope="scope">
                        {{ getLevelText(scope.row.level) }}
                    </template>
                </el-table-column>
                <el-table-column prop="publish_date" label="发布日期" align="center" width="120">
                </el-table-column>
                <el-table-column label="标准状态" align="center" width="100">
                    <template slot-scope="scope">
                        {{ scope.row.status == 1 ? '现行' : '废止' }}
                    </template>
                </el-table-column>
                <el-table-column label="参与方式" align="center" width="100">
                    <template slot-scope="scope">
                        {{ scope.row.participation_type == 1 ? '主持' : '参与' }}
                    </template>
                </el-table-column>
                <el-table-column fixed="right" label="操作" align="center" width="80">
                    <template slot-scope="scope">
                        <el-button @click="handleClick(scope.row)" type="text" size="small">详情</el-button>
                    </template>
                </el-table-column>
            </el-table>
          </div>
          <div class="external-111" v-if="tableData.length">
                <div class="bianji" v-for="(item, index) in tableData" :key="index">
                    待编辑
                </div>
            </div>
        </div>
        <div class="footer">
                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                    :current-page="currentPage" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize"
                    layout="total, sizes, prev, pager, next, jumper" :total="total">
                </el-pagination>
            </div>


     
    </div>
</template>
<script>
import { list } from '@/api/resource/achievement/standard'
export default {
    data() {
        return {
            currentPage: 1,
            pageSize: 10,
            total: 0,
            tableData: [],
            // 标准级别选项
            levelOptions: [
                { value: '1', label: '国际' },
                { value: '2', label: '国家' },
                { value: '3', label: '行业' },
                { value: '4', label: '地方' },
                { value: '5', label: '团体' }
            ],
            // 参与方式选项
            participationOptions: [
                { value: '1', label: '主持' },
                { value: '2', label: '参与' }
            ],
            // 标准状态选项
            statusOptions: [
                { value: '1', label: '现行' },
                { value: '0', label: '废止' }
            ],
            form: {
                level: '',
                participation_type: '',
                status: ''
            }
        }
    },
    created() {
        this.getList()
    },
    methods: {
        // 获取列表数据
        async getList() {
            try {
                const params = {
                    page: this.currentPage,
                    limit: this.pageSize,
                    orderBy: 'id',
                    orderDir: 'desc'
                }
                // 添加筛选条件
                if (this.form.level) {
                    params.level = this.form.level
                }
                if (this.form.participation_type) {
                    params.participation_type = this.form.participation_type
                }
                if (this.form.status !== '') {
                    params.status = this.form.status
                }
                const res = await list(params)
                if (res.code === 1) {
                    this.tableData = res.data.data || []
                    this.total = res.data.total || 0
                }
            } catch (error) {
                console.error('获取列表失败:', error)
            }
        },
        // 获取标准级别文本
        getLevelText(level) {
            const levelMap = {
                '1': '国际',
                '2': '国家',
                '3': '行业',
                '4': '地方',
                '5': '团体'
            }
            return levelMap[level] || '-'
        },
        // 搜索
        handleSearch() {
            this.currentPage = 1
            this.getList()
        },
        btnAdds() {
            this.$emit('btnAdds')
        },
        // 添加 - 直接跳转到编辑页面
        btnAdd() {
            this.$emit('goAdd')
        },
        handleSizeChange(val) {
            this.pageSize = val
            this.currentPage = 1
            this.getList()
        },
        handleCurrentChange(val) {
            this.currentPage = val
            this.getList()
        },
        handleClick(row) {
            this.$emit('getaudit', row)
        }
    }
}
</script>
<style>
.el-tooltip__popper.is-dark {
    color: #F04B4B !important;
    background: #FCF1EB !important;
}

.el-tooltip__popper .popper__arrow {
    border-top-color: #FCF1EB !important;
    /* 上方箭头 */
}

.el-tooltip__popper .popper__arrow::after {
    border-top-color: #FCF1EB !important;
}

/* 其他方向的箭头（按需添加） */
.el-tooltip__popper[x-placement^='bottom'] .popper__arrow {
    border-bottom-color: #FCF1EB !important;
}

.el-tooltip__popper[x-placement^='left'] .popper__arrow {
    border-left-color: #FCF1EB !important;
}

.el-tooltip__popper[x-placement^='right'] .popper__arrow {
    border-right-color: #FCF1EB !important;
}
</style>
<style scoped>
::v-deep .el-select{
    width: 100% !important;
}
.bianji{
    width: 20px;
  
    background: #2AB95F;
    color: white;
    margin-top: 14px;
    text-align: center;
    font-size: 11px;
    line-height: 14px;
    cursor: pointer;
}
.external-111 {
    width: 90px;
    position: relative;
    top: 43px;
}

.adds{
    width: 30px;
    height: 20px;
    background: #DCE0FD;
    color: #5065F6;
    position: relative;
    left: 54px;
    font-size: 14px;
    text-align: center;
    line-height: 18px;
    cursor: pointer;
}
.lies:hover .closes {
    opacity: 1;; /* 鼠标滑过 .lies 时才显示 */
}
.closes{
    background: #FCF1EB;
    width: 20px;
    height: 30px;
    position: relative;
    top: 5px;
    cursor: pointer;
    text-align: center;
    line-height: 30px;
    color: #F04B4B;
    font-size: 20px;
    opacity: 0;
}
.liee{
    background-color: #DCE0FD;
    color: #17192C;
    text-align:center
}
.lie{
    border: 1px solid #3333;
    width: 100px;
    height: 40px;
    line-height: 40px;
    border-right: none;
    border: none;
    border-bottom: 1px solid #EDEFFE
}
.lies{
display: flex;
/* border-bottom: 1px solid #EDEFFE */
}
.zhuyi{
   color: #5165f7;
    font-size: 14px;
    text-align: center;
    position: relative;
    top: -12px;
}
:deep(.el-input__wrapper) {
  box-shadow: none !important;
  padding-left: 7 !important;
  background: none !important;
}
/* 去掉内部输入框的padding */
:deep(.el-input__inner) {
    padding-left: 7 !important;
  border: none !important;
  background: none !important;
}
.th1{
    width: 120px;         /* 设置固定宽度（可以根据需要调整） */
  font-size: 13px;      /* 字体大小比默认小 */
  text-align: right;    /* 右对齐 */
  padding-right: 8px;
  border-right: 1px solid #DCE0FD;
  background: #EDEFFE !important;
  border-bottom: 1px solid #DCE0FD !important;
}
.container {
    width: 72%;
    margin: 0 auto;
}

h1 {
    color: #333;
    text-align: center;
    margin-bottom: 25px;
    font-weight: 600;
    font-size: 24px;
}

.department-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.department-table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.department-table tr{
    border: 1px solid #DCE0FD;
    cursor: pointer;
}

.department-table th {
   
    /* 淡紫色表头 */
    color: #5a4a6a;
    font-weight: 600;
    text-align: left;
    padding: 16px 20px;

}

.department-table td {
    background-color: white;
    padding: 5px 20px;
    border-bottom: 1px solid #f0f0f0;
    color: #333;
}

.department-table tr:last-child td {
    border-bottom: none;
}

.department-table tr:hover td {
    background-color: #f9f9f9;
    transition: background-color 0.2s;
}

.empty-value {
    color: #999;
    font-style: italic;
}

.footer {
    text-align: center;
    margin-top: 25px;
    color: #888;
    font-size: 14px;
}

.contents {
    width: 90%;
    margin: 0 auto;
}

:deep .el-dialog__body {
    padding: 0 !important;
}

.dialog-footer {
    text-align: center;
    margin: 0 auto;
    margin-top: 12px;
}

.dialog-header {
    width: 100%;
    height: 54px;
    background: #F7F7FA;
    text-align: center;
    line-height: 54px;
    position: relative;
    top: -28px;
    color: #363636;
    font-weight: bold;
    font-size: 18px
}

:deep .el-tooltip__popper.is-dark {
    color: #F04B4B !important;
}

.footer {
    display: flex;
    justify-content: end;
    margin-top: 20px;
}

.tianjia {
    position: relative;
    top: -9px;
    background-color: #5065F6;
}

.tianjia2 {
    position: relative;
    top: -9px;
    background-color: #EDEFFE;
    color: #5065F6;
}

::v-deep .el-table thead {
    background-color: #DCE0FD !important;
    color: #363636 !important;
}

::v-deep .el-table__header th {
    background-color: #DCE0FD !important;
    color: #363636 !important;
}

.content-table {
    display: flex;
}

.formitem {
    position: relative;
    top: -5px;
}

::deep .el-form-item__label {
    font-size: 15px !important;
}

.selects {
    width: 100px;
    border: 1px solid #3333;
}

.headers-name {
    font-size: 15px;
    position: relative;
    top: 14px;
}

.tubiao {
    position: relative;
    top: 22px;
    z-index: 99;
    left: -20px;
    cursor: pointer;
}

.headers {
    display: flex;
    justify-content: space-between
}
</style>