<!--
 * @Descripttion: 
 * @version: 
 * @Author: JC9527
 * @Date: 2023-09-18 10:08:30
 * @LastEditors: JC9527
 * @LastEditTime: 2023-09-22 15:00:11
-->
<template>
  <div class="plan-management">
    <div class="plan-topBox">
      <my-input
        @changeInput="changeInput"
        placeholder="请输入活动内容"
        @changeValue="changeValue"
      ></my-input>
    </div>
    <div class="plan-bottomBox">
      <div class="tables">
        <el-table
          :data="tableData"
          :border="false"
          :height="505"
          v-loading="loading"
          tooltip-effect="light"
          :row-class-name="tableRowClassName"
          :cell-style="cellStyle"
        >
          <el-table-column
            label="序号"
            type="index"
            header-align="center"
            width="70"
          >
          </el-table-column>
          <el-table-column prop="name" label="参与活动" width="280">
            <!-- <template slot-scope="scope">
              <div class="activity">
                <div>{{ scope.row.content.split(' ')[0] }}</div>
                <div>{{ scope.row.content.split(' ')[1] }}</div>
              </div>
            </template> -->
          </el-table-column>
          <el-table-column
            prop="uid"
            label="参与人员"
            show-overflow-tooltip
            width="180"
          >
          </el-table-column>
          <el-table-column prop="activityTime" label="服务活动时长">
            <template slot-scope="scope">
              <div>{{ scope.row.activityTime.split(" ")[0] }}</div>
            </template>
          </el-table-column>
          <el-table-column prop="activityTime" label="参与时间">
          </el-table-column>
          <el-table-column label="操作" width="250">
            <template slot-scope="scope">
              <div class="tabs-btns">
                <div class="look" @click="look(scope.row)">
                  <!-- <img src="@/assets/images/look.png" alt=""> -->
                  <span>查看</span>
                </div>
                <div class="score">
                  评估评分：<span
                    class="span"
                    :class="Number(scope.row.points) < 60 ? 'pass' : ''"
                    >{{ scope.row.points }}</span
                  >
                </div>
              </div>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <div class="pagination">
        <my-pagination
          :total="total"
          @pagesChange="pagesChange"
        ></my-pagination>
      </div>
    </div>
    <my-dialog ref="conversion" width="45%">
      <el-descriptions class="margin-top" :column="2" border>
        <el-descriptions-item label="活动名称">{{
          descriptions.name
        }}</el-descriptions-item>
        <el-descriptions-item label="活动时间">{{
          descriptions.activityTime
        }}</el-descriptions-item>
        <el-descriptions-item label="活动举办方">{{
          descriptions.publisher
        }}</el-descriptions-item>
        <el-descriptions-item label="积分">{{
          descriptions.points
        }}</el-descriptions-item>
      </el-descriptions>
    </my-dialog>
  </div>
</template>
<script>
import myPagination from "@/views/components/myPagination/index.vue";
import myInput from "@/views/components/myInput/index.vue";
import myDialog from "@/views/components/dialog/index.vue";
export default {
  components: { myPagination, myInput, myDialog },
  data() {
    return {
      tableData: [],
      input: {
        name: "",
      },
      pages: {
        pageSize: 10,
        pageNum: 1,
      },
      total: 0,
      loading: false,
      isClick: false,
      descriptions: {
        name: "",
        activityTime: "",
        publisher: "",
        points: "",
      },
    };
  },
  methods: {
    // 页码，当前页切换事件
    pagesChange(pages) {
      // console.log(pages)
      this.getList(pages);
    },
    // 输入框的值
    changeInput(value) {
      this.input.name = value;
      this.isClick = true;
      this.pages = {
        pageNum: 1,
        pageSize: 10,
      };
      this.getList();
    },
    // 监听输入框是否清空
    changeValue(value) {
      if (this.isClick && value == "") {
        this.input.name = "";
        this.pages = {
          pageNum: 1,
          pageSize: 10,
        };
        this.getList();
        this.isClick = false;
      }
    },
    // tabs不同行给不同class
    tableRowClassName({ row, rowIndex }) {
      if (rowIndex % 2 !== 0) {
        return "success-row";
      }
      return "";
    },
    // 单元格的 style 的回调方法
    cellStyle({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 0) {
        return `text-align:center`;
      } else {
        return "";
      }
    },
    // 查看详情页
    async look(row) {
      this.$refs.conversion.open();
      let data = await this.$api.jifenhuoqu.selectall({ id: row.id });
      let { name, activityTime, publisher, points } = data.data.list[0];
      this.descriptions = {
        name,
        activityTime,
        publisher,
        points,
      };
      console.log(data);
    },
    // 积分获取列表
    async getList() {
      this.loading = true;
      let obj = { ...this.pages, ...this.input };
      let data = await this.$api.jifenhuoqu.selectall(obj);
      if (data.code == 200) {
        this.loading = false;
        this.tableData = data.data.list;
        this.total = data.data.total;
      }
    },
  },
  mounted() {
    this.getList();
  },
};
</script>
<style lang="scss" scoped>
.plan-management {
  padding: 0 20px 10px 20px;
  background-color: #fff;
  height: 100%;
  width: 100%;
  border-radius: 10px 10px 0 0;
  box-shadow: 0px 0px 15px 0px rgba(229, 212, 212, 0.58);
  .plan-topBox {
    padding: 30px 0 0 0;
  }
  .plan-bottomBox {
    margin-top: 20px;
    .tables {
      ::v-deep .el-table {
        .success-row {
          background-color: rgba(250, 247, 247, 0.5);
        }
        .activity {
          div {
            text-align: left;
            line-height: 20px;
            &:nth-child(1) {
              font-size: 14px;
              font-family: "Alibaba PuHuiTi";
              font-weight: 400;
              color: #4d4949;
            }
            &:nth-child(2) {
              width: 180px;
              font-size: 14px;
              font-family: "Alibaba PuHuiTi";
              font-weight: 400;
              color: #999191;
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
            }
          }
        }
        td {
          height: 42px;
          box-sizing: border-box;
          // text-align: center;
          font-size: 14px;
          font-family: "Alibaba PuHuiTi";
          font-weight: 400;
          color: #525966;
          padding: 2px 0;
        }
        th {
          height: 45px;
          background-color: #f7f5f5;
          font-size: 15px;
          font-family: "Alibaba PuHuiTi";
          font-weight: bold;
          color: #4d4949;
          .el-checkbox {
            display: none;
          }
        }
      }
      ::v-deep .el-table::before {
        height: 0;
      }
      .tabs-btns {
        display: flex;
        align-items: center;
        // justify-content: center;
        .look {
          display: flex;
          // align-items: center;
          margin-right: 30px;
          cursor: pointer;
          img {
            width: 20px;
            margin-right: 5px;
          }
          span {
            font-size: 15px;
            font-family: Alibaba PuHuiTi;
            font-weight: 400;
            color: #045ffd;
          }
        }
        .score {
          .span {
            color: #2aa984;
          }
          .pass {
            color: #f38447;
          }
        }
      }
    }
    .pagination {
      // margin-top: 10px;
    }
  }
}
</style>
