| | |
| | | ]); |
| | | |
| | | const fileList = ref([]); |
| | | const getTrainingState = row => Number(row?.state); |
| | | const isNotStartedTraining = row => getTrainingState(row) === 0; |
| | | const isInProgressTraining = row => getTrainingState(row) === 1; |
| | | const isEndedTraining = row => getTrainingState(row) === 2; |
| | | const hasKnownTrainingState = row => [0, 1, 2].includes(getTrainingState(row)); |
| | | |
| | | // 表格列配置 |
| | | const tableColumn = ref([ |
| | |
| | | label: "操作", |
| | | align: "center", |
| | | fixed: "right", |
| | | width: 300, |
| | | width: 220, |
| | | operation: [ |
| | | { |
| | | name: "签到", |
| | | type: "text", |
| | | disabled: row => row.state !== 1, |
| | | show: isInProgressTraining, |
| | | clickFun: row => { |
| | | signIn(row); |
| | | }, |
| | |
| | | { |
| | | name: "编辑", |
| | | type: "text", |
| | | disabled: row => row.state !== 0, |
| | | show: isNotStartedTraining, |
| | | clickFun: row => { |
| | | openForm("edit", row); |
| | | }, |
| | |
| | | { |
| | | name: "导出", |
| | | type: "text", |
| | | show: isEndedTraining, |
| | | clickFun: row => { |
| | | exportKnowledge(row); |
| | | }, |
| | |
| | | { |
| | | name: "附件", |
| | | type: "text", |
| | | show: hasKnownTrainingState, |
| | | clickFun: row => { |
| | | openFileDialog(row); |
| | | }, |
| | |
| | | { |
| | | name: "结果明细", |
| | | type: "text", |
| | | disabled: row => row.state == 0, |
| | | show: isEndedTraining, |
| | | clickFun: row => { |
| | | viewResultDetail(row); |
| | | }, |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .search_form { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | gap: 14px 18px; |
| | | min-height: 44px; |
| | | margin-bottom: 18px; |
| | | padding-bottom: 10px; |
| | | } |
| | | |
| | | .search_form > div { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | gap: 10px; |
| | | } |
| | | |
| | | .search_title { |
| | | margin-right: 4px; |
| | | font-weight: 600; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .table_list { |
| | | padding-top: 4px; |
| | | } |
| | | |
| | | :deep(.el-tabs__header) { |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | | .auto-refresh-info { |
| | | margin-bottom: 15px; |
| | | } |