<template>
  <div>
    <div class="jeecg-basic-table-form-container">
      <a-form @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
        <a-row :gutter="24">
          <a-col :span="24">
            <a-button type="primary" @click="handleZgtpf">主观题评分</a-button>
          </a-col>
          <a-col :lg="6">
            <a-form-item label="学生姓名">
              <a-input placeholder="请输入学生姓名" v-model:value="queryParam.userName"></a-input>
            </a-form-item>
          </a-col>
          <a-col :lg="6">
            <a-form-item label="学生学号">
              <a-input placeholder="请输入学生学号" v-model:value="queryParam.userId"></a-input>
            </a-form-item>
          </a-col>
          <a-col :lg="6">
            <a-form-item label="状态">
              <a-select placeholder="请选择" v-model:value="queryParam.isFinished">
                <a-select-option value="">全部</a-select-option>
                <a-select-option value="0">未完成</a-select-option>
                <a-select-option value="1">已完成</a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
              <a-col :lg="6">
                <a-button type="primary" preIcon="ant-design:search-outlined" @click="reload">查询</a-button>
                <a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls" style="margin-left: 8px"> 导出</a-button>
                <!-- <a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button> -->
              </a-col>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!--引用表格-->
    <BasicTable @register="registerTable">
      <!--操作栏-->
      <template #action="{ record }">
        <TableAction :actions="getTableAction(record)" />
      </template>
    </BasicTable>
    <!-- 表单区域 -->
    <WjxWjxxTmlbDjjgModal ref="WjxWjxxTmlbDjjgModalPage" @success="reload"></WjxWjxxTmlbDjjgModal>
    <ZgtpfModal ref="ZgtpfModalPage" @success="reload"></ZgtpfModal>
  </div>
</template>

<script lang="ts" name="wjxWjxx-wjxWjxx" setup>
import { ref, reactive, defineExpose, unref } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { defHttp } from '/@/utils/http/axios';
import { useListPage } from '/@/hooks/system/useListPage';
import { columns } from './WjxWjxxTmlbDjjgs.data';
import { list, getExportUrl } from './WjxWjxxTmlbDjjgs.api';
import WjxWjxxTmlbDjjgModal from '/@/views/kc/wjxWjxx/components/WjxWjxxTmlbDjjgModal.vue';
import ZgtpfModal from '/@/views/kc/wjxWjxx/components/ZgtpfModal.vue';

const queryParam = ref<any>({});
const isFinished = ref<string>('');
const toggleSearchStatus = ref<boolean>(false);
const WjxWjxxTmlbDjjgModalPage = ref();
const ZgtpfModalPage = ref();
const sjxxInfo = ref<any>({});
//注册table数据
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
  tableProps: {
    title: '',
    api: list,
    columns,
    canResize: false,
    useSearchForm: false,
    actionColumn: {
      width: 220,
      fixed: 'right',
    },
    beforeFetch: (params) => {
      (params.column = ''), (params.order = ''); //新生成的默认不带排序
      return Object.assign(params, queryParam.value);
    },
  },
  exportConfig: {
    name: '学生测验信息',
    url: getExportUrl,
    params: () => {
      return Object.assign({}, queryParam.value);
    },
  },
});
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] =
  tableContext;
const labelCol = reactive({
  xs: { span: 24 },
  sm: { span: 7 },
});
const wrapperCol = reactive({
  xs: { span: 24 },
  sm: { span: 16 },
});

/**
 * 答卷详情
 */
function handlePeizhiDjjg(record: Recordable) {
  WjxWjxxTmlbDjjgModalPage.value.disableSubmit = true;
  WjxWjxxTmlbDjjgModalPage.value.edit(record.id, false);
}

function handleZgypf(record: Recordable) {
  ZgtpfModalPage.value.disableSubmit = true;
  ZgtpfModalPage.value.edit(record, false);
}

function handleZgtpf() {
  console.log('👩‍🦰', sjxxInfo);
  console.log('👩‍🦰', sjxxInfo.value.vid);
  ZgtpfModalPage.value.disableSubmit = true;
  ZgtpfModalPage.value.edit({vid:sjxxInfo.value.vid}, false);
}

function handleHqjg(record){
  console.log(record);
  defHttp.post({url:'/wjxDjxx/updateDjjg',params:record}).then(res=>{
    console.log('-->',res)
  })
}

/**
 * 操作栏
 */
function getTableAction(record) {
  if (record.commitTime != null && record.commitTime != '') {
    return [
      {
        label: '答卷结果',
        onClick: handlePeizhiDjjg.bind(null, record),
      },
      // {
      //   label: '获取结果',
      //   onClick: handleHqjg.bind(null, record),
      // },
      {
        label: '主观题评分',
        onClick: handleZgypf.bind(null, record),
        ifShow: record.sfxysdpy == 1,
      },
    ];
  } else {
    return [];
  }
}

function init(record, flag) {
  console.log('👨‍🦲', record);
  sjxxInfo.value = record;
  queryParam.value.id = record.id;
  queryParam.value.rwbh = record.rwbh;
  queryParam.value.isFinished = flag;
  isFinished.value = flag;
  reload();
}

defineExpose({
  init,
});
</script>

<style lang="less" scoped>
.jeecg-basic-table-form-container {
  .table-page-search-submitButtons {
    display: block;
    margin-bottom: 24px;
    white-space: nowrap;
  }
  .query-group-cust {
    width: calc(50% - 15px);
    min-width: 100px !important;
  }
  .query-group-split-cust {
    width: 30px;
    display: inline-block;
    text-align: center;
  }
}
</style>
