提交 5a7cfffb authored 作者: lihuihui's avatar lihuihui

添加权限

上级 4b374cd5
<script setup lang="ts">
import { Files } from '@element-plus/icons-vue'
const props: any = defineProps<{ data: object, path: string }>()
const props: any = defineProps<{ data: object, path: string, permission?: { edit: string, view: string } }>()
</script>
<template>
<div class="card-item">
......@@ -18,10 +19,10 @@ const props: any = defineProps<{ data: object, path: string }>()
<Files />
</el-icon>
<div class="tool-pop-btn">
<router-link :to="`${props.path}/update?id=${props.data.id}`">
<router-link v-permission="props.permission.edit" :to="`${props.path}/update?id=${props.data.id}`">
<div class="edit-btn">编辑</div>
</router-link>
<router-link :to="`${props.path}/view?id=${props.data.id}`">
<router-link v-permission="props.permission.view" :to="`${props.path}/view?id=${props.data.id}`">
<div class="view-btn">查看</div>
</router-link>
</div>
......
......@@ -124,21 +124,18 @@ const handlesetBelong = () => {
<template>
<div class="tool-btn-box" v-if="$route.query.id" style="margin-bottom: 20px">
<template v-if="path === '/resource/courseware/view'">
<router-link :to="`/resource/courseware/update?id=${id}`">
<router-link v-permission="'v1-resource-courseware-update'" :to="`/resource/courseware/update?id=${id}`">
<div class="btn-item">编辑课件信息</div>
</router-link>
<!-- <router-link :to="`/resource/video/edit-courseware?id=${id}`">
<div class="btn-item">编辑视频课件</div>
</router-link> -->
</template>
<div class="btn-item" @click="handleDepartment">
<div v-permission="'v1-resource-courseware-set-department'" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div class="btn-item" @click="handlePlatform">
<div v-permission="'v1-resource-courseware-set-platform'" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div class="btn-item" @click="handleStatus">{{ props.data.status == 0 ? '资源上线' : '资源下线' }}</div>
<div class="btn-item" @click="handleMembers">更改负责人</div>
<div v-permission="'v1-resource-courseware-set-status'" class="btn-item" @click="handleStatus">{{ props.data.status == 0 ? '资源上线' : '资源下线' }}</div>
<div v-permission="'v1-resource-courseware-set-belong'" class="btn-item" @click="handleMembers">更改负责人</div>
</div>
<el-dialog v-model="dialogFormVisible" title="更改负责人" center>
<el-form :model="form">
......
......@@ -71,7 +71,7 @@ const listOptions = $computed(() => {
<el-icon class="video-head-icon" @click="isCard = !isCard"><Expand /></el-icon>
</div>
<div class="video-tool-btn">
<router-link to="/resource/courseware/update">
<router-link v-permission="'v1-resource-courseware-create'" to="/resource/courseware/update">
<el-button type="primary" round>新建课件资源</el-button>
</router-link>
</div>
......@@ -82,10 +82,10 @@ const listOptions = $computed(() => {
</template>
<template #table-operate="{ row }">
<el-space>
<router-link :to="`/resource/courseware/update/?id=${row.id}`">
<router-link v-permission="'v1-resource-courseware-update'" :to="`/resource/courseware/update/?id=${row.id}`">
<el-button plain>编辑</el-button>
</router-link>
<router-link :to="`/resource/courseware/view/?id=${row.id}`">
<router-link v-permission="'v1-resource-courseware-view'" :to="`/resource/courseware/view/?id=${row.id}`">
<el-button type="primary" plain>查看</el-button>
</router-link>
</el-space>
......@@ -94,7 +94,7 @@ const listOptions = $computed(() => {
<!-- 卡片 -->
<template #body="{ data }" v-if="isCard">
<div class="card-list" v-if="data.length">
<CardListItem path="/resource/courseware" v-for="(item, index) in data" :data="item" :key="index"></CardListItem>
<CardListItem :permission="{ edit: 'v1-resource-courseware-update', view: 'v1-resource-courseware-view' }" path="/resource/courseware" v-for="(item, index) in data" :data="item" :key="index"></CardListItem>
</div>
<el-empty v-else description="暂无数据" />
</template>
......
......@@ -124,18 +124,18 @@ const handlesetBelong = () => {
<template>
<div class="tool-btn-box" v-if="$route.query.id" style="margin-bottom: 20px">
<template v-if="path === '/resource/lessonplan/view'">
<router-link :to="`/resource/lessonplan/update?id=${id}`">
<router-link v-permission="'v1-resource-lesson-plan-update'" :to="`/resource/lessonplan/update?id=${id}`">
<div class="btn-item">编辑教案信息</div>
</router-link>
</template>
<div class="btn-item" @click="handleDepartment">
<div v-permission="'v1-resource-lesson-plan-set-department'" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div class="btn-item" @click="handlePlatform">
<div v-permission="'v1-resource-lesson-plan-set-platform'" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div class="btn-item" @click="handleStatus">{{ props.data.status == 0 ? '资源上线' : '资源下线' }}</div>
<div class="btn-item" @click="handleMembers">更改负责人</div>
<div v-permission="'v1-resource-lesson-plan-set-status'" class="btn-item" @click="handleStatus">{{ props.data.status == 0 ? '资源上线' : '资源下线' }}</div>
<div v-permission="'v1-resource-lesson-plan-set-belong'" class="btn-item" @click="handleMembers">更改负责人</div>
</div>
<el-dialog v-model="dialogFormVisible" title="更改负责人" center>
<el-form :model="form">
......
......@@ -61,7 +61,6 @@ const listOptions = $computed(() => {
<template>
<AppCard>
<!-- <el-switch v-model="isCard"></el-switch> -->
<div class="video-head">
<el-tabs @tab-change="tabChange" v-model="tabValue">
<el-tab-pane label="我的资源"></el-tab-pane>
......@@ -71,7 +70,7 @@ const listOptions = $computed(() => {
<el-icon class="video-head-icon" @click="isCard = !isCard"><Expand /></el-icon>
</div>
<div class="video-tool-btn">
<router-link to="/resource/lessonplan/update">
<router-link v-permission="'v1-resource-lesson-plan-create'" to="/resource/lessonplan/update">
<el-button type="primary" round>新建教案资源</el-button>
</router-link>
</div>
......@@ -82,10 +81,10 @@ const listOptions = $computed(() => {
</template>
<template #table-operate="{ row }">
<el-space>
<router-link :to="`/resource/lessonplan/update/?id=${row.id}`">
<router-link v-permission="'v1-resource-lesson-plan-update'" :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 v-permission="'v1-resource-lesson-plan-view'" :to="`/resource/lessonplan/view?id=${row.id}`">
<el-button type="primary" plain>查看</el-button>
</router-link>
</el-space>
......@@ -94,7 +93,7 @@ const listOptions = $computed(() => {
<!-- 卡片 -->
<template #body="{ data }" v-if="isCard">
<div class="card-list" v-if="data.length">
<CardListItem path="/resource/lessonplan" v-for="(item, index) in data" :data="item" :key="index"></CardListItem>
<CardListItem :permission="{ edit: 'v1-resource-lesson-plan-update', view: 'v1-resource-lesson-plan-view' }" path="/resource/lessonplan" v-for="(item, index) in data" :data="item" :key="index"></CardListItem>
</div>
<el-empty v-else description="暂无数据" />
</template>
......
......@@ -126,21 +126,18 @@ const handlesetBelong = () => {
<template>
<div class="tool-btn-box" v-if="$route.query.id" style="margin-bottom: 20px">
<template v-if="path === '/resource/other/view'">
<router-link :to="`/resource/other/update?id=${id}`">
<router-link v-permission="'v1-resource-other-information-update'" :to="`/resource/other/update?id=${id}`">
<div class="btn-item">编辑其他资料信息</div>
</router-link>
<!-- <router-link :to="`/resource/video/edit-courseware?id=${id}`">
<div class="btn-item">编辑视频课件</div>
</router-link> -->
</template>
<div class="btn-item" @click="handleDepartment">
<div v-permission="'v1-resource-other-information-set-department'" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div class="btn-item" @click="handlePlatform">
<div v-permission="'v1-resource-other-information-set-platform'" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div class="btn-item" @click="handleStatus">{{ props.data.status == 0 ? '资源上线' : '资源下线' }}</div>
<div class="btn-item" @click="handleMembers">更改负责人</div>
<div v-permission="'v1-resource-other-information-set-status'" class="btn-item" @click="handleStatus">{{ props.data.status == 0 ? '资源上线' : '资源下线' }}</div>
<div v-permission="'v1-resource-other-information-set-belong'" class="btn-item" @click="handleMembers">更改负责人</div>
</div>
<el-dialog v-model="dialogFormVisible" title="更改负责人" center>
<el-form :model="form">
......
......@@ -79,8 +79,8 @@ const listOptions = $computed(() => {
<el-icon class="video-head-icon" @click="isCard = !isCard"><Expand /></el-icon>
</div>
<div class="video-tool-btn">
<router-link to="/resource/other/update">
<el-button type="primary" round>新建课件资源</el-button>
<router-link v-permission="'v1-resource-other-information-create'" to="/resource/other/update">
<el-button type="primary" round>新建其他资源</el-button>
</router-link>
</div>
<AppList v-bind="listOptions" ref="appList">
......@@ -90,10 +90,10 @@ const listOptions = $computed(() => {
</template>
<template #table-operate="{ row }">
<el-space>
<router-link :to="`/resource/other/update/?id=${row.id}`">
<router-link v-permission="'v1-resource-other-information-update'" :to="`/resource/other/update/?id=${row.id}`">
<el-button plain>编辑</el-button>
</router-link>
<router-link :to="`/resource/other/view/?id=${row.id}`">
<router-link v-permission="'v1-resource-other-information-view'" :to="`/resource/other/view/?id=${row.id}`">
<el-button type="primary" plain>查看</el-button>
</router-link>
</el-space>
......@@ -102,7 +102,7 @@ const listOptions = $computed(() => {
<!-- 卡片 -->
<template #body="{ data }" v-if="isCard">
<div class="card-list" v-if="data.length">
<CardListItem path="/resource/other" v-for="(item, index) in data" :data="item" :key="index"></CardListItem>
<CardListItem :permission="{ edit: 'v1-resource-other-information-update', view: 'v1-resource-other-information-view' }" path="/resource/other" v-for="(item, index) in data" :data="item" :key="index"></CardListItem>
</div>
<el-empty v-else description="暂无数据" />
</template>
......
......@@ -9,10 +9,10 @@ const props:any = defineProps<{ data: object }>()
<!-- <img :src="props.data.cover" /> -->
<div class="cover-img" :style="`background-image:url(${props.data.cover})`"></div>
<div class="tool-pop-btn">
<router-link :to="`/resource/video/update?id=${props.data.id}`">
<router-link v-permission="'v1-resource-video-update'" :to="`/resource/video/update?id=${props.data.id}`">
<div class="edit-btn">编辑</div>
</router-link>
<router-link :to="`/resource/video/view?id=${props.data.id}`">
<router-link v-permission="'v1-resource-video-view'" :to="`/resource/video/view?id=${props.data.id}`">
<div class="view-btn">查看</div>
</router-link>
</div>
......
......@@ -123,21 +123,23 @@ const handlesetBelong = () => {
<template>
<div class="tool-btn-box" v-if="$route.query.id" style="margin-bottom: 20px">
<template v-if="path === '/resource/video/view'">
<router-link :to="`/resource/video/update?id=${id}`">
<router-link v-permission="'v1-resource-video-update'" :to="`/resource/video/update?id=${id}`">
<div class="btn-item">编辑视频信息</div>
</router-link>
<router-link :to="`/resource/video/edit-courseware?id=${id}`">
<router-link v-permission="'v1-resource-video-get-ppt'" :to="`/resource/video/edit-courseware?id=${id}`">
<div class="btn-item">编辑视频课件</div>
</router-link>
</template>
<div class="btn-item" @click="handleDepartment">
<div v-permission="'v1-resource-video-set-department'" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div class="btn-item" @click="handlePlatform">
<div v-permission="'v1-resource-video-set-platform'" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div class="btn-item" @click="handleStatus">{{ props.data.status == 0 ? '资源上线' : '资源下线' }}</div>
<div class="btn-item" @click="handleMembers">更改负责人</div>
<div v-permission="'v1-resource-video-set-status'" class="btn-item" @click="handleStatus">
{{ props.data.status == 0 ? '资源上线' : '资源下线' }}
</div>
<div v-permission="'v1-resource-video-set-belong'" class="btn-item" @click="handleMembers">更改负责人</div>
</div>
<el-dialog v-model="dialogFormVisible" title="更改负责人" center>
<el-form :model="form">
......
......@@ -173,7 +173,7 @@ const deleteCourseware = (ppt_id: string) => {
<ViewTop :data="videoDetails"></ViewTop>
</AppCard>
<AppCard>
<el-button @click="dialogFormVisible = true" type="primary">关联课件</el-button>
<el-button v-permission="'v1-resource-video-create-ppt'" @click="dialogFormVisible = true" type="primary">关联课件</el-button>
<AppList v-bind="listOptions" ref="appList" stripe>
<template #table-cover="{ row }">
<img :src="row.url" style="width:100px;display: block;">
......@@ -182,8 +182,8 @@ const deleteCourseware = (ppt_id: string) => {
<el-input v-model="row.point" placeholder="00:00" />
</template>
<template #table-operate="{ row }">
<el-button @click="uploadTimeCode(row.id, row.name, row.url)">修改时间码</el-button>
<el-button @click="deleteCourseware(row.id)">删除</el-button>
<el-button v-permission="'v1-resource-video-update-ppt'" @click="uploadTimeCode(row.id, row.name, row.url)">修改时间码</el-button>
<el-button v-permission="'v1-resource-video-delete-ppt'" @click="deleteCourseware(row.id)">删除</el-button>
</template>
</AppList>
</AppCard>
......
......@@ -93,10 +93,10 @@ const listOptions = $computed(() => {
</template>
<template #table-operate="{ row }">
<el-space>
<router-link :to="`/resource/video/update?id=${row.id}`">
<router-link v-permission="'v1-resource-video-update'" :to="`/resource/video/update?id=${row.id}`">
<el-button plain>编辑</el-button>
</router-link>
<router-link :to="`/resource/video/view?id=${row.id}`">
<router-link v-permission="'v1-resource-video-view'" :to="`/resource/video/view?id=${row.id}`">
<el-button type="primary" plain>查看</el-button>
</router-link>
</el-space>
......
......@@ -132,7 +132,7 @@ const uploadVideo = (id: string) => {
</script>
<template>
<AppCard title="新建视频资源">
<AppCard :title="isUpdate ? '编辑视频资源' : '新建视频资源'">
<Operation :data="form.data"></Operation>
<el-form ref="ruleFormRef" :model="form.data" :rules="rules" style="width: 70%">
<el-form-item label="视频文件:" prop="source_id" v-if="!isUpdate">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论