mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-08 02:16:45 +08:00
提交
This commit is contained in:
@@ -100,4 +100,8 @@ export const batchSendMessage = (data) => http.post('/professional/urgeLearning/
|
||||
export const delGrowth = (growthId) => http.get('/professional/compulsory/delGrowth/' + growthId)
|
||||
|
||||
// 删除手动添加的专业力必修
|
||||
export const markComplete = (obj) => http.get('/professional/allocation/markComplete', { params: obj })
|
||||
export const markComplete = (obj) => http.get('/professional/allocation/markComplete', { params: obj })
|
||||
|
||||
|
||||
|
||||
export const attendanceList = (obj) => http.post('/professional/task/attendanceList', obj)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 382 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 346 KiB |
1215
src/components/growthpath/GrowthActiveAttendance.vue
Normal file
1215
src/components/growthpath/GrowthActiveAttendance.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -101,7 +101,6 @@
|
||||
</div>
|
||||
<div class="btnn">
|
||||
<button class="btn2" @click="closeDrawer">取消</button>
|
||||
<button class="btn2" @click="closeDrawer">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -360,8 +360,13 @@ const deleteDepSelect = () => {
|
||||
|
||||
//确定添加授权
|
||||
const confirm = () => {
|
||||
if(!stuSelectRows.value.length && !projectSelectRows.value.length){
|
||||
message.warning('请选择学员')
|
||||
return
|
||||
}
|
||||
visiable.value = false;
|
||||
emit("confirm", stuSelectRows.value, projectSelectRows.value);
|
||||
closeDrawer()
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
@@ -378,7 +383,7 @@ onMounted(() => {
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
.CommonStudent > .ant-drawer-content-wrapper {
|
||||
min-width: 1200px !important;
|
||||
width: 1200px !important;
|
||||
@@ -390,6 +395,10 @@ onMounted(() => {
|
||||
margin-left: 24px;
|
||||
}
|
||||
.CommonStudent {
|
||||
.ant-form-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.ant-btn-primary {
|
||||
background-color: #4ea6ff !important;
|
||||
}
|
||||
|
||||
@@ -457,7 +457,6 @@
|
||||
</div>
|
||||
<div class="btn">
|
||||
<button class="samtn btn2" @click="closeLearnBgMore">取消</button>
|
||||
<a-button class="samtn btn2" @click="closeLearnBgMore">确定</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
:visible="visiable"
|
||||
class="drawerStyle"
|
||||
placement="right"
|
||||
destroyOnClose
|
||||
width="60%"
|
||||
>
|
||||
<div class="drawerMain" style="">
|
||||
|
||||
@@ -210,7 +210,6 @@
|
||||
</div>
|
||||
<div class="btnn">
|
||||
<button class="btn1" @click="closeDrawer">取消</button>
|
||||
<button class="btn2" @click="closeDrawer">确定</button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="step == 2">
|
||||
|
||||
@@ -166,7 +166,6 @@
|
||||
</div>
|
||||
<div class="btnn">
|
||||
<button class="btn1" @click="closeDrawer">取消</button>
|
||||
<button class="btn2" @click="closeDrawer">确定</button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -51,8 +51,7 @@ const closeDrawer = () => {
|
||||
selectData.value = {};
|
||||
};
|
||||
async function confirm(row) {
|
||||
console.log(row)
|
||||
debugger
|
||||
console.log(row);
|
||||
// 新增
|
||||
if (!selectData.value?.id) {
|
||||
await saveTask({
|
||||
@@ -79,7 +78,7 @@ function selectCourse(row) {
|
||||
}
|
||||
function openDrawer(row) {
|
||||
window.selectCourse = selectCourse;
|
||||
row && (selectData.value = [row.info]);
|
||||
row && (selectData.value = row);
|
||||
visible.value = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -45,11 +45,11 @@
|
||||
<div class="namecon" style="margin-right: 16px">
|
||||
<div class="select">
|
||||
<a-select
|
||||
v-model:value="projectName"
|
||||
v-model:value="completionStatus"
|
||||
style="width: 200px"
|
||||
placeholder="任务状态"
|
||||
:options="projectNameList"
|
||||
@change="selectProjectName"
|
||||
@change="selectCompletionStatus"
|
||||
allowClear
|
||||
></a-select>
|
||||
</div>
|
||||
@@ -96,7 +96,7 @@
|
||||
<a-table
|
||||
style="border: 1px solid #f2f6fe"
|
||||
:columns="tableDataFunc()"
|
||||
:data-source="tabledata"
|
||||
:data-source="tableData"
|
||||
:loading="tableDataTotalLoading"
|
||||
:scroll="{ x: 900 }"
|
||||
:pagination="false"
|
||||
@@ -190,7 +190,7 @@ export default {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
tableDataTotal: 0,
|
||||
projectName: undefined,
|
||||
completionStatus: undefined,
|
||||
TASK_TYPE: TASK_TYPE,
|
||||
stdPosition: null,
|
||||
qualsLevelCode: null,
|
||||
@@ -211,7 +211,7 @@ export default {
|
||||
label: "已完成",
|
||||
},
|
||||
],
|
||||
tabledata: [],
|
||||
tableData: [],
|
||||
tableDataTotalLoading: true, // 表格loading加载配置
|
||||
evalDataSource: "",
|
||||
Assessvisible: false,
|
||||
@@ -418,8 +418,8 @@ export default {
|
||||
ctx.emit("update:Tvisible", false);
|
||||
state.currentPage = 1;
|
||||
state.name = "";
|
||||
state.projectName = undefined;
|
||||
state.tabledata = [];
|
||||
state.completionStatus = undefined;
|
||||
state.tableData = [];
|
||||
state.stdPosition = null;
|
||||
state.qualsLevelCode = null;
|
||||
};
|
||||
@@ -430,8 +430,8 @@ export default {
|
||||
getData();
|
||||
}
|
||||
};
|
||||
const selectProjectName = (value) => {
|
||||
state.projectName = value;
|
||||
const selectCompletionStatus = (value) => {
|
||||
state.completionStatus = value;
|
||||
};
|
||||
//催促
|
||||
const godie = () => {
|
||||
@@ -462,7 +462,7 @@ export default {
|
||||
getStudentTaskPage({
|
||||
pageNum: state.currentPage,
|
||||
pageSize: state.pageSize,
|
||||
completionStatus: state.projectName,
|
||||
completionStatus: state.completionStatus,
|
||||
username: state.name,
|
||||
taskId: props.datasource.id,
|
||||
qualsLevelCode: state.qualsLevelCode,
|
||||
@@ -472,7 +472,7 @@ export default {
|
||||
console.log("在线课数据获取", res);
|
||||
if (res.data.code == 200) {
|
||||
state.tableDataTotalLoading = false;
|
||||
state.tabledata = res.data.data.records;
|
||||
state.tableData = res.data.data.records;
|
||||
state.tableDataTotal = res.data.data.total;
|
||||
}
|
||||
})
|
||||
@@ -493,7 +493,7 @@ export default {
|
||||
state.tableDataTotalLoading = true;
|
||||
state.currentPage = 1;
|
||||
state.name = "";
|
||||
state.projectName = null;
|
||||
state.completionStatus = null;
|
||||
state.stdPosition = null;
|
||||
state.qualsLevelCode = null;
|
||||
getData();
|
||||
@@ -511,7 +511,7 @@ export default {
|
||||
let params = {
|
||||
pageNo: state.currentPage || "",
|
||||
pageSize: state.pageSize || "",
|
||||
completionStatus: state.projectName || "",
|
||||
completionStatus: state.completionStatus || "",
|
||||
username: state.name || "",
|
||||
taskId: props.datasource.id || "",
|
||||
qualsLevelCode: state.qualsLevelCode || "",
|
||||
@@ -539,7 +539,7 @@ export default {
|
||||
}
|
||||
return {
|
||||
...toRefs(state),
|
||||
selectProjectName,
|
||||
selectCompletionStatus,
|
||||
checkGrowthPer,
|
||||
showassess,
|
||||
closeDrawer,
|
||||
|
||||
@@ -335,13 +335,14 @@ export default {
|
||||
const status = info.file.status;
|
||||
if (status !== "uploading") {
|
||||
console.log(info.file, info.fileList);
|
||||
state.addLoading = false;
|
||||
}
|
||||
if (status === "done") {
|
||||
console.log("上传成功返回的UUID", info.file.response.data);
|
||||
console.log("上传成功返回的UUID----->", info);
|
||||
console.log("我是导入学员接口传递的参数", {
|
||||
file: info.file.originFileObj,
|
||||
targetId: props.courseId,
|
||||
targetId: props.courseId,
|
||||
type: 14,
|
||||
});
|
||||
state.fileName = info.file.name;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
gutter="12"
|
||||
style="padding-left: 20px; margin-right: 0px"
|
||||
>
|
||||
<!-- <a-col>
|
||||
<a-col>
|
||||
<a-form-item title="归属组织" style="min-width: 170px">
|
||||
<div class="select in">
|
||||
<OrgClass
|
||||
@@ -45,7 +45,7 @@
|
||||
></a-select>
|
||||
</div>
|
||||
</a-form-item>
|
||||
</a-col> -->
|
||||
</a-col>
|
||||
<a-col>
|
||||
<a-form-item title="状态" style="width: 193px">
|
||||
<div class="select in">
|
||||
@@ -124,9 +124,8 @@
|
||||
type="flex"
|
||||
gutter="12"
|
||||
style="padding-left: 20px; margin-right: 0px; position: relative"
|
||||
v-if="checkGrowthPer(permissions)"
|
||||
>
|
||||
<a-col :span="1.5">
|
||||
<a-col :span="1.5" v-if="checkMenu('growthStudentAdd')">
|
||||
<a-button
|
||||
@click="addSut"
|
||||
class="cus-btn"
|
||||
@@ -141,7 +140,7 @@
|
||||
</a-button>
|
||||
</a-col>
|
||||
<!-- 新加导入学员 批量换组 导出学习信息 -->
|
||||
<a-col :span="1.5">
|
||||
<a-col :span="1.5" v-if="checkMenu('growthStudentImport')">
|
||||
<a-button
|
||||
class="cus-btn"
|
||||
@click="showImpStu"
|
||||
@@ -155,7 +154,7 @@
|
||||
导入学员
|
||||
</a-button>
|
||||
</a-col>
|
||||
<a-col :span="1.5">
|
||||
<a-col :span="1.5" v-if="checkMenu('growthStudentDelete')">
|
||||
<a-button
|
||||
class="cus-btn"
|
||||
@click="bathDel"
|
||||
@@ -169,7 +168,7 @@
|
||||
批量删除学员
|
||||
</a-button>
|
||||
</a-col>
|
||||
<a-col :span="1.5">
|
||||
<a-col :span="1.5" v-if="checkMenu('growthStudentExport')">
|
||||
<a-button
|
||||
class="cus-btn"
|
||||
@click="exportTaskStu"
|
||||
@@ -249,6 +248,7 @@
|
||||
style="display: flex; justify-content: center; align-items: center"
|
||||
>
|
||||
<a-button
|
||||
v-if="checkMenu('growthStudentLookInfo')"
|
||||
@click="seeStudent(record)"
|
||||
type="link"
|
||||
style="margin-right: 16px"
|
||||
@@ -256,7 +256,7 @@
|
||||
查看
|
||||
</a-button>
|
||||
<a-button
|
||||
v-if="checkGrowthPer(permissions)"
|
||||
v-if="checkMenu('growthStudentDelete')"
|
||||
:disabled="record.isLeader === '1'"
|
||||
@click="del(record)"
|
||||
type="link"
|
||||
@@ -291,6 +291,7 @@
|
||||
<script setup lang="jsx">
|
||||
import { computed, defineProps, onMounted, ref, watch } from "vue";
|
||||
import { delStudentList, getStuPage } from "@/api/index1";
|
||||
import { checkMenu } from "@/utils/utils";
|
||||
import {
|
||||
getGrowStudent,
|
||||
delGrowStudent,
|
||||
@@ -523,7 +524,9 @@ function search() {
|
||||
function exportTaskStu() {
|
||||
window.open(
|
||||
buildUrl(
|
||||
`${process.env.VUE_APP_BOE_API_URL}${process.env.VUE_APP_BASE_API_GROWTH || ''}/professional/allocation/export`,
|
||||
`${process.env.VUE_APP_BOE_API_URL}${
|
||||
process.env.VUE_APP_BASE_API_GROWTH || ""
|
||||
}/professional/allocation/export`,
|
||||
tableParam.value
|
||||
)
|
||||
);
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
<template #action="{ record }">
|
||||
<template
|
||||
v-if="
|
||||
record.completionStatus == 2 && checkGrowthPer(permissions)
|
||||
record.completionStatus == 2 && checkMenu('growthStudentMarkComplete')
|
||||
"
|
||||
>
|
||||
<a-button type="link" @click="setPermissions(record)"
|
||||
@@ -150,6 +150,7 @@ import { getGrowStudentDetail, markComplete } from "@/api/growthpath";
|
||||
import { message } from "ant-design-vue";
|
||||
import { TASK_TYPE } from "@/utils/constGrown";
|
||||
import { checkGrowthPer } from "@/utils/utils";
|
||||
import { checkMenu } from "@/utils/utils";
|
||||
export default {
|
||||
name: "SeeStu",
|
||||
components: {},
|
||||
|
||||
@@ -136,6 +136,8 @@ export default {
|
||||
const resetLearnPath = () => {
|
||||
state.username = null;
|
||||
state.searchdate = [];
|
||||
state.startTime = "";
|
||||
state.endTime = "";
|
||||
state.pageNum = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
@@ -30,79 +30,92 @@ export const TASK_TYPE = {
|
||||
name: '在线',
|
||||
type: 1,
|
||||
img: onLineImg,
|
||||
component: GrowthLineCourse
|
||||
component: GrowthLineCourse,
|
||||
permissionType:'growthTaskOnline',
|
||||
},
|
||||
2: {
|
||||
name: '面授',
|
||||
type: 2,
|
||||
img: faceCourseImg,
|
||||
component: GrowthFaceClass
|
||||
component: GrowthFaceClass,
|
||||
permissionType:'growthTaskFack',
|
||||
},
|
||||
3: {
|
||||
name: '案例',
|
||||
type: 3,
|
||||
img: caseImg,
|
||||
component: GrowthCase
|
||||
component: GrowthCase,
|
||||
permissionType:'growthTaskCase',
|
||||
},
|
||||
4: {
|
||||
name: '作业',
|
||||
type: 4,
|
||||
img: workImg,
|
||||
component: GrowthHomework
|
||||
component: GrowthHomework,
|
||||
permissionType:'growthHomeworkTask',
|
||||
},
|
||||
5: {
|
||||
name: '考试',
|
||||
type: 5,
|
||||
img: exaImg,
|
||||
component: GrowthExa
|
||||
component: GrowthExa,
|
||||
permissionType:'growthExaminationTask',
|
||||
},
|
||||
6: {
|
||||
name: '直播',
|
||||
type: 6,
|
||||
img: liveImg,
|
||||
component: GrowthLive
|
||||
component: GrowthLive,
|
||||
permissionType:'growthLiveTask',
|
||||
},
|
||||
7: {
|
||||
name: '外链',
|
||||
type: 7,
|
||||
img: linkImg,
|
||||
component: GrowthRef
|
||||
component: GrowthRef,
|
||||
permissionType:'growthLinkTask',
|
||||
},
|
||||
8: {
|
||||
name: '讨论',
|
||||
type: 8,
|
||||
img: discussImg,
|
||||
component: GrowthDiscuss
|
||||
component: GrowthDiscuss,
|
||||
permissionType:'growthDiscussTask',
|
||||
},
|
||||
9: {
|
||||
name: '活动',
|
||||
type: 9,
|
||||
img: activityImg,
|
||||
component: GrowthActive
|
||||
component: GrowthActive,
|
||||
permissionType:'growthActivityTask',
|
||||
},
|
||||
10: {
|
||||
name: '测评',
|
||||
type: 10,
|
||||
img: testImg,
|
||||
component: GrowthEval
|
||||
component: GrowthEval,
|
||||
permissionType:'growthEvaluationTask',
|
||||
},
|
||||
11: {
|
||||
name: '评估',
|
||||
type: 11,
|
||||
img: evaImg,
|
||||
component: GrowthInvist
|
||||
component: GrowthInvist,
|
||||
permissionType:'growthAssessTask',
|
||||
},
|
||||
12: {
|
||||
name: '投票',
|
||||
type: 12,
|
||||
img: voteImg,
|
||||
component: GrowthVote
|
||||
component: GrowthVote,
|
||||
permissionType:'growthVoteTask',
|
||||
},
|
||||
13: {
|
||||
name: '项目',
|
||||
type: 13,
|
||||
img: projectImg,
|
||||
component: GrowthProject
|
||||
component: GrowthProject,
|
||||
permissionType:'growthProjectTask',
|
||||
},
|
||||
|
||||
}
|
||||
@@ -45,27 +45,29 @@
|
||||
</div>
|
||||
<div class="handler">
|
||||
<div class="item" v-for="(value, key) in TASK_TYPE" :key="key">
|
||||
<component
|
||||
:ref="(el) => (courseRef['el' + key] = el)"
|
||||
v-model:taskList="listDatas"
|
||||
:is="value.component"
|
||||
:growId="growId"
|
||||
:id="growId"
|
||||
:type="value.type"
|
||||
:activeKey="activeKey"
|
||||
:infoType="2"
|
||||
@dataListUp="dataListUp"
|
||||
@refresh="getListTask(1)"
|
||||
>
|
||||
<div class="itcon">
|
||||
<div class="img">
|
||||
<img :src="value.img" />
|
||||
<template v-if="checkMenu(value.permissionType)">
|
||||
<component
|
||||
:ref="(el) => (courseRef['el' + key] = el)"
|
||||
v-model:taskList="listDatas"
|
||||
:is="value.component"
|
||||
:growId="growId"
|
||||
:id="growId"
|
||||
:type="value.type"
|
||||
:activeKey="activeKey"
|
||||
:infoType="2"
|
||||
@dataListUp="dataListUp"
|
||||
@refresh="getListTask(1)"
|
||||
>
|
||||
<div class="itcon">
|
||||
<div class="img">
|
||||
<img :src="value.img" />
|
||||
</div>
|
||||
<div class="text">{{ value.name }}</div>
|
||||
</div>
|
||||
<div class="text">{{ value.name }}</div>
|
||||
</div>
|
||||
</component>
|
||||
<div></div>
|
||||
<div class="lin"></div>
|
||||
</component>
|
||||
<div></div>
|
||||
<div class="lin"></div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -83,7 +85,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="listDatas.length != 0 && !basicData.isPublished"
|
||||
v-if="
|
||||
listDatas.length != 0 &&
|
||||
!basicData.isPublished &&
|
||||
checkMenu('growthTaskDelete')
|
||||
"
|
||||
class="btn btn2"
|
||||
@click="confirmDelTask()"
|
||||
>
|
||||
@@ -200,6 +206,7 @@
|
||||
<div class="opacation">
|
||||
<template v-if="element.status == '0'">
|
||||
<span
|
||||
v-if="checkMenu('growthTaslRelease')"
|
||||
style="color: #4ea6ff; cursor: pointer"
|
||||
@click="published(element, index)"
|
||||
>
|
||||
@@ -209,19 +216,21 @@
|
||||
<span
|
||||
style="color: #4ea6ff; cursor: pointer"
|
||||
@click="editTaskForType(element, index)"
|
||||
v-if="checkMenu('growthTaskEdit')"
|
||||
>
|
||||
编辑
|
||||
</span>
|
||||
<span
|
||||
style="color: #4ea6ff; cursor: pointer"
|
||||
@click="confirmDelTask(element, index)"
|
||||
v-if="checkMenu('growthTaskDelete')"
|
||||
>
|
||||
删除
|
||||
</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span
|
||||
v-if="element.status == '1'"
|
||||
v-if="element.status == '1' && checkMenu('growthTaskWithdraw')"
|
||||
style="color: #4ea6ff; cursor: pointer"
|
||||
@click="withdraw(element, index)"
|
||||
>
|
||||
@@ -285,6 +294,7 @@ import { message } from "ant-design-vue";
|
||||
import { useRoute } from "vue-router";
|
||||
import { TASK_TYPE } from "@/utils/constGrown";
|
||||
import dialog from "@/utils/dialog";
|
||||
import { checkMenu } from "@/utils/utils";
|
||||
import {
|
||||
getBasicInfo,
|
||||
notPublishedTaskList,
|
||||
|
||||
@@ -39,12 +39,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<div class="btn btn3" @click="handleOut">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">创建必修</div>
|
||||
<template v-if="checkMenu('growthAdd')">
|
||||
<div class="btns">
|
||||
<div class="btn btn3" @click="handleOut">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">创建必修</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="grow_con">
|
||||
<div class="grow_list">
|
||||
<div class="grow_table">
|
||||
@@ -59,18 +61,22 @@
|
||||
<a-button
|
||||
type="link"
|
||||
class="table_btn"
|
||||
v-if="!record.isPublished && checkGrowthPer(record.permissions)"
|
||||
v-if="!record.isPublished && checkMenu('growthRelease')"
|
||||
@click="releaseLearnPath(record)"
|
||||
>发布</a-button
|
||||
>
|
||||
<a-button
|
||||
v-if="checkGrowthPer(record.permissions)"
|
||||
v-if="checkMenu('growthEdit')"
|
||||
type="link"
|
||||
class="table_btn"
|
||||
@click="editPath(record)"
|
||||
>编辑</a-button
|
||||
>
|
||||
<a-button type="link" class="table_btn" @click="manage(record)"
|
||||
<a-button
|
||||
type="link"
|
||||
v-if="checkMenu('growthManage')"
|
||||
class="table_btn"
|
||||
@click="manage(record)"
|
||||
>管理</a-button
|
||||
>
|
||||
<!-- <DropDown v-if="record?.permissions?.includes('17')" value="授权">
|
||||
@@ -96,20 +102,28 @@
|
||||
<a-menu>
|
||||
<a-menu-item
|
||||
key="1"
|
||||
v-if="
|
||||
record.isPublished && checkGrowthPer(record.permissions)
|
||||
"
|
||||
v-if="record.isPublished && checkMenu('growthRevoke')"
|
||||
>
|
||||
<a-button type="link" @click="withdraw(record)">
|
||||
撤回
|
||||
</a-button>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="3">
|
||||
<a-menu-item
|
||||
key="3"
|
||||
v-if="
|
||||
record.isPublished &&
|
||||
checkMenu('growthModifyDiscipline')
|
||||
"
|
||||
>
|
||||
<a-button type="link" @click="updateList(record)">
|
||||
修改记录
|
||||
</a-button>
|
||||
</a-menu-item>
|
||||
<template v-if="record.dataSource === '2'">
|
||||
<template
|
||||
v-if="
|
||||
record.dataSource === '2' && checkMenu('growthDelete')
|
||||
"
|
||||
>
|
||||
<a-menu-item key="4">
|
||||
<a-button type="link" @click="delData(record)">
|
||||
删除
|
||||
@@ -397,6 +411,7 @@ import CommonStudent from "@/components/growthpath/GrowthCommonStudent";
|
||||
import TableModelStudent from "@/components/growthpath/GrowthTableModel";
|
||||
import UpdateRecord from "@/components/growthpath/UpdateRecord";
|
||||
import { useStore } from "vuex";
|
||||
import { checkMenu } from "@/utils/utils";
|
||||
|
||||
import {
|
||||
listData,
|
||||
@@ -451,6 +466,7 @@ export default {
|
||||
statusPostCreate: [],
|
||||
statusRankCreate: [],
|
||||
courseNum: "",
|
||||
isPublished: false,
|
||||
matStudens: "",
|
||||
elePublishedNum: 0, // 选修发布数量
|
||||
pathWays: "",
|
||||
@@ -534,7 +550,9 @@ export default {
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
customRender: ({ record }) => {
|
||||
return `${record.stdPositionName}(${record.stdPosition})`;
|
||||
return record.stdPosition
|
||||
? `${record.stdPositionName}(${record.stdPosition})`
|
||||
: `${record.stdPositionName}`;
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -646,6 +664,7 @@ export default {
|
||||
state.template = record.template;
|
||||
state.matchRules = record.matchRules || "1";
|
||||
state.bg_check = true;
|
||||
state.isPublished = record.isPublished;
|
||||
};
|
||||
|
||||
// 切换匹配学员方式
|
||||
@@ -666,11 +685,14 @@ export default {
|
||||
if (state.courseNum !== 0 && !state.courseNum) {
|
||||
return message.error("请输入完成选修数量");
|
||||
}
|
||||
if (state.courseNum > state.elePublishedNum) {
|
||||
message.warning("完成选修数量不能大于已发布的选修数量");
|
||||
state.courseNum = state.elePublishedNum;
|
||||
return;
|
||||
if (state.editId && state.isPublished) {
|
||||
if (state.courseNum > state.elePublishedNum) {
|
||||
message.warning("完成选修数量不能大于已发布的选修数量");
|
||||
state.courseNum = state.elePublishedNum;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const params = {
|
||||
stdPositionDesr: state.statusPosts,
|
||||
qualsLevelDesr: state.statusOffices,
|
||||
@@ -723,6 +745,7 @@ export default {
|
||||
state.bg_check = false;
|
||||
state.editId = null;
|
||||
state.band = "";
|
||||
state.isPublished = false;
|
||||
};
|
||||
// 创建路径
|
||||
// 管理
|
||||
@@ -776,6 +799,7 @@ export default {
|
||||
handleOut,
|
||||
releaseLearnPath,
|
||||
delData,
|
||||
checkMenu,
|
||||
UpdateRecordRef,
|
||||
matchRulesChange,
|
||||
};
|
||||
|
||||
@@ -13,31 +13,40 @@
|
||||
<div class="fort">创建时间:{{ basicData?.createTime }}</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div
|
||||
class="pubIcon"
|
||||
v-if="checkGrowthPer(preId)"
|
||||
@click="basicData.isPublished ? resize() : releaseLearnPath()"
|
||||
>
|
||||
<img
|
||||
v-if="!basicData.isPublished"
|
||||
class="img2"
|
||||
src="../../assets/images/growthpath/push.png"
|
||||
/>
|
||||
<img
|
||||
v-else
|
||||
class="img2"
|
||||
src="../../assets/images/leveladd/pub.png"
|
||||
/>
|
||||
<!-- 已发布的显示 -->
|
||||
<div
|
||||
class="pub"
|
||||
style="width: 28px"
|
||||
:style="{ color: !basicData.isPublished ? '#31AF0D' : '#ffb64e' }"
|
||||
>
|
||||
{{ basicData?.isPublished ? "撤回" : "发布" }}
|
||||
<template v-if="basicData.isPublished && checkMenu('growthRevoke')">
|
||||
<div class="pubIcon" @click="resize()">
|
||||
<img class="img2" src="../../assets/images/leveladd/pub.png" />
|
||||
<!-- 已发布的显示 -->
|
||||
<div
|
||||
class="pub"
|
||||
style="width: 28px"
|
||||
:style="{
|
||||
color: '#ffb64e',
|
||||
}"
|
||||
>
|
||||
撤回
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="line"></div>
|
||||
</template>
|
||||
<template v-if="!basicData.isPublished && checkMenu('growthRelease')">
|
||||
<div class="pubIcon" @click="releaseLearnPath()">
|
||||
<img class="img2" src="../../assets/images/growthpath/push.png" />
|
||||
|
||||
<!-- 已发布的显示 -->
|
||||
<div
|
||||
class="pub"
|
||||
style="width: 28px"
|
||||
:style="{
|
||||
color: '#31AF0D',
|
||||
}"
|
||||
>
|
||||
发布
|
||||
</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
</template>
|
||||
|
||||
<router-link to="/growthpath"
|
||||
><div style="display: flex">
|
||||
<img class="img2" src="../../assets/images/leveladd/back.png" />
|
||||
@@ -58,7 +67,7 @@
|
||||
<a-tab-pane key="1" tab="概览" style="position: relative">
|
||||
<!-- 概览(无数据) -->
|
||||
<div v-if="!basicData.publishedTaskNum" style="display: flex">
|
||||
<div class="secondadd" v-if="checkGrowthPer(preId)">
|
||||
<div class="secondadd" v-if="checkMenu('growthTaskAdd')">
|
||||
<div style="width: 368px; height: 22px" class="addtaskmain">
|
||||
快速创建专业力必修任务详情
|
||||
</div>
|
||||
@@ -210,7 +219,7 @@
|
||||
},
|
||||
}"
|
||||
class="editright"
|
||||
v-if="checkGrowthPer(preId) && listTaskData.length"
|
||||
v-if="checkMenu('growthTaskEdit') && listTaskData.length"
|
||||
>
|
||||
<span class="editextb">编辑任务</span>
|
||||
</router-link>
|
||||
@@ -224,13 +233,15 @@
|
||||
<a-radio-button value="1">必修</a-radio-button>
|
||||
<a-radio-button value="2">选修</a-radio-button>
|
||||
</a-radio-group>
|
||||
<div class="switch">
|
||||
<a-switch
|
||||
@change="sortSwitchChange"
|
||||
v-model:checked="basicData.sortSwitch"
|
||||
/>
|
||||
<div style="margin-left: 5px">是否按顺序学习</div>
|
||||
</div>
|
||||
<template v-if="checkMenu('growthSetLearningOrder')">
|
||||
<div class="switch">
|
||||
<a-switch
|
||||
@change="sortSwitchChange"
|
||||
v-model:checked="basicData.sortSwitch"
|
||||
/>
|
||||
<div style="margin-left: 5px">是否按顺序学习</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<!-- 无数据显示快速创建 -->
|
||||
<div v-if="!listTaskData.length" style="margin-top: 20px">
|
||||
@@ -244,7 +255,7 @@
|
||||
<div
|
||||
@click="addTask('/editingtasks')"
|
||||
class="taskbox"
|
||||
v-if="checkGrowthPer(preId)"
|
||||
v-if="checkMenu('growthTaskEdit')"
|
||||
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
|
||||
>
|
||||
<div class="leftt">
|
||||
@@ -325,9 +336,12 @@
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div
|
||||
<div
|
||||
class="first"
|
||||
v-if="checkGrowthPer(preId) && courseType == 1"
|
||||
v-if="
|
||||
checkMenu('growthPreviousLevelTask') &&
|
||||
courseType == 1
|
||||
"
|
||||
>
|
||||
<template v-if="element.superiorTaskName">
|
||||
<div style="margin-right: 8px">
|
||||
@@ -347,15 +361,28 @@
|
||||
</a-button>
|
||||
</div>
|
||||
</template>
|
||||
</div> -->
|
||||
<div class="operations" v-if="checkGrowthPer(preId)">
|
||||
</div>
|
||||
<div
|
||||
class="operations"
|
||||
v-if="
|
||||
checkMenu('growthEvaluateQRCode') ||
|
||||
checkMenu('growthSignQRCode') ||
|
||||
checkMenu('growthFaceTeaching') ||
|
||||
checkMenu('growthFaceStudent') ||
|
||||
checkMenu('growthQRCode') ||
|
||||
checkMenu('growthTaskManage')
|
||||
"
|
||||
>
|
||||
<template
|
||||
v-if="
|
||||
element.assessmentIds.length > 1 &&
|
||||
element.taskType == 2
|
||||
"
|
||||
>
|
||||
<div class="operations_dropdown">
|
||||
<div
|
||||
class="operations_dropdown"
|
||||
v-if="checkMenu('growthEvaluateQRCode')"
|
||||
>
|
||||
<a-dropdown
|
||||
:getPopupContainer="
|
||||
(triggerNode) => triggerNode.parentNode
|
||||
@@ -386,7 +413,10 @@
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</div>
|
||||
<div class="operations_dropdown">
|
||||
<div
|
||||
class="operations_dropdown"
|
||||
v-if="checkMenu('growthSignQRCode')"
|
||||
>
|
||||
<a-dropdown
|
||||
:getPopupContainer="
|
||||
(triggerNode) => triggerNode.parentNode
|
||||
@@ -418,6 +448,16 @@
|
||||
</a-dropdown>
|
||||
</div>
|
||||
</template>
|
||||
<template
|
||||
v-if="element.taskType == 6 || element.taskType == 9"
|
||||
>
|
||||
<div
|
||||
class="operation"
|
||||
@click="handlerWorkAttendance(element)"
|
||||
>
|
||||
考勤
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template
|
||||
v-if="
|
||||
@@ -425,7 +465,10 @@
|
||||
.length == 1 && element.taskType == 2
|
||||
"
|
||||
>
|
||||
<div class="operations_dropdown">
|
||||
<div
|
||||
class="operations_dropdown"
|
||||
v-if="checkMenu('growthEvaluateQRCode')"
|
||||
>
|
||||
<a
|
||||
class="ant-dropdown-link"
|
||||
@click="qrcodeAssement(element)"
|
||||
@@ -433,7 +476,10 @@
|
||||
评估二维码
|
||||
</a>
|
||||
</div>
|
||||
<div class="operations_dropdown">
|
||||
<div
|
||||
class="operations_dropdown"
|
||||
v-if="checkMenu('growthSignQRCode')"
|
||||
>
|
||||
<a
|
||||
class="ant-dropdown-link"
|
||||
@click="qrcodeVisible(element)"
|
||||
@@ -445,12 +491,14 @@
|
||||
|
||||
<template v-if="element.taskType == 2">
|
||||
<div
|
||||
v-if="checkMenu('growthFaceTeaching')"
|
||||
class="operation"
|
||||
@click="openCourse(element, index)"
|
||||
>
|
||||
开课
|
||||
</div>
|
||||
<div
|
||||
v-if="checkMenu('growthFaceStudent')"
|
||||
class="operation"
|
||||
@click="showFS(element, index)"
|
||||
>
|
||||
@@ -458,7 +506,11 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template v-if="element.taskType != 2">
|
||||
<template
|
||||
v-if="
|
||||
element.taskType != 2 && checkMenu('growthQRCode')
|
||||
"
|
||||
>
|
||||
<div
|
||||
class="operation"
|
||||
style="cursor: pointer"
|
||||
@@ -469,6 +521,7 @@
|
||||
</template>
|
||||
<div
|
||||
class="operation"
|
||||
v-if="checkMenu('growthTaskManage')"
|
||||
style="cursor: pointer; margin-right: 35px"
|
||||
@click="
|
||||
element.taskType == 2
|
||||
@@ -569,6 +622,11 @@
|
||||
index="0"
|
||||
type="课程二维码"
|
||||
/>
|
||||
<!-- 考勤 -->
|
||||
<GrowthActiveAttendance
|
||||
v-model:workAttendanceVisible="workAttendanceVisible"
|
||||
:datasource="workAttendanceData"
|
||||
/>
|
||||
<!-- 二维码弹窗 -->
|
||||
<!-- 面授课开课弹框 -->
|
||||
<GrowthOpenCourse ref="coursePlanRef" :type="4" />
|
||||
@@ -669,6 +727,8 @@ import { DownOutlined, CloseCircleOutlined } from "@ant-design/icons-vue";
|
||||
import GrowthFaceTaskManage from "../../components/growthpath/GrowthFaceTaskManage";
|
||||
import GrowthHomeworkManage from "@/components/growthpath/GrowthHomeworkManage";
|
||||
import { courseData } from "@/api/index1";
|
||||
import { checkMenu } from "@/utils/utils";
|
||||
import GrowthActiveAttendance from "@/components/growthpath/GrowthActiveAttendance";
|
||||
import {
|
||||
getOverview,
|
||||
getBasicInfo,
|
||||
@@ -700,6 +760,7 @@ export default {
|
||||
GrowthFaceTaskManage,
|
||||
GrowthOpenCourse,
|
||||
DownOutlined,
|
||||
GrowthActiveAttendance,
|
||||
CloseCircleOutlined,
|
||||
GrowthFaceStu,
|
||||
},
|
||||
@@ -718,6 +779,9 @@ export default {
|
||||
onlineVisible: false,
|
||||
setSuperiorsVisible: false,
|
||||
total: 0,
|
||||
// 考勤
|
||||
workAttendanceVisible: false,
|
||||
workAttendanceData: {},
|
||||
pageSize: 99999,
|
||||
pageNum: 1,
|
||||
spinning: false,
|
||||
@@ -787,7 +851,11 @@ export default {
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
// 考勤
|
||||
const handlerWorkAttendance = (data) => {
|
||||
state.workAttendanceVisible = true;
|
||||
state.workAttendanceData = data;
|
||||
};
|
||||
// 开启绑定上级任务的弹窗
|
||||
const setSuperiorsActive = ref(null);
|
||||
const handlerSuperiors = (element) => {
|
||||
@@ -1278,6 +1346,7 @@ export default {
|
||||
...toRefs(state),
|
||||
stuRef,
|
||||
headers,
|
||||
checkMenu,
|
||||
coursePlanRef,
|
||||
changeTabs,
|
||||
resize,
|
||||
@@ -1302,6 +1371,7 @@ export default {
|
||||
handleMenuClick,
|
||||
qrcodeVisible,
|
||||
handlerSuperiors,
|
||||
handlerWorkAttendance,
|
||||
showFS,
|
||||
qrCodeItems,
|
||||
visibleEwm,
|
||||
@@ -2072,8 +2142,9 @@ export default {
|
||||
|
||||
.operations {
|
||||
display: flex;
|
||||
width: 460px;
|
||||
width: 260px;
|
||||
justify-content: flex-end;
|
||||
flex-wrap: wrap;
|
||||
.operation {
|
||||
color: #4ea6ff;
|
||||
font-size: 14px;
|
||||
|
||||
@@ -19,8 +19,9 @@ module.exports = defineConfig({
|
||||
},
|
||||
proxy: {
|
||||
// "/professional": {
|
||||
// target: 'http://192.168.143.97:32002',
|
||||
// target: 'http://192.168.68.211:32002',
|
||||
// // target: 'http://192.168.50.195:32002',
|
||||
// // target: 'http://192.168.86.195:32002',
|
||||
// changeOrigin: true,
|
||||
// },
|
||||
"/growth": {
|
||||
|
||||
Reference in New Issue
Block a user