mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 03:46:45 +08:00
专业力必修提交
This commit is contained in:
@@ -1,15 +1,8 @@
|
||||
<template>
|
||||
<div class="growthpath">
|
||||
<div class="filterItems">
|
||||
<div class="select" style="width: 264px; height: 40px">
|
||||
<OrgClass
|
||||
v-model:value="organizationId"
|
||||
v-model:name="organizationName"
|
||||
:placeName="'请选择归属组织'"
|
||||
></OrgClass>
|
||||
</div>
|
||||
<div class="select multi" style="min-width: 264px; height: 40px">
|
||||
<PostSelectNew v-model:value="statusPost" multiple="multiple">
|
||||
<PostSelectNew v-model:value="statusPost">
|
||||
</PostSelectNew>
|
||||
</div>
|
||||
<div class="select multi" style="min-width: 181px; height: 40px">
|
||||
@@ -63,7 +56,7 @@
|
||||
type="link"
|
||||
class="table_btn"
|
||||
v-if="!record.isPublished && checkGrowthPer(record.permissions)"
|
||||
@click="release(record)"
|
||||
@click="releaseLearnPath(record)"
|
||||
>发布</a-button
|
||||
>
|
||||
<a-button
|
||||
@@ -160,38 +153,10 @@
|
||||
<div class="bg_main">
|
||||
<div class="bg_main_header">
|
||||
<div class="bg_main_header_icon"></div>
|
||||
<div>
|
||||
{{
|
||||
editId
|
||||
? "编辑专业力必修"
|
||||
: originGrowId
|
||||
? "复制专业力必修"
|
||||
: "创建专业力必修"
|
||||
}}
|
||||
</div>
|
||||
<div>编辑专业力必修</div>
|
||||
<div class="bg_main_header_close" @click="of_exit"></div>
|
||||
</div>
|
||||
<div class="bg_body">
|
||||
<div class="bg_body_bt">
|
||||
<div class="bg_body_bttext">
|
||||
<div class="bg_body_btimg">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span>归属组织</span>
|
||||
</div>
|
||||
<div class="bg_body_input">
|
||||
<OrgClass
|
||||
style="width: 384px"
|
||||
v-model:value="organCreateId"
|
||||
v-model:name="organCreateName"
|
||||
:placeName="'请选择归属组织'"
|
||||
:disabled="editId"
|
||||
></OrgClass>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg_body_bt">
|
||||
<div class="bg_body_bttext">
|
||||
<div class="bg_body_btimg">
|
||||
@@ -266,7 +231,7 @@
|
||||
</a-input-number>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="bg_body_bt" style="align-items: flex-start;;">
|
||||
<div class="bg_body_bt" style="align-items: flex-start">
|
||||
<div class="bg_body_bttext">
|
||||
<div class="bg_body_btimg">
|
||||
<img
|
||||
@@ -277,9 +242,31 @@
|
||||
<span>匹配学员</span>
|
||||
</div>
|
||||
<div class="bg_body_input">
|
||||
<a-radio-group v-model:value="matStudens">
|
||||
<a-radio :value="1" style="margin-bottom: 15px;">自动匹配学员</a-radio><br/>
|
||||
<a-radio :value="2">不自动匹配学员</a-radio>
|
||||
<a-radio-group v-model:value="matchRules">
|
||||
<div style="display: flex">
|
||||
<a-radio :value="1" style="margin-bottom: 15px"
|
||||
>自动匹配学员</a-radio
|
||||
><br />
|
||||
<a-radio :value="2">不自动匹配学员</a-radio>
|
||||
</div>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="bg_body_bt" style="align-items: flex-start">
|
||||
<div class="bg_body_bttext">
|
||||
<div class="bg_body_btimg">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span>选择模板</span>
|
||||
</div>
|
||||
<div class="bg_body_input">
|
||||
<a-radio-group v-model:value="matchRules">
|
||||
<a-radio :value="1" style="margin-bottom: 15px">路径图</a-radio
|
||||
><br />
|
||||
<a-radio :value="2">任务列表</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
</div> -->
|
||||
@@ -319,67 +306,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 发布弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="pub"
|
||||
:title="null"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="pub"
|
||||
width="679px"
|
||||
height="437px"
|
||||
>
|
||||
<div
|
||||
class="modalHeader"
|
||||
style="
|
||||
width: 100%;
|
||||
height: 68px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
"
|
||||
>
|
||||
<div class="headerLeft" style="margin-left: 32px">
|
||||
<span style="width: 15px; height: 15px"
|
||||
><img src="../../assets/images/taskpage/pub.png"
|
||||
/></span>
|
||||
<span class="headerLeftText" style="font-size: 16px; margin-left: 10px"
|
||||
>专业力必修发布</span
|
||||
>
|
||||
</div>
|
||||
<div style="cursor: pointer; margin-right: 32px" @click="closePub">
|
||||
<img
|
||||
style="width: 22px; height: 22px"
|
||||
src="../../assets/images/basicinfo/close22.png"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
<div class="projectname">{{ pubData?.growName || "" }}</div>
|
||||
<div class="projectbox">
|
||||
<div class="promessage">
|
||||
<div class="messageme">任务信息</div>
|
||||
<div class="messagege">共{{ pubData?.taskNum || 0 }}个任务</div>
|
||||
</div>
|
||||
<div class="stumessage">
|
||||
<div class="messageme1">学员信息</div>
|
||||
<div class="messagege1">共{{ pubData?.stuNum || 0 }}名学员</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pubtn">
|
||||
<a-button class="pubtn2" @click="closePub" style="margin-right: 32px"
|
||||
>取消</a-button
|
||||
>
|
||||
<a-button class="pubtn2" @click="releaseLearnPath(pubData?.taskNum)"
|
||||
>发布</a-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 加载动画 -->
|
||||
<div class="aeLoading" :style="{ display: pubLoading ? 'flex' : 'none' }">
|
||||
<a-spin :spinning="pubLoading" />
|
||||
</div>
|
||||
</a-modal>
|
||||
<UpdateRecord v-model:Avisible="Avisible" />
|
||||
</template>
|
||||
|
||||
@@ -390,7 +316,7 @@ import { message } from "ant-design-vue";
|
||||
import dialog from "@/utils/dialog";
|
||||
import { DownOutlined } from "@ant-design/icons-vue";
|
||||
import OrgClass from "@/components/growthpath/OrgClass";
|
||||
import PostSelectNew from "@/components/growthpath/PostSelectNew";
|
||||
import PostSelectNew from "@/components/growthpath/PostSelect";
|
||||
import RankSelect from "@/components/growthpath/RankSelect";
|
||||
import OfficeSelect from "@/components/growthpath/OfficeSelect";
|
||||
import { checkGrowthPer } from "@/utils/utils";
|
||||
@@ -407,6 +333,8 @@ import {
|
||||
getPublishInfo,
|
||||
getCopyData,
|
||||
copyCreate,
|
||||
published,
|
||||
updatePostInfomation,
|
||||
} from "@/api/growthpath";
|
||||
export default {
|
||||
name: "growthpath",
|
||||
@@ -433,15 +361,7 @@ export default {
|
||||
band: null,
|
||||
statusOffices: null,
|
||||
Avisible: false,
|
||||
pubLoading: false,
|
||||
pubId: "",
|
||||
pubData: {},
|
||||
pub: false,
|
||||
bg_check: false,
|
||||
organizationId: null,
|
||||
organizationName: null,
|
||||
organCreateId: null, //创建路径
|
||||
organCreateName: null,
|
||||
statusPostCreate: [],
|
||||
statusRankCreate: [],
|
||||
courseNum: "",
|
||||
@@ -452,7 +372,6 @@ export default {
|
||||
statusPosts: null,
|
||||
statusPostsIds: null,
|
||||
editId: null,
|
||||
originGrowId: null,
|
||||
statusPostList: null,
|
||||
statusRank: [],
|
||||
statusOffice: null,
|
||||
@@ -467,43 +386,32 @@ export default {
|
||||
pageSize: 10,
|
||||
dataList: [],
|
||||
});
|
||||
const closePub = () => {
|
||||
state.pub = false;
|
||||
};
|
||||
const releaseLearnPath = (item) => {
|
||||
if (item == 0) {
|
||||
message.error("请先添加任务");
|
||||
return;
|
||||
}
|
||||
handleGrowth({
|
||||
growId: state.pubId,
|
||||
type: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
message.success("发布成功");
|
||||
listDatas();
|
||||
}
|
||||
closePub();
|
||||
})
|
||||
.catch((err) => {
|
||||
closePub();
|
||||
message.error(err.data.msg);
|
||||
});
|
||||
dialog({
|
||||
content: "是否发布该条数据?",
|
||||
ok: () => {
|
||||
published({
|
||||
growId: item.id,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
message.success("发布成功");
|
||||
listDatas();
|
||||
} else {
|
||||
message.error(err.data.msg);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
message.error(err.data.msg);
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
const statusValues = ref([
|
||||
{ value: "1", label: "已发布" },
|
||||
{ value: "0", label: "未发布" },
|
||||
]);
|
||||
const columns = ref([
|
||||
{
|
||||
title: "归属组织",
|
||||
dataIndex: "organizationName",
|
||||
key: "organizationName",
|
||||
width: 150,
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: "标准岗位",
|
||||
dataIndex: "positionName",
|
||||
@@ -530,11 +438,6 @@ export default {
|
||||
ellipsis: true,
|
||||
customRender: ({ record }) => {
|
||||
return record.isPublished ? "已发布" : "未发布";
|
||||
if (record.isPublished == "0") {
|
||||
return "未发布";
|
||||
} else {
|
||||
return "已发布";
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -562,7 +465,6 @@ export default {
|
||||
pageNum: state.pageNum,
|
||||
pageSize: state.pageSize,
|
||||
isPublished: state.statusValue,
|
||||
organizationId: state.organizationId, //组织
|
||||
positionIdList: state.statusPostMaps.map((item) => item.id), //岗位
|
||||
bandIdList: state.statusRank, //职级
|
||||
};
|
||||
@@ -579,19 +481,15 @@ export default {
|
||||
});
|
||||
};
|
||||
const searchList = () => {
|
||||
store.commit("setShouInclude", ["growthpath"]);
|
||||
state.pageNum = 1;
|
||||
listDatas();
|
||||
};
|
||||
const resetList = () => {
|
||||
state.statusValue = null;
|
||||
state.organizationId = null;
|
||||
state.organizationName = null;
|
||||
state.statusPostMaps = [];
|
||||
state.statusPost = null;
|
||||
state.statusRank = [];
|
||||
state.pageNum = 1;
|
||||
store.commit("setShouInclude", []);
|
||||
listDatas();
|
||||
};
|
||||
const changePagination = (page, pageSize) => {
|
||||
@@ -599,102 +497,45 @@ export default {
|
||||
state.pageSize = pageSize;
|
||||
listDatas();
|
||||
};
|
||||
//发布
|
||||
const release = (record) => {
|
||||
state.pubId = record.id;
|
||||
state.pub = true;
|
||||
state.pubLoading = true;
|
||||
getPublishInfo({ growId: record.id })
|
||||
.then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
state.pubData = res.data.data;
|
||||
}
|
||||
state.pubLoading = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
state.pubLoading = false;
|
||||
});
|
||||
};
|
||||
|
||||
//编辑
|
||||
const editPath = (record) => {
|
||||
getEditData({ growId: record.id }).then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
state.editId = res.data.data.id;
|
||||
state.statusPosts = res.data.data.positionId;
|
||||
state.organCreateId = res.data.data.organizationId;
|
||||
state.statusOffices = res.data.data.qualsLevelCode;
|
||||
state.courseNum = res.data.data.electiveNum;
|
||||
state.pathWays = res.data.data.remark;
|
||||
state.band = res.data.data.bandCodes;
|
||||
}
|
||||
state.bg_check = true;
|
||||
});
|
||||
state.editId = record.id;
|
||||
state.statusPosts = record.stdPosition;
|
||||
state.statusOffices = record.qualsLevelCode;
|
||||
state.courseNum = record.electivesCompletedNum;
|
||||
state.pathWays = record.description;
|
||||
state.band = record.bandCodes;
|
||||
state.bg_check = true;
|
||||
};
|
||||
// 确定
|
||||
const confirm = () => {
|
||||
if (state.organCreateId == "" || state.organCreateId == null) {
|
||||
return message.error("请选择归属组织");
|
||||
}
|
||||
if (state.statusPosts == "" || state.statusPosts == null) {
|
||||
return message.error("请选择岗位");
|
||||
}
|
||||
if (state.statusOffices == "" || state.statusRanks == null) {
|
||||
return message.error("请选择任职资格等级");
|
||||
}
|
||||
if (state.originGrowId) {
|
||||
copyCreate({
|
||||
positionId: state.statusPosts,
|
||||
organizationId: state.organCreateId,
|
||||
qualsLevelCode: state.statusOffices,
|
||||
electiveNum: state.courseNum,
|
||||
remark: state.pathWays,
|
||||
id: state.editId ? state.editId : null,
|
||||
const params = {
|
||||
stdPosition: state.statusPosts,
|
||||
qualsLevelCode: state.statusOffices,
|
||||
electivesCompletedNum: state.courseNum,
|
||||
description: state.pathWays,
|
||||
id: state.editId ? state.editId : null,
|
||||
};
|
||||
updatePostInfomation(params)
|
||||
.then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
if (res.data.data.flag == 1) {
|
||||
message.warning("自动匹配学员为异步添加,请稍后手动刷新学员");
|
||||
}
|
||||
message.success("保存成功");
|
||||
listDatas()
|
||||
}
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
if (res.data.data.flag == 1) {
|
||||
message.warning("自动匹配学员为异步添加,请稍后手动刷新学员");
|
||||
}
|
||||
manage({ id: res.data.data, permissions: "15,16,17" });
|
||||
message.success("复制成功");
|
||||
store.commit("setShouInclude", []);
|
||||
// listDatas()/
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
message.error(err.data.msg);
|
||||
});
|
||||
} else {
|
||||
const params = {
|
||||
positionId: state.statusPosts,
|
||||
organizationId: state.organCreateId,
|
||||
qualsLevelCode: state.statusOffices,
|
||||
electiveNum: state.courseNum,
|
||||
remark: state.pathWays,
|
||||
id: state.editId ? state.editId : null,
|
||||
};
|
||||
addEdit(params)
|
||||
.then((res) => {
|
||||
if (res.data.code == 200) {
|
||||
if (res.data.data.flag == 1) {
|
||||
message.warning("自动匹配学员为异步添加,请稍后手动刷新学员");
|
||||
}
|
||||
if (params.id) {
|
||||
message.success("编辑成功");
|
||||
manage({ id: res.data.data, permissions: "15,16,17" });
|
||||
} else {
|
||||
message.success("创建成功");
|
||||
manage({ id: res.data.data, permissions: "15,16,17" });
|
||||
}
|
||||
store.commit("setShouInclude", []);
|
||||
// listDatas()
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
message.error(err.data.msg);
|
||||
});
|
||||
}
|
||||
.catch((err) => {
|
||||
message.error(err.data.msg);
|
||||
});
|
||||
// of_exit()
|
||||
};
|
||||
const of_exit = () => {
|
||||
@@ -705,14 +546,12 @@ export default {
|
||||
state.statusRanks = [];
|
||||
state.rankList = [];
|
||||
state.bandLists = [];
|
||||
state.organCreateId = null;
|
||||
state.organCreateName = null;
|
||||
state.courseNum = "";
|
||||
// state.matStudens = ''
|
||||
state.matchRules = ''
|
||||
state.pathWays = "";
|
||||
state.bg_check = false;
|
||||
state.editId = null;
|
||||
state.originGrowId = null;
|
||||
};
|
||||
// 创建路径
|
||||
// 管理
|
||||
@@ -760,11 +599,9 @@ export default {
|
||||
of_exit,
|
||||
confirm,
|
||||
editPath,
|
||||
release,
|
||||
manage,
|
||||
updateList,
|
||||
withdraw,
|
||||
closePub,
|
||||
releaseLearnPath,
|
||||
};
|
||||
},
|
||||
@@ -783,157 +620,7 @@ export default {
|
||||
::v-deep .ant-select-multiple .ant-select-selection-item {
|
||||
line-height: 26px !important;
|
||||
}
|
||||
.pub {
|
||||
.ant-modal {
|
||||
.ant-modal-body {
|
||||
padding: 0;
|
||||
|
||||
.modalHeader {
|
||||
background: linear-gradient(
|
||||
rgba(78, 166, 255, 0.2) 0%,
|
||||
rgba(78, 166, 255, 0) 100%
|
||||
);
|
||||
}
|
||||
|
||||
.modalMain {
|
||||
.projectname {
|
||||
color: rgba(79, 81, 86, 1);
|
||||
font-size: 14px;
|
||||
line-height: 36px;
|
||||
margin-left: 62px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.projecttime {
|
||||
margin-left: 221px;
|
||||
font-size: 14px;
|
||||
|
||||
.timeti {
|
||||
color: rgba(153, 155, 163, 1);
|
||||
line-height: 36px;
|
||||
}
|
||||
|
||||
.timeme {
|
||||
color: rgba(79, 81, 86, 1);
|
||||
line-height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
.projectbox {
|
||||
margin-top: 26px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
.promessage {
|
||||
width: 280px;
|
||||
height: 110px;
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(254, 243, 221, 1),
|
||||
rgba(255, 250, 240, 1)
|
||||
);
|
||||
border-radius: 10px;
|
||||
margin-right: 7px;
|
||||
font-size: 14px;
|
||||
|
||||
.messageme {
|
||||
color: rgba(255, 182, 78, 1);
|
||||
line-height: 36px;
|
||||
margin-top: 17px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.messagege {
|
||||
color: rgba(153, 155, 163, 1);
|
||||
margin-left: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.stumessage {
|
||||
width: 280px;
|
||||
height: 110px;
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(221, 234, 255, 1),
|
||||
rgba(240, 248, 254, 1)
|
||||
);
|
||||
border-radius: 10px;
|
||||
font-size: 14px;
|
||||
.messageme1 {
|
||||
color: rgba(78, 166, 255, 1);
|
||||
line-height: 36px;
|
||||
margin-top: 17px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.messagege1 {
|
||||
color: rgba(153, 155, 163, 1);
|
||||
margin-left: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.send {
|
||||
margin-top: 30px;
|
||||
margin-left: 61px;
|
||||
|
||||
.sendtext {
|
||||
margin-left: 11px;
|
||||
color: rgba(109, 117, 132, 1);
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.ckb {
|
||||
margin-top: 20px;
|
||||
margin-left: 62px;
|
||||
|
||||
.sendpeo {
|
||||
color: rgba(109, 117, 132, 1);
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.ant-checkbox-inner {
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.pubtn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 25px;
|
||||
//margin-bottom: 29px;
|
||||
.pubtn1 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
margin-right: 16px;
|
||||
margin-bottom: 29px;
|
||||
border: 1px solid #4ea6ff;
|
||||
border-radius: 4px;
|
||||
color: rgba(78, 166, 255, 1);
|
||||
font-size: 14px;
|
||||
//line-height: 36px;
|
||||
align-items: center;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
.pubtn2 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
margin-bottom: 29px;
|
||||
border: 1px solid #4ea6ff;
|
||||
border-radius: 4px;
|
||||
color: #ffffff;
|
||||
font-size: 14px;
|
||||
align-items: center;
|
||||
//line-height: 36px;
|
||||
background: #4ea6ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.growthpath {
|
||||
width: 100%;
|
||||
.filterItems {
|
||||
|
||||
Reference in New Issue
Block a user