提交 7714f3fd authored 作者: 王鹏飞's avatar 王鹏飞

chore: 实验新增删除功能

上级 5184ad71
......@@ -176,3 +176,8 @@ export function getScoreExamList(params: { experiment_id: string }) {
export function copyExperiment(data: { experiment_id: string }) {
return httpRequest.post('/api/resource/v1/backend/experiment/copy', data)
}
// 删除实验
export function deleteExperiment(data: { experiment_id: string }) {
return httpRequest.post('/api/resource/v1/backend/experiment/delete', data)
}
<script setup lang="ts">
import type { ExperimentItem } from '../types'
import { CirclePlus } from '@element-plus/icons-vue'
import { CirclePlus, MoreFilled, CopyDocument, Delete, Setting, Edit, EditPen } from '@element-plus/icons-vue'
import AppList from '@/components/base/AppList.vue'
import { getExperimentList, copyExperiment } from '../api'
import { getExperimentList, copyExperiment, deleteExperiment } from '../api'
import { useGetCourseList } from '../composables/useGetCourseList'
import { useGetCourseExperimentList } from '../composables/useGetCourseExperimentList'
import { useMapStore } from '@/stores/map'
import { ElMessage } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
const FormDialog = defineAsyncComponent(() => import('../components/FormDialog.vue'))
const GradeRulesDialog = defineAsyncComponent(() => import('../components/GradeRulesDialog.vue'))
......@@ -94,7 +94,7 @@ const listOptions = $computed(() => {
{ label: '生效状态', prop: 'status_name' },
{ label: '更新人', prop: 'updated_operator_name' },
{ label: '更新时间', prop: 'updated_time' },
{ label: '操作', slots: 'table-x', width: 200 }
{ label: '操作', slots: 'table-x', width: 220 }
]
}
})
......@@ -129,12 +129,20 @@ function handleUpdateDML(row: ExperimentItem) {
rowData.value = row
dmlDialogVisible = true
}
// 复制
async function handleCopy(row: ExperimentItem) {
await copyExperiment({ experiment_id: row.id })
ElMessage.success('复制成功')
appList?.refetch()
}
// 删除
async function handleDelete(row: ExperimentItem) {
ElMessageBox.confirm('确定要删除该实验吗?', '提示').then(async () => {
await deleteExperiment({ experiment_id: row.id })
ElMessage.success('删除成功')
appList?.refetch()
})
}
</script>
<template>
......@@ -145,7 +153,32 @@ async function handleCopy(row: ExperimentItem) {
</template>
<template #table-x="{ row }: { row: ExperimentItem }">
<template v-if="row.type === '4'">
<el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<router-link :to="`/admin/lab/experiment/${row.id}`" target="_blank">查看</router-link>
</el-button>
<el-button type="primary" round @click="handleUpdate(row)" v-permission="'v1-backend-experiment-update'">编辑</el-button>
<el-dropdown style="margin-left: 12px">
<el-button type="primary" round :icon="MoreFilled"></el-button>
<template #dropdown>
<el-dropdown-menu>
<!-- <el-dropdown-item>
<router-link :to="`/admin/lab/experiment/${row.id}`" target="_blank">查看</router-link>
</el-dropdown-item>
<el-dropdown-item @click="handleUpdate(row)">编辑</el-dropdown-item> -->
<el-dropdown-item :icon="Setting" @click="handleUpdateDML(row)" v-if="row.type === '4'">配置数字营销</el-dropdown-item>
<template v-if="!row.stu_commit_count">
<el-dropdown-item :icon="Edit" @click="handleUpdateGradeRules(row)"> 编辑成绩规则</el-dropdown-item>
<el-dropdown-item :icon="EditPen">
<router-link :to="`/admin/lab/experiment/report/${row.id}`" target="_blank">编辑报告规则</router-link>
</el-dropdown-item>
</template>
<el-dropdown-item :icon="CopyDocument" @click="handleCopy(row)">复制</el-dropdown-item>
<el-dropdown-item :icon="Delete" @click="handleDelete(row)">删除</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<!-- <template v-if="row.type === '4'">
<el-button
type="primary"
round
......@@ -172,11 +205,11 @@ async function handleCopy(row: ExperimentItem) {
<el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<router-link :to="`/admin/lab/experiment/${row.id}`" target="_blank">查看</router-link>
</el-button>
<!-- <el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<router-link :to="`/admin/lab/experiment/${row.id}`" target="_blank">关联班级与分组</router-link>
</el-button> -->
<el-button type="primary" round @click="handleUpdate(row)" v-permission="'v1-backend-experiment-update'">编辑</el-button>
<el-button type="primary" round @click="handleCopy(row)" style="margin-top: 12px">复制</el-button>
<div style="margin-top: 12px">
<el-button type="primary" round @click="handleCopy(row)">复制</el-button>
<el-button type="primary" round @click="handleDelete(row)">删除</el-button>
</div> -->
</template>
</AppList>
</AppCard>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论