提交 0c0f4867 authored 作者: lihuihui's avatar lihuihui

教案开发

上级 b39cd786
......@@ -2,10 +2,13 @@ import { getProjectList } from '@/api/base'
export function useProjectList(id?: string) {
const list = ref([])
onMounted(() => {
getProjectList({ organization_id: id || '' }).then((res: any) => {
list.value = res.data.departments
})
const members = ref([])
// onMounted(() => {
getProjectList({ organization_id: id || '' }).then((res: any) => {
list.value = res.data.departments
console.log(res.data, 'res.data')
members.value = res.data.members
})
return { list }
// })
return { list, members }
}
\ No newline at end of file
......@@ -101,16 +101,16 @@ const form = reactive({
members: ''
})
const dialogFormVisible = ref(false)
// 人员列表
let members: any = ref([])
const getMembers = () => {
members.value = useProjectList(props.data.organ_id)
}
// 点击更改负责人按钮弹窗
const handleMembers = () => {
getMembers()
dialogFormVisible.value = true
members.value = useProjectList(props.data.organ_id).members
}
// 更改负责人确定
const handlesetBelong = () => {
setBelong({ id: id, belong_operator: form.members }).then((res: any) => {
......@@ -169,7 +169,7 @@ const handlesetBelong = () => {
</el-row>
</div>
<el-select style="width: 500px; margin-top: 20px" v-model="form.members" placeholder="请选择新的资源负责人">
<el-option v-for="item in members" :label="item.name" :value="item.id" :key="item.id" />
<el-option v-for="item in members.value" :label="item.name" :value="item.id" :key="item.id" />
</el-select>
</el-form-item>
</el-form>
......
......@@ -17,13 +17,28 @@ export function createLessonPlan(data: {
name: string
source: string
classification: string
knowledge_points: string
knowledge_points?: string
url: string
type: string
size: string
}) {
return httpRequest.post('/api/resource/v1/resource/lesson-plan/create', data)
}
// 更新教案
export function updateLessonPlan(data: {
id: string,
name: string
source: string
classification: string
knowledge_points?: string
url: string
type: string
size: string
}) {
return httpRequest.post('/api/resource/v1/resource/lesson-plan/update', data)
}
// 获取教案详情
export function getLessonDetails(params: { id: string }) {
return httpRequest.get('/api/resource/v1/resource/lesson-plan/view', { params })
......@@ -46,4 +61,4 @@ export function setStatus(data: { id: string }) {
// 更改负责人
export function setBelong(data: { id: string; belong_operator: string }) {
return httpRequest.post('/api/resource/v1/resource/lesson-plan/set-belong', data)
}
}
\ No newline at end of file
......@@ -100,16 +100,16 @@ const form = reactive({
members: ''
})
const dialogFormVisible = ref(false)
// 人员列表
let members: any = ref([])
const getMembers = () => {
members.value = useProjectList(props.data.organ_id)
}
// 点击更改负责人按钮弹窗
const handleMembers = () => {
getMembers()
dialogFormVisible.value = true
members.value = useProjectList(props.data.organ_id).members
}
// 更改负责人确定
const handlesetBelong = () => {
setBelong({ id: id, belong_operator: form.members }).then((res: any) => {
......@@ -165,7 +165,7 @@ const handlesetBelong = () => {
</el-row>
</div>
<el-select style="width: 500px; margin-top: 20px" v-model="form.members" placeholder="请选择新的资源负责人">
<el-option v-for="item in members" :label="item.name" :value="item.id" :key="item.id" />
<el-option v-for="item in members.value" :label="item.name" :value="item.id" :key="item.id" />
</el-select>
</el-form-item>
</el-form>
......
......@@ -92,7 +92,7 @@ const listOptions = $computed(() => {
<router-link :to="`/resource/lessonplan/update/?id=${row.id}`">
<el-button plain>编辑</el-button>
</router-link>
<router-link :to="`/resource/lessonplan/view/?id=${row.id}`">
<router-link :to="`/resource/lessonplan/view?id=${row.id}`">
<el-button type="primary" plain>查看</el-button>
</router-link>
</el-space>
......
......@@ -2,12 +2,15 @@
import AppUpload from '@/components/base/AppUpload.vue'
import type { FormInstance } from 'element-plus'
import { ElMessage } from 'element-plus'
import { createLessonPlan } from '../api'
import { createLessonPlan, getLessonDetails, updateLessonPlan } from '../api'
import { useGetCategoryList } from '@/composables/useGetCategoryList'
import Operation from '../components/Operation.vue'
// 路由
const router = useRouter()
const id = router.currentRoute.value.query.id as string
// 下拉选择tree 视频分类
let { list: selectTree } = useGetCategoryList()
const defaultProps = {
......@@ -52,17 +55,18 @@ const submitForm = async (formEl: FormInstance | undefined) => {
const params = Object.assign({}, form)
delete params.file
if (id !== '' && id) {
// const params = Object.assign({ id: id }, form)
// updateVideo(params).then((res: any) => {
// if (res.code === 0) {
// ElMessage({ message: '更新成功', type: 'success' })
// setTimeout(() => {
// router.push({
// path: '/resource/video'
// })
// }, 1000)
// }
// })
params.id = id
console.log(params, 'paramsparams')
updateLessonPlan(params).then((res: any) => {
if (res.code === 0) {
ElMessage({ message: '更新成功', type: 'success' })
setTimeout(() => {
router.push({
path: '/resource/lessonplan'
})
}, 1000)
}
})
} else {
createLessonPlan(params).then((res: any) => {
if (res.code === 0) {
......@@ -83,16 +87,68 @@ const submitForm = async (formEl: FormInstance | undefined) => {
}
// 协议
const protocol = ref(false)
// 判断编辑还是新建
const statusData = reactive<{
department_public: string
platform_public: string
status: string
organ_id_name: string
organ_id: string
created_operator_name: string
belong_operator_name: string
created_time: string
updated_time: string
}>({
department_public: '0',
platform_public: '0',
status: '0',
organ_id_name: '',
organ_id: '',
created_operator_name: '',
belong_operator_name: '',
created_time: '',
updated_time: ''
})
if (id !== '' && id) {
getLessonDetails({ id: id }).then(res => {
const key = ['name', 'classification', 'knowledge_points', 'url', 'size', 'type']
key.forEach(item => {
form[item] = res.data[item]
})
form.file = [
{
name: res.data.name,
url: res.data.url
}
]
const {
department_public,
platform_public,
status,
organ_id_name,
organ_id,
created_operator_name,
belong_operator_name,
created_time,
updated_time
} = res.data
statusData.department_public = department_public
statusData.platform_public = platform_public
statusData.status = status
statusData.organ_id_name = organ_id_name
statusData.organ_id = organ_id
statusData.created_operator_name = created_operator_name
statusData.belong_operator_name = belong_operator_name
statusData.created_time = created_time
statusData.updated_time = updated_time
})
}
</script>
<template>
<AppCard title="新建教案资源">
<div class="tool-btn-box" v-if="$route.query.id">
<div class="btn-item">部门共享</div>
<div class="btn-item">平台共享</div>
<div class="btn-item">资源下线</div>
<div class="btn-item">更改负责人</div>
</div>
<Operation :data="statusData" style="margin-bottom: 20px"></Operation>
<el-form ref="ruleFormRef" :model="form" :rules="rules" style="width: 70%">
<el-form-item label="教案文件:" prop="file">
<div>
......
......@@ -100,16 +100,16 @@ const form = reactive({
members: ''
})
const dialogFormVisible = ref(false)
// 人员列表
let members: any = ref([])
const getMembers = () => {
members.value = useProjectList(props.data.organ_id)
}
// 点击更改负责人按钮弹窗
const handleMembers = () => {
getMembers()
dialogFormVisible.value = true
members.value = useProjectList(props.data.organ_id).members
}
// 更改负责人确定
const handlesetBelong = () => {
setBelong({ id: id, belong_operator: form.members }).then((res: any) => {
......@@ -168,7 +168,7 @@ const handlesetBelong = () => {
</el-row>
</div>
<el-select style="width: 500px; margin-top: 20px" v-model="form.members" placeholder="请选择新的资源负责人">
<el-option v-for="item in members" :label="item.name" :value="item.id" :key="item.id" />
<el-option v-for="item in members.value" :label="item.name" :value="item.id" :key="item.id" />
</el-select>
</el-form-item>
</el-form>
......
......@@ -104,14 +104,11 @@ const dialogFormVisible = ref(false)
// 人员列表
let members: any = ref([])
const getMembers = () => {
members.value = useProjectList(props.data.organ_id)
}
// 点击更改负责人按钮弹窗
const handleMembers = () => {
getMembers()
dialogFormVisible.value = true
members.value = useProjectList(props.data.organ_id).members
}
// 更改负责人确定
const handlesetBelong = () => {
......@@ -171,7 +168,7 @@ const handlesetBelong = () => {
</el-row>
</div>
<el-select style="width: 500px; margin-top: 20px" v-model="form.members" placeholder="请选择新的资源负责人">
<el-option v-for="item in members" :label="item.name" :value="item.id" :key="item.id" />
<el-option v-for="item in members.value" :label="item.name" :value="item.id" :key="item.id" />
</el-select>
</el-form-item>
</el-form>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论