mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 04:46:46 +08:00
专业力必修提交
This commit is contained in:
@@ -5,8 +5,13 @@ const API_URL = "/growth"
|
|||||||
export const listData = (obj) => http.get(API_URL + '/professional/compulsory/list', { params: obj })
|
export const listData = (obj) => http.get(API_URL + '/professional/compulsory/list', { params: obj })
|
||||||
//基本信息
|
//基本信息
|
||||||
export const getBasicInfo = (obj) => http.get(API_URL + '/professional/compulsory/details/' + obj.growId)
|
export const getBasicInfo = (obj) => http.get(API_URL + '/professional/compulsory/details/' + obj.growId)
|
||||||
|
//专业力必修发布
|
||||||
|
export const published = (obj) => http.get(API_URL + '/professional/compulsory/publish/' + obj.growId)
|
||||||
|
//专业力必修修改
|
||||||
|
export const updatePostInfomation = (obj) => http.post(API_URL + '/professional/compulsory/updatePostInfomation', obj)
|
||||||
//获取任务列表
|
//获取任务列表
|
||||||
export const taskOutline = (obj) => http.get(API_URL + '/professional/task/list', { params: obj })
|
export const taskOutline = (obj) => http.get(API_URL + '/professional/task/list', { params: obj })
|
||||||
|
|
||||||
//新增任务
|
//新增任务
|
||||||
export const saveTask = (obj) => http.post(API_URL + '/professional/task/saveTask', obj)
|
export const saveTask = (obj) => http.post(API_URL + '/professional/task/saveTask', obj)
|
||||||
|
|
||||||
@@ -20,6 +25,11 @@ export const withdrawTask = (id) => http.get(API_URL + '/professional/task/withd
|
|||||||
//批量删除学习任务
|
//批量删除学习任务
|
||||||
export const deleteTask = (ids) => http.get(API_URL + '/professional/task/delete/' + ids)
|
export const deleteTask = (ids) => http.get(API_URL + '/professional/task/delete/' + ids)
|
||||||
|
|
||||||
|
//获取岗位
|
||||||
|
export const getStdPosition = (obj) => http.get(API_URL + '/professional/compulsory/getStdPositionList', { params: obj })
|
||||||
|
|
||||||
|
//获取职级
|
||||||
|
export const getQualsLevelCode = (obj) => http.get(API_URL + '/professional/compulsory/getQualsLevelCodeList', { params: obj })
|
||||||
|
|
||||||
//列表排序
|
//列表排序
|
||||||
export const toSortTask = (ids) => http.get(API_URL + `/professional/task/sortTask/` + ids)
|
export const toSortTask = (ids) => http.get(API_URL + `/professional/task/sortTask/` + ids)
|
||||||
|
|||||||
@@ -137,7 +137,6 @@ const closeDrawer = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function timeChange(time, timeStr) {
|
function timeChange(time, timeStr) {
|
||||||
console.log(dateTime.value);
|
|
||||||
formData.value.submitStartTime = timeStr[0];
|
formData.value.submitStartTime = timeStr[0];
|
||||||
formData.value.submitEndTime = timeStr[1];
|
formData.value.submitEndTime = timeStr[1];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-select
|
<a-select
|
||||||
:getPopupContainer="
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
@@ -21,69 +21,73 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { ref, watch } from 'vue';
|
import { ref, watch } from "vue";
|
||||||
import { getQualificationLevel } from "@/api/growthpath"
|
import { getQualsLevelCode } from "@/api/growthpath";
|
||||||
export default {
|
export default {
|
||||||
name: 'PostSelect',
|
name: "PostSelect",
|
||||||
props: {
|
props: {
|
||||||
value: String,
|
value: String,
|
||||||
multiple: {
|
multiple: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: "",
|
||||||
},
|
},
|
||||||
width: {
|
width: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: "",
|
||||||
},
|
},
|
||||||
searchData: {
|
searchData: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: "",
|
||||||
},
|
},
|
||||||
disabled: {
|
disabled: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
emits: ['update:value'],
|
emits: ["update:value"],
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
const selectedValue = ref(null);
|
const selectedValue = ref(null);
|
||||||
const options = ref([]);
|
const options = ref([]);
|
||||||
|
|
||||||
async function fetchOptions(val='') {
|
async function fetchOptions(val = "") {
|
||||||
try {
|
try {
|
||||||
const data = await getQualificationLevel(val)
|
const data = await getQualsLevelCode({
|
||||||
|
val,
|
||||||
|
});
|
||||||
options.value = data.data.data.map((item) => {
|
options.value = data.data.data.map((item) => {
|
||||||
return {
|
return {
|
||||||
label: item.qualsLevelDesr,
|
label: item.qualsLevelDesr,
|
||||||
value: item.qualsLevelCode,
|
value: item.qualsLevelCode,
|
||||||
key: item.qualsLevelCode,
|
|
||||||
bandCodes: item.bandCodes
|
|
||||||
};
|
};
|
||||||
})
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('error', error);
|
console.error("error", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(()=>props.searchData, (val) => {
|
watch(
|
||||||
if(val){
|
() => props.searchData,
|
||||||
fetchOptions(props.searchData||'');
|
(val) => {
|
||||||
|
if (val) {
|
||||||
|
fetchOptions(props.searchData || "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
watch(()=>props.value, (val) => {
|
watch(
|
||||||
selectedValue.value = val;
|
() => props.value,
|
||||||
});
|
(val) => {
|
||||||
function onSelectChange(newVal,postList ) {
|
selectedValue.value = val;
|
||||||
emit('update:value', postList?.key);
|
}
|
||||||
emit('update:postList', postList);
|
);
|
||||||
emit('bandCodes',postList?.bandCodes)
|
function onSelectChange(newVal, postList) {
|
||||||
|
emit("update:value", postList?.key);
|
||||||
|
emit("update:postList", postList);
|
||||||
}
|
}
|
||||||
async function handleSearch(val){
|
async function handleSearch(val) {
|
||||||
console.log(val,'val')
|
console.log(val, "val");
|
||||||
|
|
||||||
}
|
}
|
||||||
function focus () {
|
function focus() {
|
||||||
fetchOptions(props.searchData||'')
|
fetchOptions(props.searchData || "");
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
selectedValue,
|
selectedValue,
|
||||||
@@ -101,4 +105,4 @@ export default {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
placeholder="请选择岗位"
|
placeholder="请选择岗位"
|
||||||
:options="options"
|
:options="options"
|
||||||
@change="onSelectChange"
|
@change="onSelectChange"
|
||||||
@search="handleSearch"
|
|
||||||
allowClear
|
allowClear
|
||||||
showArrow
|
showArrow
|
||||||
showSearch
|
showSearch
|
||||||
@@ -20,7 +19,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { ref, watch } from 'vue';
|
import { ref, watch } from 'vue';
|
||||||
import { getAllPosition } from "@/api/growthpath"
|
import { getStdPosition } from "@/api/growthpath"
|
||||||
export default {
|
export default {
|
||||||
name: 'PostSelect',
|
name: 'PostSelect',
|
||||||
props: {
|
props: {
|
||||||
@@ -45,12 +44,12 @@ export default {
|
|||||||
|
|
||||||
async function fetchOptions() {
|
async function fetchOptions() {
|
||||||
try {
|
try {
|
||||||
const data = await getAllPosition({positionName: ''})
|
const data = await getStdPosition({positionName: ''})
|
||||||
options.value = data.data.data.map((item) => {
|
options.value = data.data.data.map((item) => {
|
||||||
return {
|
return {
|
||||||
id: item.positionId,
|
id: item.stdPosition,
|
||||||
label: item.positionName,
|
label: item.stdPositionName,
|
||||||
value: item.positionName,
|
value: item.stdPosition,
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -67,17 +66,11 @@ export default {
|
|||||||
function onSelectChange(newVal,postList ) {
|
function onSelectChange(newVal,postList ) {
|
||||||
emit('update:value', newVal);
|
emit('update:value', newVal);
|
||||||
emit('update:postList', postList);
|
emit('update:postList', postList);
|
||||||
console.log(newVal,postList,'aaaaaa')
|
|
||||||
}
|
|
||||||
async function handleSearch(val){
|
|
||||||
console.log(val,'val')
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
selectedValue,
|
selectedValue,
|
||||||
options,
|
options,
|
||||||
onSelectChange,
|
onSelectChange,
|
||||||
handleSearch,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="growthpath">
|
<div class="growthpath">
|
||||||
<div class="filterItems">
|
<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">
|
<div class="select multi" style="min-width: 264px; height: 40px">
|
||||||
<PostSelectNew v-model:value="statusPost" multiple="multiple">
|
<PostSelectNew v-model:value="statusPost">
|
||||||
</PostSelectNew>
|
</PostSelectNew>
|
||||||
</div>
|
</div>
|
||||||
<div class="select multi" style="min-width: 181px; height: 40px">
|
<div class="select multi" style="min-width: 181px; height: 40px">
|
||||||
@@ -63,7 +56,7 @@
|
|||||||
type="link"
|
type="link"
|
||||||
class="table_btn"
|
class="table_btn"
|
||||||
v-if="!record.isPublished && checkGrowthPer(record.permissions)"
|
v-if="!record.isPublished && checkGrowthPer(record.permissions)"
|
||||||
@click="release(record)"
|
@click="releaseLearnPath(record)"
|
||||||
>发布</a-button
|
>发布</a-button
|
||||||
>
|
>
|
||||||
<a-button
|
<a-button
|
||||||
@@ -160,38 +153,10 @@
|
|||||||
<div class="bg_main">
|
<div class="bg_main">
|
||||||
<div class="bg_main_header">
|
<div class="bg_main_header">
|
||||||
<div class="bg_main_header_icon"></div>
|
<div class="bg_main_header_icon"></div>
|
||||||
<div>
|
<div>编辑专业力必修</div>
|
||||||
{{
|
|
||||||
editId
|
|
||||||
? "编辑专业力必修"
|
|
||||||
: originGrowId
|
|
||||||
? "复制专业力必修"
|
|
||||||
: "创建专业力必修"
|
|
||||||
}}
|
|
||||||
</div>
|
|
||||||
<div class="bg_main_header_close" @click="of_exit"></div>
|
<div class="bg_main_header_close" @click="of_exit"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg_body">
|
<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_bt">
|
||||||
<div class="bg_body_bttext">
|
<div class="bg_body_bttext">
|
||||||
<div class="bg_body_btimg">
|
<div class="bg_body_btimg">
|
||||||
@@ -266,7 +231,7 @@
|
|||||||
</a-input-number>
|
</a-input-number>
|
||||||
</div>
|
</div>
|
||||||
</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_bttext">
|
||||||
<div class="bg_body_btimg">
|
<div class="bg_body_btimg">
|
||||||
<img
|
<img
|
||||||
@@ -277,9 +242,31 @@
|
|||||||
<span>匹配学员</span>
|
<span>匹配学员</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg_body_input">
|
<div class="bg_body_input">
|
||||||
<a-radio-group v-model:value="matStudens">
|
<a-radio-group v-model:value="matchRules">
|
||||||
<a-radio :value="1" style="margin-bottom: 15px;">自动匹配学员</a-radio><br/>
|
<div style="display: flex">
|
||||||
<a-radio :value="2">不自动匹配学员</a-radio>
|
<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>
|
</a-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
@@ -319,67 +306,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</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" />
|
<UpdateRecord v-model:Avisible="Avisible" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -390,7 +316,7 @@ import { message } from "ant-design-vue";
|
|||||||
import dialog from "@/utils/dialog";
|
import dialog from "@/utils/dialog";
|
||||||
import { DownOutlined } from "@ant-design/icons-vue";
|
import { DownOutlined } from "@ant-design/icons-vue";
|
||||||
import OrgClass from "@/components/growthpath/OrgClass";
|
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 RankSelect from "@/components/growthpath/RankSelect";
|
||||||
import OfficeSelect from "@/components/growthpath/OfficeSelect";
|
import OfficeSelect from "@/components/growthpath/OfficeSelect";
|
||||||
import { checkGrowthPer } from "@/utils/utils";
|
import { checkGrowthPer } from "@/utils/utils";
|
||||||
@@ -407,6 +333,8 @@ import {
|
|||||||
getPublishInfo,
|
getPublishInfo,
|
||||||
getCopyData,
|
getCopyData,
|
||||||
copyCreate,
|
copyCreate,
|
||||||
|
published,
|
||||||
|
updatePostInfomation,
|
||||||
} from "@/api/growthpath";
|
} from "@/api/growthpath";
|
||||||
export default {
|
export default {
|
||||||
name: "growthpath",
|
name: "growthpath",
|
||||||
@@ -433,15 +361,7 @@ export default {
|
|||||||
band: null,
|
band: null,
|
||||||
statusOffices: null,
|
statusOffices: null,
|
||||||
Avisible: false,
|
Avisible: false,
|
||||||
pubLoading: false,
|
|
||||||
pubId: "",
|
|
||||||
pubData: {},
|
|
||||||
pub: false,
|
|
||||||
bg_check: false,
|
bg_check: false,
|
||||||
organizationId: null,
|
|
||||||
organizationName: null,
|
|
||||||
organCreateId: null, //创建路径
|
|
||||||
organCreateName: null,
|
|
||||||
statusPostCreate: [],
|
statusPostCreate: [],
|
||||||
statusRankCreate: [],
|
statusRankCreate: [],
|
||||||
courseNum: "",
|
courseNum: "",
|
||||||
@@ -452,7 +372,6 @@ export default {
|
|||||||
statusPosts: null,
|
statusPosts: null,
|
||||||
statusPostsIds: null,
|
statusPostsIds: null,
|
||||||
editId: null,
|
editId: null,
|
||||||
originGrowId: null,
|
|
||||||
statusPostList: null,
|
statusPostList: null,
|
||||||
statusRank: [],
|
statusRank: [],
|
||||||
statusOffice: null,
|
statusOffice: null,
|
||||||
@@ -467,43 +386,32 @@ export default {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
dataList: [],
|
dataList: [],
|
||||||
});
|
});
|
||||||
const closePub = () => {
|
|
||||||
state.pub = false;
|
|
||||||
};
|
|
||||||
const releaseLearnPath = (item) => {
|
const releaseLearnPath = (item) => {
|
||||||
if (item == 0) {
|
dialog({
|
||||||
message.error("请先添加任务");
|
content: "是否发布该条数据?",
|
||||||
return;
|
ok: () => {
|
||||||
}
|
published({
|
||||||
handleGrowth({
|
growId: item.id,
|
||||||
growId: state.pubId,
|
})
|
||||||
type: 1,
|
.then((res) => {
|
||||||
})
|
if (res.data.code == 200) {
|
||||||
.then((res) => {
|
message.success("发布成功");
|
||||||
if (res.data.code == 200) {
|
listDatas();
|
||||||
message.success("发布成功");
|
} else {
|
||||||
listDatas();
|
message.error(err.data.msg);
|
||||||
}
|
}
|
||||||
closePub();
|
})
|
||||||
})
|
.catch((err) => {
|
||||||
.catch((err) => {
|
message.error(err.data.msg);
|
||||||
closePub();
|
});
|
||||||
message.error(err.data.msg);
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const statusValues = ref([
|
const statusValues = ref([
|
||||||
{ value: "1", label: "已发布" },
|
{ value: "1", label: "已发布" },
|
||||||
{ value: "0", label: "未发布" },
|
{ value: "0", label: "未发布" },
|
||||||
]);
|
]);
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
|
||||||
title: "归属组织",
|
|
||||||
dataIndex: "organizationName",
|
|
||||||
key: "organizationName",
|
|
||||||
width: 150,
|
|
||||||
align: "center",
|
|
||||||
ellipsis: true,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "标准岗位",
|
title: "标准岗位",
|
||||||
dataIndex: "positionName",
|
dataIndex: "positionName",
|
||||||
@@ -530,11 +438,6 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
customRender: ({ record }) => {
|
customRender: ({ record }) => {
|
||||||
return record.isPublished ? "已发布" : "未发布";
|
return record.isPublished ? "已发布" : "未发布";
|
||||||
if (record.isPublished == "0") {
|
|
||||||
return "未发布";
|
|
||||||
} else {
|
|
||||||
return "已发布";
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -562,7 +465,6 @@ export default {
|
|||||||
pageNum: state.pageNum,
|
pageNum: state.pageNum,
|
||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
isPublished: state.statusValue,
|
isPublished: state.statusValue,
|
||||||
organizationId: state.organizationId, //组织
|
|
||||||
positionIdList: state.statusPostMaps.map((item) => item.id), //岗位
|
positionIdList: state.statusPostMaps.map((item) => item.id), //岗位
|
||||||
bandIdList: state.statusRank, //职级
|
bandIdList: state.statusRank, //职级
|
||||||
};
|
};
|
||||||
@@ -579,19 +481,15 @@ export default {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
const searchList = () => {
|
const searchList = () => {
|
||||||
store.commit("setShouInclude", ["growthpath"]);
|
|
||||||
state.pageNum = 1;
|
state.pageNum = 1;
|
||||||
listDatas();
|
listDatas();
|
||||||
};
|
};
|
||||||
const resetList = () => {
|
const resetList = () => {
|
||||||
state.statusValue = null;
|
state.statusValue = null;
|
||||||
state.organizationId = null;
|
|
||||||
state.organizationName = null;
|
|
||||||
state.statusPostMaps = [];
|
state.statusPostMaps = [];
|
||||||
state.statusPost = null;
|
state.statusPost = null;
|
||||||
state.statusRank = [];
|
state.statusRank = [];
|
||||||
state.pageNum = 1;
|
state.pageNum = 1;
|
||||||
store.commit("setShouInclude", []);
|
|
||||||
listDatas();
|
listDatas();
|
||||||
};
|
};
|
||||||
const changePagination = (page, pageSize) => {
|
const changePagination = (page, pageSize) => {
|
||||||
@@ -599,102 +497,45 @@ export default {
|
|||||||
state.pageSize = pageSize;
|
state.pageSize = pageSize;
|
||||||
listDatas();
|
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) => {
|
const editPath = (record) => {
|
||||||
getEditData({ growId: record.id }).then((res) => {
|
state.editId = record.id;
|
||||||
if (res.data.code == 200) {
|
state.statusPosts = record.stdPosition;
|
||||||
state.editId = res.data.data.id;
|
state.statusOffices = record.qualsLevelCode;
|
||||||
state.statusPosts = res.data.data.positionId;
|
state.courseNum = record.electivesCompletedNum;
|
||||||
state.organCreateId = res.data.data.organizationId;
|
state.pathWays = record.description;
|
||||||
state.statusOffices = res.data.data.qualsLevelCode;
|
state.band = record.bandCodes;
|
||||||
state.courseNum = res.data.data.electiveNum;
|
|
||||||
state.pathWays = res.data.data.remark;
|
|
||||||
state.band = res.data.data.bandCodes;
|
|
||||||
}
|
|
||||||
state.bg_check = true;
|
|
||||||
});
|
|
||||||
state.bg_check = true;
|
state.bg_check = true;
|
||||||
};
|
};
|
||||||
// 确定
|
// 确定
|
||||||
const confirm = () => {
|
const confirm = () => {
|
||||||
if (state.organCreateId == "" || state.organCreateId == null) {
|
|
||||||
return message.error("请选择归属组织");
|
|
||||||
}
|
|
||||||
if (state.statusPosts == "" || state.statusPosts == null) {
|
if (state.statusPosts == "" || state.statusPosts == null) {
|
||||||
return message.error("请选择岗位");
|
return message.error("请选择岗位");
|
||||||
}
|
}
|
||||||
if (state.statusOffices == "" || state.statusRanks == null) {
|
if (state.statusOffices == "" || state.statusRanks == null) {
|
||||||
return message.error("请选择任职资格等级");
|
return message.error("请选择任职资格等级");
|
||||||
}
|
}
|
||||||
if (state.originGrowId) {
|
const params = {
|
||||||
copyCreate({
|
stdPosition: state.statusPosts,
|
||||||
positionId: state.statusPosts,
|
qualsLevelCode: state.statusOffices,
|
||||||
organizationId: state.organCreateId,
|
electivesCompletedNum: state.courseNum,
|
||||||
qualsLevelCode: state.statusOffices,
|
description: state.pathWays,
|
||||||
electiveNum: state.courseNum,
|
id: state.editId ? state.editId : null,
|
||||||
remark: 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) => {
|
.catch((err) => {
|
||||||
if (res.data.code == 200) {
|
message.error(err.data.msg);
|
||||||
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);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// of_exit()
|
// of_exit()
|
||||||
};
|
};
|
||||||
const of_exit = () => {
|
const of_exit = () => {
|
||||||
@@ -705,14 +546,12 @@ export default {
|
|||||||
state.statusRanks = [];
|
state.statusRanks = [];
|
||||||
state.rankList = [];
|
state.rankList = [];
|
||||||
state.bandLists = [];
|
state.bandLists = [];
|
||||||
state.organCreateId = null;
|
|
||||||
state.organCreateName = null;
|
state.organCreateName = null;
|
||||||
state.courseNum = "";
|
state.courseNum = "";
|
||||||
// state.matStudens = ''
|
state.matchRules = ''
|
||||||
state.pathWays = "";
|
state.pathWays = "";
|
||||||
state.bg_check = false;
|
state.bg_check = false;
|
||||||
state.editId = null;
|
state.editId = null;
|
||||||
state.originGrowId = null;
|
|
||||||
};
|
};
|
||||||
// 创建路径
|
// 创建路径
|
||||||
// 管理
|
// 管理
|
||||||
@@ -760,11 +599,9 @@ export default {
|
|||||||
of_exit,
|
of_exit,
|
||||||
confirm,
|
confirm,
|
||||||
editPath,
|
editPath,
|
||||||
release,
|
|
||||||
manage,
|
manage,
|
||||||
updateList,
|
updateList,
|
||||||
withdraw,
|
withdraw,
|
||||||
closePub,
|
|
||||||
releaseLearnPath,
|
releaseLearnPath,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -783,157 +620,7 @@ export default {
|
|||||||
::v-deep .ant-select-multiple .ant-select-selection-item {
|
::v-deep .ant-select-multiple .ant-select-selection-item {
|
||||||
line-height: 26px !important;
|
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 {
|
.growthpath {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
.filterItems {
|
.filterItems {
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ module.exports = defineConfig({
|
|||||||
},
|
},
|
||||||
proxy: {
|
proxy: {
|
||||||
"/professional": {
|
"/professional": {
|
||||||
// target: 'http://192.168.16.195:32002',
|
target: 'http://192.168.16.195:32002',
|
||||||
target: 'http://192.168.175.141:32002',
|
// target: 'http://192.168.175.141:32002',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
"^/manageApi/growth": "",
|
"^/manageApi/growth": "",
|
||||||
|
|||||||
Reference in New Issue
Block a user