--demand 添加权限

This commit is contained in:
yuping
2023-02-01 17:24:03 +08:00
parent 55c868231b
commit 5b8e8a691b
6 changed files with 52 additions and 19 deletions

View File

@@ -3,7 +3,7 @@
<!-- <div class="split"></div> --> <!-- <div class="split"></div> -->
<div class="noticeTitle"> <div class="noticeTitle">
<!-- <div class="notitle"><span class="titlespan">公告</span></div> --> <!-- <div class="notitle"><span class="titlespan">公告</span></div> -->
<div class="switch"> <div v-button-per="permissions" class="switch">
<a-switch <a-switch
v-model:checked="noticeChecked" v-model:checked="noticeChecked"
@click="noticeFlag" @click="noticeFlag"
@@ -25,7 +25,7 @@
style="margin-top: -10px; height: 220px;border:1px solid #fff; resize: none;background-color: #fff;color:#666;" style="margin-top: -10px; height: 220px;border:1px solid #fff; resize: none;background-color: #fff;color:#666;"
/> />
<!-- <pre>{{noticeContent1}}</pre> --> <!-- <pre>{{noticeContent1}}</pre> -->
<div class="btn-content"> <div class="btn-content" v-button-per="permissions">
<a-button type="primary" @click="handleEdit">编辑</a-button> <a-button type="primary" @click="handleEdit">编辑</a-button>
</div> </div>
</template> </template>
@@ -49,7 +49,7 @@
placeholder="公告信息最多输入150个字" placeholder="公告信息最多输入150个字"
style="margin-top: -10px; height: 160px;" style="margin-top: -10px; height: 160px;"
/> />
<div class="btn-content"> <div class="btn-content" v-button-per="permissions">
<a-button class="cancel" @click="handleCancel">取消</a-button> <a-button class="cancel" @click="handleCancel">取消</a-button>
<a-button type="primary" @click="pubNotice" class="sure"> <a-button type="primary" @click="pubNotice" class="sure">
发布 发布
@@ -69,6 +69,10 @@ import emitter from "../../utils/bus";
export default { export default {
name: "NoticePub", name: "NoticePub",
props: { props: {
permissions:{
type:String,
default:''
},
projectId: { projectId: {
type: Number, type: Number,
default: null, default: null,

View File

@@ -144,7 +144,7 @@
<div class="groupright"> <div class="groupright">
<div class="spandiv"><span class="spantext">规则</span></div> <div class="spandiv"><span class="spantext">规则</span></div>
<div v-if="edit" class="btns"> <div v-if="edit" class="btns">
<div class="btn1" @click="edit = false"> <div v-button-per="permissions" class="btn1" @click="edit = false">
<img src="../../assets/images/projectadd/edit1.png" /> <img src="../../assets/images/projectadd/edit1.png" />
<span class="btn1text">编辑</span> <span class="btn1text">编辑</span>
</div> </div>
@@ -302,6 +302,10 @@ export default {
StuScoreDetail, StuScoreDetail,
}, },
props: { props: {
permissions:{
type:String,
default: ''
},
projectId: { projectId: {
type: Number, type: Number,
default: null, default: null,

View File

@@ -79,6 +79,7 @@
type="flex" type="flex"
gutter="12" gutter="12"
style="padding-left: 20px; margin-right: 0px" style="padding-left: 20px; margin-right: 0px"
v-button-per="permissions"
> >
<a-col :span="1.5"> <a-col :span="1.5">
<CommonStudent <CommonStudent
@@ -218,18 +219,20 @@
<slot name="extension" v-bind:data="{ record }"></slot> <slot name="extension" v-bind:data="{ record }"></slot>
<a-button <a-button
v-button-per="permissions"
v-if="type === 3 && record.status !== 0" v-if="type === 3 && record.status !== 0"
@click="updateStatus(0, record.id)" @click="updateStatus(0, record.id)"
type="link" type="link"
>通过</a-button >通过</a-button
> >
<a-button <a-button
v-button-per="permissions"
v-if="type === 3 && record.status !== 0" v-if="type === 3 && record.status !== 0"
@click="updateStatus(2, record.id)" @click="updateStatus(2, record.id)"
type="link" type="link"
>拒绝</a-button >拒绝</a-button
> >
<a-button @click="del(record.id)" type="link" danger>删除</a-button> <a-button v-button-per="permissions" @click="del(record.id)" type="link" danger>删除</a-button>
</a-space> </a-space>
</template> </template>
</a-table> </a-table>
@@ -355,6 +358,10 @@ import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
const props = defineProps({ const props = defineProps({
type: Number, type: Number,
permissions:{
type: String,
default: ''
},
id: String, id: String,
columns: { columns: {
type: Array, type: Array,

View File

@@ -4447,6 +4447,18 @@ export default defineComponent({
// 管理开课 // 管理开课
const handleGuan22 = (item) => { const handleGuan22 = (item) => {
if (String(item.courseform) === '1') {
return;
}
if (String(item.courseform) === ('1' || '线上')) {
state.om_1 = true;
state.ft_1 = false;
} else if (
String(item.courseform) === ('2' || '面授')
) {
state.om_1 = true;
state.ft_1 = true;
}
state.manageStuLoading = true; state.manageStuLoading = true;
console.log(787666, item); console.log(787666, item);
state.faceClassification = item.contentTxt; state.faceClassification = item.contentTxt;

View File

@@ -53,7 +53,7 @@
<div class="onerow"> <div class="onerow">
<div class="taskmain">快速创建路径图详情</div> <div class="taskmain">快速创建路径图详情</div>
</div> </div>
<div class="second"> <div class="second" v-button-per="permissions">
<div @click="totask"> <div @click="totask">
<div <div
class="taskbox" class="taskbox"
@@ -326,7 +326,7 @@
<div class="onerow"> <div class="onerow">
<div class="taskmain">任务大纲</div> <div class="taskmain">任务大纲</div>
<router-link to="/leveladddetail" class="editright"> <router-link to="/leveladddetail" class="editright" v-button-per="permissions">
<img <img
class="editimg" class="editimg"
src="../../assets/images/leveladd/edit.png" src="../../assets/images/leveladd/edit.png"
@@ -554,6 +554,7 @@
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="3" tab="学员管理" force-render> <a-tab-pane key="3" tab="学员管理" force-render>
<TableStudent <TableStudent
:permissions="permissions"
v-if="isreload" v-if="isreload"
:type="2" :type="2"
:id="routerId" :id="routerId"
@@ -562,7 +563,7 @@
> >
<template #extension="{ data: { record } }"> <template #extension="{ data: { record } }">
<a-button type="link" @click="showStudent(record)">查看</a-button> <a-button type="link" @click="showStudent(record)">查看</a-button>
<a-button type="link" @click="setLevels(record)">调整</a-button> <a-button type="link" @click="setLevels(record)" v-button-per="permissions">调整</a-button>
</template> </template>
</TableStudent> </TableStudent>
<TableStudent <TableStudent
@@ -574,11 +575,10 @@
> >
<template #extension="{ data: { record } }"> <template #extension="{ data: { record } }">
<a-button type="link" @click="showStudent(record)">查看</a-button> <a-button type="link" @click="showStudent(record)">查看</a-button>
<a-button type="link" @click="setLevels(record)">调整</a-button> <a-button type="link" @click="setLevels(record)" v-button-per="permissions">调整</a-button>
</template> </template>
</TableStudent> </TableStudent>
</a-tab-pane> </a-tab-pane>
<!-- 1211注释 待开放 -->
<a-tab-pane key="4" tab="设置"> <a-tab-pane key="4" tab="设置">
<div class="split"></div> <div class="split"></div>
@@ -592,7 +592,7 @@
<div class="headone"> <div class="headone">
<div class="box"></div> <div class="box"></div>
<div class="onetitle">关卡内容可见可学设置</div> <div class="onetitle">关卡内容可见可学设置</div>
<div class="oneedi" @click="showbtn" v-show="twobtn"> <div class="oneedi" @click="showbtn" v-show="twobtn" v-button-per="permissions">
编辑 编辑
</div> </div>
<div v-show="twobtnn" class="twobtn"> <div v-show="twobtnn" class="twobtn">
@@ -1388,6 +1388,7 @@ export default {
const router = useRouter(); const router = useRouter();
// const store = useStore(); // const store = useStore();
const state = reactive({ const state = reactive({
permissions:'',
hasTask: false, hasTask: false,
stage: [], stage: [],
statess: [], statess: [],
@@ -2240,6 +2241,7 @@ export default {
.then((res) => { .then((res) => {
console.log("router-list", res); console.log("router-list", res);
state.fileList = JSON.parse(res.data.data.routerInfo.attach); state.fileList = JSON.parse(res.data.data.routerInfo.attach);
state.permissions = res.data.data.routerInfo.permissions
console.log("asdasdasd-------->", state.fileList); console.log("asdasdasd-------->", state.fileList);
state.docChecked = state.docChecked =
res.data.data.routerInfo.attachSwitch == 1 ? true : false; res.data.data.routerInfo.attachSwitch == 1 ? true : false;

View File

@@ -195,7 +195,7 @@
<div class="onerow"> <div class="onerow">
<div class="taskmain">快速创建项目详情</div> <div class="taskmain">快速创建项目详情</div>
</div> </div>
<div class="second"> <div v-button-per="permissions" class="second">
<!-- @click="totask" --> <!-- @click="totask" -->
<div <div
class="taskbox" class="taskbox"
@@ -423,6 +423,7 @@
批量面授报名 批量面授报名
</button> --> </button> -->
<router-link <router-link
v-button-per="permissions"
:to="{ path: `/taskadd`, query: { projectId: projectId } }" :to="{ path: `/taskadd`, query: { projectId: projectId } }"
> >
<button class="edit"> <button class="edit">
@@ -570,7 +571,7 @@
> >
</div> </div>
</div> </div>
<div class="operations"> <div v-button-per="permissions" class="operations">
<div <div
class="operation" class="operation"
style="cursor: pointer" style="cursor: pointer"
@@ -672,7 +673,7 @@
</router-link> </router-link>
<!-- 无数据创建任务 --> <!-- 无数据创建任务 -->
</div> </div>
<div v-else> <div v-button-per="permissions" v-else>
<div <div
class="taskbox" class="taskbox"
@click=" @click="
@@ -710,6 +711,7 @@
<a-tabs v-model:activeKey="activeKey1"> <a-tabs v-model:activeKey="activeKey1">
<a-tab-pane key="8" tab="学员管理"> <a-tab-pane key="8" tab="学员管理">
<TableStudent <TableStudent
:permissions="permissions"
:type="1" :type="1"
:id="projectId" :id="projectId"
:columns="stuColumns" :columns="stuColumns"
@@ -750,7 +752,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="second2"> <div class="second2" v-button-per="permissions">
<div class="btn1" @click="showModal2(1, null)"> <div class="btn1" @click="showModal2(1, null)">
<img src="../../assets/images/courseManage/add0.png" /> <img src="../../assets/images/courseManage/add0.png" />
<span class="btn1text">创建小组</span> <span class="btn1text">创建小组</span>
@@ -781,7 +783,7 @@
style="color: rgba(0, 0, 0, 0.45); cursor: pointer" style="color: rgba(0, 0, 0, 0.45); cursor: pointer"
>. . .</span >. . .</span
> >
<div class="moreItems"> <div class="moreItems" v-button-per="permissions">
<div class="sammo" @click="showModal2(2, item)"> <div class="sammo" @click="showModal2(2, item)">
编辑 编辑
</div> </div>
@@ -838,7 +840,7 @@
<div class="split"></div> <div class="split"></div>
<a-tabs v-model:activeKey="activeKeyNotice"> <a-tabs v-model:activeKey="activeKeyNotice">
<a-tab-pane key="11" tab="公告"> <a-tab-pane key="11" tab="公告">
<NoticePub v-model:projectId="projectId"></NoticePub> <NoticePub :permissions="permissions" v-model:projectId="projectId"></NoticePub>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="12" tab="历史公告" force-render> <a-tab-pane key="12" tab="历史公告" force-render>
<NoticeHis <NoticeHis
@@ -849,7 +851,7 @@
</a-tabs> </a-tabs>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="5" tab="项目积分"> <a-tab-pane key="5" tab="项目积分">
<ProjectScore :projectId="projectId"></ProjectScore> <ProjectScore :permissions="permissions" :projectId="projectId"></ProjectScore>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="6" tab="排行榜"> <a-tab-pane key="6" tab="排行榜">
<div class="split"></div> <div class="split"></div>
@@ -1096,7 +1098,7 @@
<div class="img"></div> <div class="img"></div>
<div class="ed">编辑</div> <div class="ed">编辑</div>
</div> --> </div> -->
<div class="edit" v-if="status != 3" @click="toEdit"> <div v-button-per="permissions" class="edit" v-if="status != 3" @click="toEdit">
<div class="img"></div> <div class="img"></div>
<div class="ed">编辑</div> <div class="ed">编辑</div>
</div> </div>
@@ -2143,6 +2145,7 @@ export default {
const store = useStore(); const store = useStore();
const route = useRoute(); const route = useRoute();
const state = reactive({ const state = reactive({
permissions:'',
screenHeight: document.body.clientHeight, screenHeight: document.body.clientHeight,
screenWidth: document.body.clientWidth, screenWidth: document.body.clientWidth,
editRecord: {}, editRecord: {},
@@ -3854,6 +3857,7 @@ export default {
name: e.name, name: e.name,
})); }));
let info = res.data.data.projectInfo; let info = res.data.data.projectInfo;
state.permissions = info.permissions;
// let start = toDate(info.beginTime / 1000, "Y-M-D h:m"); // let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
let start = info.beginTime; let start = info.beginTime;
// let end = toDate(info.endTime / 1000, "Y-M-D h:m"); // let end = toDate(info.endTime / 1000, "Y-M-D h:m");