<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="120px"
    >
      <el-form-item label="用户名称" prop="UserName">
        <el-input
          v-model="queryParams.UserName"
          placeholder="请输入用户名称"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>

      <el-form-item label="身份证" prop="UserCord">
        <el-input
          v-model="queryParams.UserCord"
          placeholder="请输入身份证"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="期次（年）" prop="QiciYear">
        <el-date-picker
          format="yyyy"
          value-format="yyyy"
          v-model="queryParams.QiciYear"
          type="year"
          placeholder="请选择期次（年）"
        >
        </el-date-picker>
        <span style="display: inline-block; margin: 0 10px 0 15px">-</span>
      </el-form-item>
      <el-form-item prop="QiCi">
        <el-input
          v-model="queryParams.QiCi"
          style="width: 150px"
          placeholder="期次"
          type="number"
        ></el-input>
      </el-form-item>
      <el-form-item label="订单号" prop="ZNum">
        <el-input
          v-model="queryParams.ZNum"
          placeholder="请输入订单号"
          clearable
        />
      </el-form-item>
      <el-form-item label="交易号" prop="transactionId">
        <el-input
          v-model="queryParams.transactionId"
          placeholder="请输入交易号"
          clearable
        />
      </el-form-item>

      <el-form-item>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
      </el-form-item>
    </el-form>

    <el-table v-loading="loading" :data="personList">
      <el-table-column label="序号" align="center">
        <template slot-scope="scope">
          <span>{{ handleTableIndex(scope.$index, queryParams) }}</span>
        </template>
      </el-table-column>
      <el-table-column label="期次" align="center" prop="QiciYear" width="200">
        <template slot-scope="scope">
          <span>{{ scope.row.QiciYear }}年{{ `第${scope.row.QiCi}期` }}</span>
        </template>
      </el-table-column>
      <el-table-column label="姓名" align="center" prop="UserName" />
      <el-table-column label="性别" align="center" prop="UserSex" />
      <el-table-column
        label="身份证号"
        align="center"
        prop="UserCord"
        width="200"
      />
      <el-table-column label="培训类别" align="center" prop="" width="150">
        <template>
          <span>监理工程师</span>
        </template>
      </el-table-column>
      <el-table-column
        label="证书编号"
        align="center"
        prop="zgzsh"
        width="200"
      />
      <el-table-column
        label="执业单位"
        align="center"
        prop="DeptName"
        width="230"
      />
      <el-table-column
        label="证书有效期至"
        align="center"
        prop="Yxqz"
        width="200"
      />
      <el-table-column
        label="报名时间"
        align="center"
        prop="AddDate"
        width="150"
      />
      <el-table-column
        label="交费时间"
        align="center"
        prop="FeeShenheTime"
        width="150"
      />
      <el-table-column label="考试截止" align="center" width="300">
        <el-table-column label="日期" prop="yjdz" align="center" width="150">
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.ksjzTime, "{y}-{m}-{d}") }}</span>
          </template>
        </el-table-column>
        <el-table-column label="设置" prop="yjdz" align="center" width="80">
          <template slot-scope="scope">
            <el-button
              @click="
                examDia = true;
                activeExam = scope.row;
              "
              style="margin-left: 10px"
              size="mini"
              type="text"
              >[ 设置 ]</el-button
            ></template
          >
        </el-table-column>
      </el-table-column>
      <el-table-column label="收费状态" align="center">
        <template slot-scope="scope">
          <el-tag :type="scope.row.FeeFlg == 0 ? 'danger' : 'success'">{{
            scope.row.FeeFlg == 0 ? "未收费" : "已收费"
          }}</el-tag>
        </template>
      </el-table-column>
      <el-table-column label="订单号" align="center" prop="ZNum" width="200" />
      <el-table-column
        label="交易号"
        align="center"
        prop="transactionId"
        width="200"
      />
      <el-table-column
        fixed="right"
        label="交费总额"
        align="center"
        prop="totalFee"
      />
    </el-table>

    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />

    <el-dialog
      title="考试截止日期设置"
      :visible.sync="examDia"
      width="350px"
      :before-close="
        () => {
          examDia = false;
        }
      "
    >
      <el-date-picker
        format="yyyy-MM-dd"
        value-format="yyyy-MM-dd"
        style="width: 100%"
        v-model="activeExam.ksjzTime"
        type="datetime"
        placeholder="选择日期时间"
      >
      </el-date-picker>
      <span slot="footer" class="dialog-footer">
        <el-button @click="examDia = false">取 消</el-button>
        <el-button type="primary" @click="handleExamDate">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
import { listPerson, settingExamDate } from "@/api/xiehui/jxjy/onpayment";
import { handleTableIndex } from "@/utils/index";
export default {
  name: "Person",
  data() {
    return {
      examDia: false,
      activeExam: {},
      // 遮罩层
      loading: true,
      // 选中数组
      ids: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // VIEW表格数据
      personList: [],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        FeeFlg: 1,
        // orderByColumn: "PersonId",
        // isAsc: "desc",
      },
    };
  },
  created() {
    this.getList();
  },
  methods: {
    //考试截止日期设置
    handleExamDate(row) {
      settingExamDate({
        PersonId: this.activeExam.PersonId,
        ksjzTime: this.activeExam.ksjzTime,
      }).then((res) => {
        this.$message({
          type: "success",
          message: "修改成功",
        });
        this.examDia = false;
        this.getList();
      });
    },
    handleTableIndex,
    /** 查询VIEW列表 */
    getList() {
      this.loading = true;
      listPerson(this.queryParams).then((response) => {
        this.personList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },

    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryForm");
      this.handleQuery();
    },

    /** 导出按钮操作 */
    handleExport() {
      this.download(
        "system/person/export",
        {
          ...this.queryParams,
        },
        `person_${new Date().getTime()}.xlsx`
      );
    },
  },
};
</script>
