This commit is contained in:
宋文超
2022-11-22 18:08:42 +08:00
30 changed files with 3793 additions and 870 deletions

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-07 17:06:45
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-20 18:18:11
* @LastEditTime: 2022-11-21 16:39:00
* @FilePath: /fe-manage/src/api/index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -74,3 +74,4 @@ export const getTemplateDetail = (obj) => http.get('/admin/project/template/deta
//获取项目统计
export const getProjectCount = (projectId) => http.get('/admin/project/projectCount', { params: { projectId: projectId } })

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-04 22:45:31
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-21 11:51:11
* @LastEditTime: 2022-11-21 16:39:08
* @FilePath: /fe-manage/src/api/index1.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -85,10 +85,12 @@ export const scoreRank = (obj) => http.post('/admin/project/scoreRank', obj);
export const billboard = (obj) => http.post('/admin/project/billboard', obj);
//项目基础信息-----------------------------------
//获取字典信息
export const getDict = (obj) => http.post('/dict/getList', obj)
// 获取组织结构树
export const orgtree = () => http.get('/org/tree');
//获取积分列表
export const noticeList = (projectId) => http.post(`http://localhost:8080/api/admin/project/noticeList?projectId=` + projectId + ``)

View File

@@ -4,11 +4,11 @@ import http from "./config";
//编辑项目模板
export const templateEdit = (obj) => http.post('/admin/project/template/edit',obj);
// 模板详情
export const templateDetail = (id) => http.get(`/admin/project/template/edit?projectTemplateId=${id}`);
export const templateDetail = (id) => http.get(`/admin/project/template/detail?projectTemplateId=${id}`);
// 删除阶段
export const deleteStage = (id) => http.delete(`/admin/project/template/deleteStage`,{stageId:id});
export const deleteStage = (id) => http.delete(`/admin/project/template/deleteStage?stageId=${id}`);
//删除任务
export const deleteTask = (id) => http.delete(`/admin/project/template/deleteTask`,{projectTaskIds:id});
export const deleteTask = (id) => http.delete(`/admin/project/template/deleteTask?projectTaskIds=${id}`);
// 移动任务到阶段
export const moveTask = (obj) => http.post('/admin/project/template/moveTask',obj);
// 新建或编辑阶段

View File

@@ -34,8 +34,8 @@ export default {
console.log("new:" + n + ",old:" + o);
if (
n.indexOf("/manage/learningpath") !== -1 ||
n.indexOf("/manage/LearningPath") !== -1
n.indexOf("/learningpath") !== -1 ||
n.indexOf("/LearningPath") !== -1
) {
state.list = [
{
@@ -45,14 +45,11 @@ export default {
},
];
}
if (
n.indexOf("/manage/leveladd") !== -1 ||
n.indexOf("/manage/LevelAdd") !== -1
) {
if (n.indexOf("/leveladd") !== -1 || n.indexOf("/LevelAdd") !== -1) {
state.list = [
{
name: "学习路径",
href: "/manage/learningpath",
href: "/learningpath",
},
{
name: "管理",
@@ -60,17 +57,17 @@ export default {
];
}
if (
n.indexOf("/manage/leveladddetail") !== -1 ||
n.indexOf("/manage/LevelAddDetail") !== -1
n.indexOf("/leveladddetail") !== -1 ||
n.indexOf("/LevelAddDetail") !== -1
) {
state.list = [
{
name: "学习路径",
href: "/manage/learningpath",
href: "/learningpath",
},
{
name: "管理",
href: "/manage/leveladd",
href: "/leveladd",
},
{
name: "创建关卡",
@@ -78,17 +75,17 @@ export default {
];
}
if (
n.indexOf("/manage/levelcheck") !== -1 ||
n.indexOf("/manage/LevelCheck") !== -1
n.indexOf("/levelcheck") !== -1 ||
n.indexOf("/LevelCheck") !== -1
) {
state.list = [
{
name: "学习路径",
href: "/manage/learningpath",
href: "/learningpath",
},
{
name: "管理",
href: "/manage/leveladd",
href: "/leveladd",
},
{
name: "查看",
@@ -96,8 +93,8 @@ export default {
];
}
if (
n.indexOf("/manage/projectmanage") !== -1 ||
n.indexOf("/manage/ProjectManage") !== -1
n.indexOf("/projectmanage") !== -1 ||
n.indexOf("/ProjectManage") !== -1
) {
state.list = [
{
@@ -112,23 +109,20 @@ export default {
];
}
if (
n.indexOf("/manage/projectadd") !== -1 ||
n.indexOf("/manage/ProjectAdd") !== -1
n.indexOf("/projectadd") !== -1 ||
n.indexOf("/ProjectAdd") !== -1
) {
state.list = [
{
name: "项目",
href: "/manage/projectmanage",
href: "/projectmanage",
},
{
name: "创建项目",
},
];
}
if (
n.indexOf("/manage/taskpage") !== -1 ||
n.indexOf("/manage/TaskPage") !== -1
) {
if (n.indexOf("/taskpage") !== -1 || n.indexOf("/TaskPage") !== -1) {
state.list = [
{
name: "项目",
@@ -139,10 +133,7 @@ export default {
},
];
}
if (
n.indexOf("/manage/taskadd") !== -1 ||
n.indexOf("/manage/TaskAdd") !== -1
) {
if (n.indexOf("/taskadd") !== -1 || n.indexOf("/TaskAdd") !== -1) {
state.list = [
{
name: "项目",
@@ -160,8 +151,8 @@ export default {
];
}
if (
n.indexOf("/manage/templatelibrary") !== -1 ||
n.indexOf("/manage/TemplateLibrary") !== -1
n.indexOf("/templatelibrary") !== -1 ||
n.indexOf("/TemplateLibrary") !== -1
) {
state.list = [
{
@@ -173,8 +164,8 @@ export default {
];
}
if (
n.indexOf("/manage/libraryadd") !== -1 ||
n.indexOf("/manage/LibraryAdd") !== -1
n.indexOf("/libraryadd") !== -1 ||
n.indexOf("/LibraryAdd") !== -1
) {
state.list = [
{
@@ -185,13 +176,13 @@ export default {
},
{
name: "查看",
href: "/manage/libraryadd",
href: "/libraryadd",
},
];
}
if (
n.indexOf("/manage/coursemanage") !== -1 ||
n.indexOf("/manage/CourseManage") !== -1
n.indexOf("/coursemanage") !== -1 ||
n.indexOf("/CourseManage") !== -1
) {
state.list = [
{
@@ -206,8 +197,8 @@ export default {
];
}
if (
n.indexOf("/manage/coursewaremanage") !== -1 ||
n.indexOf("/manage/CoursewareManage") !== -1
n.indexOf("/coursewaremanage") !== -1 ||
n.indexOf("/CoursewareManage") !== -1
) {
state.list = [
{
@@ -219,8 +210,8 @@ export default {
];
}
if (
n.indexOf("/manage/researchmanage") !== -1 ||
n.indexOf("/manage/ResearchManage") !== -1
n.indexOf("/researchmanage") !== -1 ||
n.indexOf("/ResearchManage") !== -1
) {
state.list = [
{
@@ -231,8 +222,8 @@ export default {
];
}
if (
n.indexOf("/manage/managepage") !== -1 ||
n.indexOf("/manage/ManagePage") !== -1
n.indexOf("/managepage") !== -1 ||
n.indexOf("/ManagePage") !== -1
) {
state.list = [
{
@@ -247,8 +238,8 @@ export default {
}
if (
n.indexOf("/manage/researchadd") !== -1 ||
n.indexOf("/manage/ResearchAdd") !== -1
n.indexOf("/researchadd") !== -1 ||
n.indexOf("/ResearchAdd") !== -1
) {
state.list = [
{
@@ -263,8 +254,8 @@ export default {
}
if (
n.indexOf("/manage/certificatecenter") !== -1 ||
n.indexOf("/manage/CertificateCenter") !== -1
n.indexOf("/certificatecenter") !== -1 ||
n.indexOf("/CertificateCenter") !== -1
) {
state.list = [
{
@@ -273,8 +264,8 @@ export default {
];
}
if (
n.indexOf("/manage/systemmanage") !== -1 ||
n.indexOf("/manage/SystemManage") !== -1
n.indexOf("/systemmanage") !== -1 ||
n.indexOf("/SystemManage") !== -1
) {
state.list = [
{
@@ -283,8 +274,8 @@ export default {
];
}
if (
n.indexOf("/manage/coursereviewed") !== -1 ||
n.indexOf("/manage/CourseReiewed") !== -1
n.indexOf("/coursereviewed") !== -1 ||
n.indexOf("/CourseReiewed") !== -1
) {
state.list = [
{
@@ -296,8 +287,8 @@ export default {
];
}
if (
n.indexOf("/manage/coursereviewedn") !== -1 ||
n.indexOf("/manage/CourseReiewedN") !== -1
n.indexOf("/coursereviewedn") !== -1 ||
n.indexOf("/CourseReiewedN") !== -1
) {
state.list = [
{
@@ -309,8 +300,8 @@ export default {
];
}
if (
n.indexOf("/manage/projectreviewed") !== -1 ||
n.indexOf("/manage/ProjectReviewed") !== -1
n.indexOf("/projectreviewed") !== -1 ||
n.indexOf("/ProjectReviewed") !== -1
) {
state.list = [
{
@@ -322,8 +313,8 @@ export default {
];
}
if (
n.indexOf("/manage/projectreviewedn") !== -1 ||
n.indexOf("/manage/ProjectReviewedN") !== -1
n.indexOf("/projectreviewedn") !== -1 ||
n.indexOf("/ProjectReviewedN") !== -1
) {
state.list = [
{

View File

@@ -44,7 +44,7 @@
circle: selectedKeys[0] === 'sub10-1' ? false : true,
}"
></span>
<router-link to="/manage/coursereviewedn">待审核课程</router-link>
<router-link to="/coursereviewedn">待审核课程</router-link>
</a-menu-item>
<a-menu-item key="sub10-2">
<span
@@ -53,7 +53,7 @@
circle: selectedKeys[0] === 'sub10-2' ? false : true,
}"
></span>
<router-link to="/manage/coursereviewed">已审核课程</router-link>
<router-link to="/coursereviewed">已审核课程</router-link>
</a-menu-item>
<a-menu-item key="sub10-3">
<span
@@ -62,7 +62,7 @@
circle: selectedKeys[0] === 'sub10-3' ? false : true,
}"
></span>
<router-link to="/manage/projectreviewedn">待审核项目</router-link>
<router-link to="/projectreviewedn">待审核项目</router-link>
</a-menu-item>
<a-menu-item key="sub10-4">
<span
@@ -71,7 +71,7 @@
circle: selectedKeys[0] === 'sub10-4' ? false : true,
}"
></span>
<router-link to="/manage/projectreviewed">已审核项目</router-link>
<router-link to="/projectreviewed">已审核项目</router-link>
</a-menu-item>
</a-sub-menu>
@@ -82,7 +82,7 @@
src="../assets/images/navleft/studyPath.png"
/>
</div>
<router-link to="/manage/learningpath">学习路径</router-link>
<router-link to="/learningpath">学习路径</router-link>
</a-menu-item>
<a-sub-menu key="sub2" @titleClick="titleClick">
@@ -102,7 +102,7 @@
circle: selectedKeys[0] === 'sub2-1' ? false : true,
}"
></span>
<router-link to="/manage/projectmanage">项目</router-link>
<router-link to="/projectmanage">项目</router-link>
</a-menu-item>
<a-menu-item key="sub2-2">
<span
@@ -111,7 +111,7 @@
circle: selectedKeys[0] === 'sub2-2' ? false : true,
}"
></span>
<router-link to="/manage/templatelibrary">模板库</router-link>
<router-link to="/templatelibrary">模板库</router-link>
</a-menu-item>
</a-sub-menu>
@@ -132,7 +132,7 @@
circle: selectedKeys[0] === 'sub3-1' ? false : true,
}"
></span>
<router-link to="/manage/coursemanage">课件管理</router-link>
<router-link to="/coursemanage">课件管理</router-link>
</a-menu-item>
<a-menu-item key="sub3-2">
<span
@@ -141,7 +141,7 @@
circle: selectedKeys[0] === 'sub3-2' ? false : true,
}"
></span>
<router-link to="/manage/coursewaremanage">课程管理</router-link>
<router-link to="/coursewaremanage">课程管理</router-link>
</a-menu-item>
</a-sub-menu>
@@ -162,7 +162,7 @@
src="../assets/images/navleft/survey.png"
/>
</div>
<router-link to="/manage/researchmanage">评估管理</router-link>
<router-link to="/researchmanage">评估管理</router-link>
</a-menu-item>
<a-menu-item key="sub6" @titleClick="titleClick">
@@ -193,7 +193,7 @@
/>
</div>
<router-link to="/manage/certificatecenter">证书中心</router-link>
<router-link to="/certificatecenter">证书中心</router-link>
</a-menu-item>
<a-menu-item key="sub9" @titleClick="titleClick">
<div class="imgBox">
@@ -202,7 +202,7 @@
src="../assets/images/navleft/system.png"
/>
</div>
<router-link to="/manage/systemmanage">系统管理</router-link>
<router-link to="/systemmanage">系统管理</router-link>
</a-menu-item>
</a-menu>
</div>
@@ -220,15 +220,15 @@
@click="handleClick"
>
<a-menu-item key="sub1" @titleClick="titleClick">
<router-link to="/manage/learningpath">学习</router-link>
<router-link to="/learningpath">学习</router-link>
</a-menu-item>
<a-menu-item key="sub2" @titleClick="titleClick">
<router-link to="/manage/projectmanage">项目</router-link>
<router-link to="/projectmanage">项目</router-link>
</a-menu-item>
<a-menu-item key="sub3" @titleClick="titleClick">
<router-link to="/manage/coursewaremanage">课程</router-link>
<router-link to="/coursewaremanage">课程</router-link>
</a-menu-item>
<a-menu-item key="sub4" @titleClick="titleClick">
@@ -295,104 +295,104 @@ export default {
keysList: [
{
href: "/manage/coursereviewedn",
href: "/coursereviewedn",
openKeys: "sub10",
selectedKeys: "sub10-1",
pagename: "待审核课程",
},
{
href: "/manage/coursereviewed",
href: "/coursereviewed",
openKeys: "sub10",
selectedKeys: "sub10-2",
pagename: "已审核课程",
},
{
href: "/manage/projectreviewedn",
href: "/projectreviewedn",
openKeys: "sub10",
selectedKeys: "sub10-3",
pagename: "待审核项目",
},
{
href: "/manage/projectrrviewed",
href: "/projectrrviewed",
openKeys: "sub10",
selectedKeys: "sub10-4",
pagename: "已审核项目",
},
{
href: "/manage/learningpath",
href: "/learningpath",
openKeys: "sub1",
selectedKeys: "sub1",
pagename: "学习路径",
},
{
href: "/manage/leveladd",
href: "/leveladd",
openKeys: "sub1",
selectedKeys: "sub1",
pagename: "关卡",
},
{
href: "/manage/levelcheck",
href: "/levelcheck",
openKeys: "sub1",
selectedKeys: "sub1",
pagename: "查看",
},
{
href: "/manage/leveladddetail",
href: "/leveladddetail",
openKeys: "sub1",
selectedKeys: "sub1",
pagename: "创建关卡",
},
{
href: "/manage/projectmanage",
href: "/projectmanage",
openKeys: "sub2",
selectedKeys: "sub2-1",
pagename: "项目",
},
{
href: "/manage/projectadd",
href: "/projectadd",
openKeys: "sub2",
selectedKeys: "sub2-1",
pagename: "创建项目",
},
{
href: "/manage/templatelibrary",
href: "/templatelibrary",
openKeys: "sub2",
selectedKeys: "sub2-2",
pagename: "模板库",
},
{
href: "/manage/libraryadd",
href: "/libraryadd",
openKeys: "sub2",
selectedKeys: "sub2-2",
pagename: "查看",
},
{
href: "/manage/coursemanage",
href: "/coursemanage",
openKeys: "sub3",
selectedKeys: "sub3-1",
pagename: "课件管理",
},
{
href: "/manage/coursewaremanage",
href: "/coursewaremanage",
openKeys: "sub3",
selectedKeys: "sub3-2",
pagename: "课程管理",
},
{
href: "/manage/certificatecenter",
href: "/certificatecenter",
openKeys: "sub8",
selectedKeys: "sub8",
pagename: "证书中心",
},
{
href: "/manage/systemmanage",
href: "/systemmanage",
openKeys: "sub9",
selectedKeys: "sub9",
pagename: "系统管理",
},
{
href: "/manage/researchmanage",
href: "/researchmanage",
openKeys: "sub5",
selectedKeys: "sub5",
pagename: "评估管理",

View File

@@ -58,10 +58,10 @@ export default {
state.openList.map((item, key) => {
if (item.href === value.href) {
if (state.openList.length === 1) {
if (state.openList[0].href !== "/manage/learningpath") {
if (state.openList[0].href !== "/learningpath") {
state.openList.splice(key, 1);
}
$router.push({ path: "/manage/learningpath" });
$router.push({ path: "/learningpath" });
} else {
if (value.active) {
if (key === state.openList.length - 1) {

View File

@@ -366,7 +366,7 @@ export default {
if (res.data.code === 200) {
message.success("编辑成功");
router.push({
path: "/manage/researchmanage",
path: "/researchmanage",
});
}
});

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-09 09:26:26
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-21 15:06:51
* @LastEditTime: 2022-11-21 17:42:50
* @FilePath: /fe-manage/src/router/config.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -12,7 +12,7 @@ context.keys().forEach((path) => {
// console.log('path', path)
const componentName = path.replace(/.*\/([^\\.\\/]*)\.vue$/, "$1");
routes.push({
path: `/manage/${componentName.toLowerCase()}/:id?`,
path: `/${componentName.toLowerCase()}/:id?`,
name: componentName,
component: () => context(path),
meta: {

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-09 09:26:26
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-21 14:55:13
* @LastEditTime: 2022-11-21 17:42:59
* @FilePath: /fe-manage/src/router/index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -12,13 +12,12 @@ const routes = [
{
path: '/',
name: '首页',
redirect: '/manage/learningpath'
redirect: '/learningpath'
},
...routesConfig
]
const router = createRouter({
history: createWebHistory(),
base: '/manage',
history: createWebHistory("/manage/"),
routes,
})

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-09 09:26:26
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-21 14:50:47
* @LastEditTime: 2022-11-21 17:43:07
* @FilePath: /fe-manage/src/store/index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -15,7 +15,7 @@ export default createStore({
: [
{
pagename: "学习路径",
href: "/manage/learningpath",
href: "/learningpath",
active: true,
},
],

View File

@@ -49,7 +49,7 @@
</div>
</div>
<div class="btns">
<!-- <router-link to="/manage/projectadd">
<!-- <router-link to="/projectadd">
<div class="btn btn3">
<div class="search"></div>
<div class="btnText">创建路径</div>
@@ -1213,7 +1213,7 @@ export default {
class="g1"
onClick={() => {
router.push({
path: "/manage/leveladd",
path: "/leveladd",
});
storage.set("routerId", text.record.id);
}}

View File

@@ -55,8 +55,8 @@
</div>
</div>
<div class="line"></div>
<router-link to="/manage/learningpath">
<div style="display: flex">
<router-link to="/learningpath"
><div style="display: flex">
<img class="img2" src="../../assets/images/leveladd/back.png" />
<div class="return">返回</div>
</div>
@@ -75,8 +75,11 @@
<div class="taskmain">快速创建项目详情</div>
</div>
<div class="second">
<router-link :to="{ path: '/manage/leveladddetail' }">
<div class="taskbox" style="background: linear-gradient(180deg, #fef3dd, #fffaf0)">
<router-link :to="{ path: '/leveladddetail' }">
<div
class="taskbox"
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left1.png" />
</div>
@@ -252,7 +255,7 @@
<div class="search"></div>
<div class="btnText">重置</div>
</div>
<router-link to="/manage/leveladddetail">
<router-link to="/leveladddetail">
<div class="btn btn3" @click="handleOut">
<div class="search"></div>
<div class="btnText">创建关卡</div>
@@ -274,15 +277,21 @@
<div class="onerow">
<div class="taskmain">任务大纲</div>
<router-link to="/manage/leveladddetail" class="editright">
<img class="editimg" src="../../assets/images/leveladd/edit.png" />
<router-link to="/leveladddetail" class="editright">
<img
class="editimg"
src="../../assets/images/leveladd/edit.png"
/>
<span class="editextb">编辑</span>
</router-link>
</div>
<!-- 无数据显示快速创建 -->
<div v-show="!taskSyllabus.length">
<router-link :to="{ path: '/manage/leveladddetail' }">
<div class="taskbox" style="background: linear-gradient(180deg, #fef3dd, #fffaf0)">
<router-link :to="{ path: '/leveladddetail' }">
<div
class="taskbox"
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left1.png" />
</div>

View File

@@ -194,7 +194,7 @@
<unlock-mode v-model:unlockModeVisible="unlockModeVisible" />
</div>
<div class="line"></div>
<router-link to="/manage/leveladd">
<router-link to="/leveladd">
<div style="display: flex">
<img
class="img2"
@@ -758,7 +758,7 @@
<unlock-mode v-model:unlockModeVisible="unlockModeVisible" />
</div>
<div class="line"></div>
<router-link to="/manage/leveladd">
<router-link to="/leveladd">
<div style="display: flex">
<img
class="img2"

View File

@@ -31,7 +31,7 @@
</div>
</div>
<div class="lne"></div>
<router-link to="/manage/leveladd">
<router-link to="/leveladd">
<div class="return">
<div class="im"></div>
<div class="fan">返回</div>

View File

@@ -6,7 +6,7 @@
<div
@click="backPage"
style="cursor: pointer"
to="/manage/projectmanage"
to="/projectmanage"
class="goback"
>
<span class="return"></span><span class="returntext">返回</span>
@@ -408,7 +408,7 @@ export default {
if (routers.query.name == undefined) {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}
@@ -481,7 +481,7 @@ export default {
const backPage = () => {
setTimeout(() => {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}, 400);
};
@@ -800,7 +800,7 @@ export default {
message.success("编辑成功");
setTimeout(() => {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}, 1000);
} else {
@@ -855,7 +855,7 @@ export default {
message.success("创建成功");
setTimeout(() => {
router.push({
path: "/manage/taskpage",
path: "/taskpage",
query: { id: res.data.data.projectId },
});
}, 1000);

View File

@@ -55,7 +55,7 @@
<div class="onerow">
<div class="taskmain">任务大纲</div>
<button class="btn" @click="showFaceIn">批量面授报名</button>
<router-link to="/manage/taskadd" class="edit">
<router-link to="/temTask" class="edit">
<img
class="editimg"
src="../../assets/images/projectadd/edit.png"
@@ -299,7 +299,7 @@
<div class="ntcc_tit">公告内容</div>
<div class="textarea">
<a-textarea
v-model:value="value2"
v-model:value="projectInfo.notice"
placeholder="公告信息最多输入150个字。"
:maxlength="textnum"
allow-clear
@@ -385,81 +385,67 @@
<div class="split"></div>
<a-tabs>
<a-tab-pane key="1" tab="编辑">
<div class="setting">
<div class="set_tit">
<div class="content7">
<!-- <div class="set_tit">
<span>基本信息</span>
<span class="editBtn" @click="toEdit">编辑</span>
</div>
<hr color="#E8E8E8" />
</div> -->
<!-- <div class="line"></div> -->
<div class="set_body">
<!-- <div class="edit" @click="showEditProj">
<div class="img"></div>
<div class="ed">编辑</div>
</div> -->
<div class="edit" @click="toEdit">
<div class="img"></div>
<div class="ed">编辑</div>
</div>
<div class="set_content">
<div class="setc_name"><span>模板名称</span></div>
<div class="setc_name"><span>项目名称</span></div>
<div class="setc_main">
<a-input v-model:value="formData.name"
:bordered="isEdit" :disabled="!isEdit"
style="width:300px;"
></a-input>
<span style="color: #999999">{{ projectInfo.name }}</span>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>封面图</span></div>
<div class="setc_main">
<a-upload
v-model:file-list="fileList"
name="file"
action="/api/file/upload"
@change="handleChange"
:disabled="!isEdit"
>
<img src="@/assets/images/projectadd/picture.png" alt="" />
</a-upload>
<img
style="width: 151px; height: 84px"
:src="picUrl"
alt=""
/>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>模板时间</span></div>
<div class="setc_name"><span>项目时间</span></div>
<div class="setc_main">
<a-range-picker v-model:value="formData.time"
:bordered="isEdit" :disabled="!isEdit" />
<span style="color: #999999"
>{{ projectInfo.beginTime }} {{ projectInfo.endTime }}</span
>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>项目经理</span></div>
<div class="setc_main">
<a-select
v-model:value="formData.manager" mode="multiple"
placeholder="请选择项目经理"
:size="large" :bordered="isEdit" :disabled="!isEdit"
style="width: 200px;color: #999999;" :options="managerOptions"
></a-select>
<span style="color: #999999">{{ projectInfo.manager }}</span>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>资源归属</span></div>
<div class="setc_main">
<a-select
v-model:value="formData.sourceBelongId"
placeholder="请选择资源归属"
:size="large" :bordered="isEdit" :disabled="!isEdit"
style="width: 200px;color: #999999;" :options="sourceBelongOptions"
></a-select>
<span style="color: #999999">{{ projectInfo.sourceBelong }}</span>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>模板说明</span></div>
<div class="setc_name"><span>项目说明</span></div>
<div class="setc_main">
<a-input v-model:value="formData.remark"
style="width:300px;"
:bordered="isEdit" :disabled="!isEdit"
></a-input>
<span style="color: #999999">{{ projectInfo.remark }}</span>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>同步学习记录</span></div>
<div class="setc_main" @click="changecheck2">
<a-radio v-model:checked="formData.courseSyncFlag"
:bordered="isEdit" :disabled="!isEdit"
<div class="setc_main">
<a-radio v-model:checked="projectInfo.courseSyncFlag"
><span style="color: #333333"
>同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span
></a-radio
@@ -469,38 +455,23 @@
<div class="set_content">
<div class="setc_name"><span>项目级别</span></div>
<div class="setc_main">
<a-select
v-model:value="formData.level"
placeholder="请选择项目级别"
:size="large" :bordered="isEdit" :disabled="!isEdit"
style="width: 200px;color: #999999;" :options="levelOptions"
></a-select>
<span style="color: #999999">{{ projectInfo.level }}</span>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>培训分类</span></div>
<div class="setc_name"><span>培训体系</span></div>
<div class="setc_main">
<a-select
v-model:value="formData.systemId"
placeholder="请选择培训分类"
:size="large" :bordered="isEdit" :disabled="!isEdit"
style="width: 200px;color: #999999;" :options="systemOptions"
></a-select>
<span style="color: #999999">{{ projectInfo.systemId }}</span>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>是否BOEU实施</span></div>
<div class="setc_main" @click="changecheck3">
<a-radio v-model:checked="formData.boeFlag"
:bordered="isEdit" :disabled="!isEdit"
<div class="setc_main">
<a-radio v-model:checked="projectInfo.boeFlag"
><span style="color: #333333">BOEU实施</span></a-radio
>
</div>
</div>
<div v-if="isEdit" style="transform: translateX(50%)">
<a-button @click="cancelEdit" style="background-color: #f9f9f9">取消</a-button>
<a-button @click="confirmEdit" style="background-color: #f5faff">保存</a-button>
</div>
</div>
</div>
</a-tab-pane>
@@ -677,47 +648,6 @@ export default defineComponent({
},
],
},
{
text: "阶段2腾飞班阶段2",
children: [
{
course: "讨论",
name: "时间管理",
classify: "选修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 20, //完成人数
percent: 40,
},
{
course: "测评",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "评估",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "投票",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
],
},
],
// 模板编辑列表
managerOptions:[
@@ -774,28 +704,23 @@ export default defineComponent({
src:"",
}
],
isEdit:false, // 是否处于编辑状态
// 基本信息
formData:{
name: "123",
time: "",
manager: "建国",
projectInfo:{
beginTime:null,
endTime:null,
name: null,
manager: null,
notice: null,
sourceBelongId: null,
remark: "",
courseSyncFlag: false,
level: null,
systemId: null,
boeFlag: false,
},
isEdit:false, // 是否处于编辑状态
projectInfo:{
beginTime:null,
endTime:null,
name: null,
manager: null,
}
});
const value = ref("");
const value2 = ref("");
const textnum = "150";
const routered = useRouter();
const changeopclo = () => {
@@ -813,58 +738,64 @@ export default defineComponent({
};
const confirmEdit = () => {
state.isEdit = false;
editTemplate()
getDetail();
};
const checkType = (type) => {
let typeRules = [
"",
"在线",
"面授",
"案例",
"作业",
"考试",
"直播",
"外链",
"讨论",
"活动",
"测评",
"评估",
"投票",
];
return typeRules[type];
};
onMounted(() => {getDetail()});
// 获取详情
const getDetail = () => {
api.templateDetail(1).then(res => {
console.log(res)
state.formData.name = res.data.data.projectInfo.name
state.formData.time = res.data.data.projectInfo.startTime+res.data.data.projectInfo.endTime;
state.formData.manager = res.data.data.projectInfo.manager
state.formData.sourceBelongId = res.data.data.projectInfo.sourceBelongId
state.formData.remark = res.data.data.stageList.remark
state.formData.courseSyncFlag = res.data.data.projectInfo.courseSyncFlag
state.formData.level = res.data.data.projectInfo.level
state.formData.systemId = res.data.data.projectInfo.systemId
state.formData.boeFlag = res.data.data.projectInfo.boeFlag
state.value2 = res.data.data.projectInfo.notice
state.taskSyllabus = []
console.log(res);
state.projectInfo.name = res.data.data.projectTemplateInfo.name
state.projectInfo.beginTime = res.data.data.projectTemplateInfo.createTime
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId
state.projectInfo.remark = res.data.data.stageList.remark
state.projectInfo.courseSyncFlag = res.data.data.projectTemplateInfo.courseSyncFlag
state.projectInfo.level = res.data.data.projectTemplateInfo.level
state.projectInfo.systemId = res.data.data.projectTemplateInfo.systemId
state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl
let data = res.data.data.stageList;
for(let i in data) {
state.taskSyllabus.push({text: data[i].name,children:[]});
for(let j in data[i].taskList) {
state.taskSyllabus[i].children.push({
course: checkType(data[i].taskList[j].type),
name: data[i].taskList[j].name,
classify: data[i].taskList[j].flag,
beginTime: "",
total: 0, //总人数
complete: 0, //完成人数
percent: 0,
})
}
}
}).catch(err => {
message.error("操作失败"+err)
console.log(err)
})
}
// 编辑项目模板
const editTemplate = () => {
let obj = {
"beginTime": state.formData.time,
"boeFlag": state.formData.boeFlag,
"category": 0,
"courseSyncFlag": state.formData.courseSyncFlag,
"endTime": state.formData.time,
"level": state.formData.level,
"manager": state.formData.manager,
"managerId": "",
"name": state.formData.name,
"notice": "",
"noticeFlag": 0,
"picUrl": "",
"projectTemplateId": 0,
"remark": state.formData.remark,
"sourceBelongId": state.formData.sourceBelongId,
"status": 0,
"systemId": state.formData.systemId
};
api.templateEdit(obj).methods(obj).then(res => {
message.success("编辑成功")
console.log(res)
}).catch(err => {
message.error("编辑失败"+err)
console.log(err)
})
}
// 发布公告
const addNotice = () => {
let obj = {
@@ -877,7 +808,7 @@ export default defineComponent({
"manager": "",
"managerId": "",
"name": "",
"notice": state.value2,
"notice": state.projectInfo.notice,
"noticeFlag": 0,
"picUrl": "",
"projectTemplateId": 0,
@@ -924,6 +855,7 @@ export default defineComponent({
},
});
}
// 新建或编辑阶段
const stateEdit = () => {
let obj={
@@ -963,7 +895,6 @@ export default defineComponent({
return {
...toRefs(state),
value,
value2,
textnum,
changeopclo,
changecheck2,
@@ -987,6 +918,73 @@ export default defineComponent({
});
</script>
<style lang="scss">
.content7 {
margin-top: 20px;
.set_tit {
margin-left: 34px;
font-size: 18px;
font-weight: 500;
color: #232425;
}
.line {
width: 100%;
height: 1px;
background-color: #e8e8e8;
margin-top: 10px;
}
.set_body {
margin-left: 34px;
margin-right: 34px;
position: relative;
.edit {
position: absolute;
width: 100px;
height: 40px;
background: #388be1;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
right: 0;
cursor: pointer;
.img {
width: 18px;
height: 18px;
background-image: url(../../assets/images/basicinfo/edit.png);
background-size: 100%;
margin-right: 7px;
}
.ed {
font-size: 14px;
font-weight: 400;
color: #ffffff;
}
}
.set_content {
margin: 32px auto;
display: flex;
// justify-content: end;
.setc_name {
width: 150px;
display: flex;
justify-content: end;
}
.setc_main {
flex: 1;
margin-left: 12px;
}
}
}
}
.editBtn {
float:right;
margin-right: 150px;

View File

@@ -6,7 +6,7 @@
<div
@click="backPage"
style="cursor: pointer"
to="/manage/projectmanage"
to="/projectmanage"
class="goback"
>
<span class="return"></span><span class="returntext">返回</span>
@@ -48,13 +48,17 @@
}
"
v-model:value="classifySelect"
placeholder="四个养成"
placeholder="请选择分类"
style="width: 100%"
:options="classifyList"
@change="classificationChange"
allowClear
showSearch
:disabled="viewDetail ? true : false"
:fieldNames="{
label: 'dictName',
value: 'dictCode',
}"
>
</a-select>
</div>
@@ -79,7 +83,18 @@
overflow: hidden;
"
>
<a-upload
<img
style="
width: 100px;
height: 100px;
margin-bottom: 4px;
margin-right: 4px;
"
v-if="imageUrl"
:src="imageUrl"
alt="avatar"
/>
<!-- <a-upload
v-model:file-list="fileList"
name="file"
list-type="picture-card"
@@ -102,13 +117,10 @@
alt="avatar"
/>
<div v-else>
<!-- <loading-outlined v-if="loading"></loading-outlined> -->
<!-- <plus-outlined v-else></plus-outlined> -->
<div class="box1"></div>
<div class="box2"></div>
<!-- <div class="ant-upload-text"></div> -->
</div>
</a-upload>
</a-upload> -->
</div>
</div>
<div class="name">
@@ -263,9 +275,14 @@
"
v-model:value="classifySelect3"
:options="classifyList3"
style="width: 100%"
@change="classificationChange3"
placeholder="集团级/组织级/现地级/部门级"
placeholder="请选择项目级别"
:disabled="viewDetail ? true : false"
:fieldNames="{
label: 'dictName',
value: 'dictCode',
}"
/>
</div>
</div>
@@ -286,8 +303,9 @@
"
v-model:value="classifySelect4"
:options="classifyList4"
style="width: 100%"
@change="classificationChange4"
placeholder="集团级/组织级/现地级/部门级"
placeholder="请选择培训分类"
:disabled="viewDetail ? true : false"
/>
</div>
@@ -392,7 +410,7 @@ import { message } from "ant-design-vue";
import { useRouter, useRoute } from "vue-router";
import dayjs from "dayjs";
import * as api from "../../api/index";
// import * as api1 from "../../api/index1";
import * as api1 from "../../api/index1";
import { storage } from "../../api/storage";
import { toDate } from "../../api/method";
import { useStore } from "vuex";
@@ -530,7 +548,7 @@ export default {
storage.remove("projectAddId");
setTimeout(() => {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}, 400);
};
@@ -558,15 +576,41 @@ export default {
});
const projectName = ref("");
const classifyList = ref([
{ value: 1, label: "管理者" },
{ value: 2, label: "领军者" },
{ value: 3, label: "产业人" },
]);
//分类
const classifyList = ref([]);
const getDictList = (param) => {
let obj = {
pageNo: 1,
pageSize: 20,
setCode: param,
};
api1
.getDict(obj)
.then((res) => {
console.log("获取字典成功", res);
if (res.status === 200) {
if (param === "projectClass") {
classifyList.value = res.data.data.rows;
}
if (param === "projectPic") {
if (res.data.data.rows.length > 0) {
imageUrl.value = res.data.data.rows[0].dictValue;
}
}
if (param === "projectLevel") {
classifyList3.value = res.data.data.rows;
}
}
})
.catch((err) => {
console.log("获取字典失败", err);
});
};
getDictList("projectClass");
getDictList("projectPic");
getDictList("projectLevel");
let projectType = "";
const classificationChange = (value) => {
console.log(`selected ${value}`);
projectType = value;
@@ -721,25 +765,9 @@ export default {
// 资源归属 sourceBelongId 后续给接口
const classifyList2 = computed(() => {
return store.state.orgtreeList ? store.state.orgtreeList : ref(null);
return store.state.orgtreeList ? store.state.orgtreeList : ref([]);
});
// //获取资源归属
// const orgTree = () => {
// api1
// .orgtree()
// .then((res) => {
// console.log("获取集团组织成功", res);
// if (res.status === 200) {
// classifyList2.value = res.data.data;
// }
// })
// .catch((err) => {
// console.log("获取集团组织失败", err);
// });
// };
// orgTree();
let sourceBelongIdC = "";
const classificationChange2 = (key) => {
console.log(`selected ${key}`, classifyList2);
@@ -748,10 +776,10 @@ export default {
// 项目级别
const classifyList3 = ref([
{ value: 1, label: "集团级" },
{ value: 2, label: "组织级" },
{ value: 3, label: "现地级" },
{ value: 4, label: "部门级" },
// { value: 1, label: "集团级" },
// { value: 2, label: "组织级" },
// { value: 3, label: "现地级" },
// { value: 4, label: "部门级" },
]);
let levels = "";
@@ -874,7 +902,7 @@ export default {
});
};
getTemplate();
//模版滚动加载信息
//模版滚动加载模板信息
const templateScroll = (e) => {
// console.log("滚动", e, b);
const { target } = e;
@@ -993,7 +1021,7 @@ export default {
message.success("编辑成功");
setTimeout(() => {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}, 1000);
} else {
@@ -1048,7 +1076,7 @@ export default {
message.success("创建成功");
setTimeout(() => {
router.push({
path: "/manage/taskpage",
path: "/taskpage",
query: { id: res.data.data.projectId },
});
}, 1000);

View File

@@ -259,7 +259,7 @@
</div>
</div>
<div class="modalMain">
<router-link to="/manage/projectadd">
<router-link to="/projectadd">
<div
class="taskbox"
style="
@@ -1513,7 +1513,7 @@ export default {
const createChildProject = () => {
console.log(state.currentProjectId);
router.push({
path: "/manage/sonproject",
path: "/sonproject",
query: {
projectId: state.currentProjectId,
name: state.currentProjectName,
@@ -2182,7 +2182,7 @@ export default {
>
{/*
<a-select-option value="基础信息" label="基础信息">
<router-link to="/manage/taskpage">基础信息</router-link>
<router-link to="/taskpage">基础信息</router-link>
</a-select-option>
<a-select-option value="存为模版" label="存为模版">
<div
@@ -2280,7 +2280,7 @@ export default {
>
{/*
<a-select-option value="基础信息" label="基础信息">
<router-link to="/manage/taskpage">基础信息</router-link>
<router-link to="/taskpage">基础信息</router-link>
</a-select-option>
<a-select-option value="存为模版" label="存为模版">
<div
@@ -2368,7 +2368,7 @@ export default {
>
{/*
<a-select-option value="基础信息" label="基础信息">
<router-link to="/manage/taskpage">基础信息</router-link>
<router-link to="/taskpage">基础信息</router-link>
</a-select-option>
<a-select-option value="存为模版" label="存为模版">
<div
@@ -2474,7 +2474,7 @@ export default {
<div
onClick={() => {
router.push({
path: "/manage/classadd",
path: "/classadd",
query: {
projectId: value.record.projectId,
name: value.record.name,
@@ -2482,7 +2482,7 @@ export default {
});
}}
style={{ cursor: "pointer" }}
to="/manage/classadd"
to="/classadd"
class="operation3"
>
创建班级
@@ -2566,7 +2566,7 @@ export default {
</a-select>
</div>
<router-link to="/manage/classadd" class="operation3">
<router-link to="/classadd" class="operation3">
创建班级
</router-link>
<div class="tableSelect">
@@ -2683,7 +2683,7 @@ export default {
}
if (value.record.parentId == "0") {
router.push({
path: "/manage/projectadd",
path: "/projectadd",
query: {
projectId: value.record.projectId,
name: value.record.name,
@@ -2692,7 +2692,7 @@ export default {
} else {
if (value.record.isbj) {
router.push({
path: "/manage/classadd",
path: "/classadd",
query: {
projectId: value.record.projectId,
name: value.record.paraentName,
@@ -2701,7 +2701,7 @@ export default {
});
} else {
router.push({
path: "/manage/sonproject",
path: "/sonproject",
query: {
projectId: value.record.projectId,
name: value.record.paraentName,
@@ -2728,7 +2728,7 @@ export default {
// }
// if (value.record.parentId == "0") {
// router.push({
// path: "/manage/projectadd",
// path: "/projectadd",
// query: {
// projectId: value.record.projectId,
// name: value.record.name,
@@ -2738,7 +2738,7 @@ export default {
// } else {
// if (value.record.isbj) {
// router.push({
// path: "/manage/classadd",
// path: "/classadd",
// query: {
// projectId: value.record.projectId,
// name: value.record.paraentName,
@@ -2748,7 +2748,7 @@ export default {
// });
// } else {
// router.push({
// path: "/manage/sonproject",
// path: "/sonproject",
// query: {
// projectId: value.record.projectId,
// name: value.record.paraentName,
@@ -2878,7 +2878,7 @@ export default {
<div
onClick={() => {
router.push({
path: "/manage/taskpage",
path: "/taskpage",
});
storage.set("projectId", value.record.projectId);
}}
@@ -2937,7 +2937,7 @@ export default {
<div
onClick={() => {
router.push({
path: "/manage/taskpage",
path: "/taskpage",
});
storage.set("projectId", value.record.projectId);
}}
@@ -2984,7 +2984,7 @@ export default {
<div
onClick={() => {
router.push({
path: "/manage/taskpage",
path: "/taskpage",
});
storage.set("projectId", value.record.projectId);
}}
@@ -2992,7 +2992,7 @@ export default {
基础信息
</div>
{/**
<router-link to="/manage/taskpage">基础信息</router-link>
<router-link to="/taskpage">基础信息</router-link>
*/}
</a-select-option>
</a-select>

View File

@@ -6,7 +6,7 @@
<div
@click="backPage"
style="cursor: pointer"
to="/manage/projectmanage"
to="/projectmanage"
class="goback"
>
<span class="return"></span><span class="returntext">返回</span>
@@ -408,7 +408,7 @@ export default {
if (routers.query.name == undefined) {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}
@@ -481,7 +481,7 @@ export default {
const backPage = () => {
setTimeout(() => {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}, 400);
};
@@ -800,7 +800,7 @@ export default {
message.success("编辑成功");
setTimeout(() => {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}, 1000);
} else {
@@ -855,7 +855,7 @@ export default {
message.success("创建成功");
setTimeout(() => {
router.push({
path: "/manage/taskpage",
path: "/taskpage",
query: { id: res.data.data.projectId },
});
}, 1000);

View File

@@ -149,7 +149,7 @@
<!-- <img class="img2" src="../../assets/images/projectadd/keep.png" />
<div class="pub">保存</div>
<div class="line"></div> -->
<router-link to="/manage/taskpage">
<router-link to="/taskpage">
<div style="display: flex">
<img
class="img2"

View File

@@ -86,7 +86,7 @@
</div>
</div>
<div class="line"></div>
<router-link to="/manage/projectmanage">
<router-link to="/projectmanage">
<div style="display: flex">
<img class="img2" src="../../assets/images/leveladd/back.png" />
<div class="return">返回</div>
@@ -321,8 +321,8 @@
<button class="btn" @click="showFaceIn" v-if="morFaceT">
批量面授报名
</button>
<router-link to="/manage/taskadd">
<button to="/manage/taskadd" class="edit">
<router-link to="/taskadd">
<button to="/taskadd" class="edit">
<img
class="editimg"
src="../../assets/images/projectadd/edit.png"
@@ -505,7 +505,7 @@
</a-collapse>
<!-- 无数据创建任务 v-if="taskSyllabus.length == 0"-->
<router-link
to="/manage/taskadd"
to="/taskadd"
class="taskbox"
style="
background: linear-gradient(180deg, #ddeaff, #f0f8fe);
@@ -3381,7 +3381,7 @@ export default {
list = state.fileList;
console.log("list", list);
let str = JSON.stringify(list);
console.log("str",str)
console.log("str", str);
//要编辑项目
editProj({
attach: str,
@@ -3425,7 +3425,7 @@ export default {
const toEdit = () => {
if (state.parentId == "0") {
routered.push({
path: "/manage/projectadd",
path: "/projectadd",
query: {
projectId: state.projectId,
name: state.name,
@@ -3434,7 +3434,7 @@ export default {
} else {
if (state.isbj !== null) {
routered.push({
path: "/manage/classadd",
path: "/classadd",
query: {
projectId: state.projectId,
// name: state.paraentName,
@@ -3444,7 +3444,7 @@ export default {
});
} else {
routered.push({
path: "/manage/sonproject",
path: "/sonproject",
query: {
projectId: state.projectId,
name: state.name,

View File

@@ -124,7 +124,7 @@ export default defineComponent({
{value.status === "已发布" ? (
<div class="nselect">
<div class="ops2">
<router-link to="/manage/libraryadd">
<router-link to="/libraryadd">
<div class="jc">
查看{" "}
<span style="color:#E9E9E9;margin-left:15px;">|</span>
@@ -150,7 +150,7 @@ export default defineComponent({
</div>
</div>
<div class="ops2">
<router-link to="/manage/libraryadd">
<router-link to="/libraryadd">
<div class="jc">
查看
<span style="color:#E9E9E9;margin-left:15px;">|</span>

File diff suppressed because it is too large Load Diff

View File

@@ -24,11 +24,10 @@
</div>
<div class="in">
<a-input
v-model:value="projectName"
v-model:value="projectInfo.name"
placeholder="请输入模板名称"
show-count
:maxlength="30"
:disabled="viewDetail ? true : false"
/>
</div>
</div>
@@ -47,14 +46,13 @@
return triggerNode.parentNode || document.body;
}
"
v-model:value="classifySelect"
placeholder="四个养成"
v-model:value="projectInfo.category"
placeholder="管理者"
style="width: 100%"
:options="classifyList"
@change="classificationChange"
allowClear
showSearch
:disabled="viewDetail ? true : false"
>
</a-select>
</div>
@@ -88,7 +86,6 @@
action="/api/file/upload"
:before-upload="beforeUpload"
@change="handleChange"
:disabled="viewDetail ? true : false"
>
<img
style="
@@ -126,8 +123,6 @@
:placeholder="[' 开始时间', ' 结束时间']"
v-model:value="rangevalue"
style="width: 100%; height: 40px; border-radius: 5px"
@change="onRangeChange"
:disabled="viewDetail ? true : false"
/>
</div>
</div>
@@ -146,7 +141,7 @@
return triggerNode.parentNode || document.body;
}
"
:value="classifySelect1"
:value="projectInfo.manager"
mode="multiple"
placeholder="请选择项目经理"
style="width: 100%"
@@ -154,7 +149,6 @@
@change="classificationChange1"
allowClear
showSearch
:disabled="viewDetail ? true : false"
>
</a-select>
</div>
@@ -175,11 +169,10 @@
return triggerNode.parentNode || document.body;
}
"
v-model:value="classifySelect2"
placeholder="自动带出 可修改"
v-model:value="projectInfo.sourceBelongId"
placeholder="项目一"
:options="classifyList2"
@change="classificationChange2"
:disabled="viewDetail ? true : false"
/>
</div>
</div>
@@ -189,12 +182,11 @@
</div>
<div class="in">
<a-textarea
v-model:value="remark"
v-model:value="projectInfo.remark"
style="height: 80px"
placeholder="请输入说明"
show-count
:maxlength="200"
:disabled="viewDetail ? true : false"
/>
</div>
</div>
@@ -205,8 +197,7 @@
<div class="in">
<a-radio
@click="changeChecked"
v-model:checked="checked"
:disabled="viewDetail ? true : false"
v-model:checked="projectInfo.courseSyncFlag"
><span
style="
width: 100%;
@@ -233,7 +224,7 @@
return triggerNode.parentNode || document.body;
}
"
v-model:value="classifySelect3"
v-model:value="projectInfo.level"
:options="classifyList3"
@change="classificationChange3"
placeholder="集团级/组织级/现地级/部门级"
@@ -256,7 +247,7 @@
return triggerNode.parentNode || document.body;
}
"
v-model:value="classifySelect4"
v-model:value="projectInfo.systemId"
:options="classifyList4"
@change="classificationChange4"
placeholder="集团级/组织级/现地级/部门级"
@@ -275,7 +266,7 @@
<div class="in">
<a-radio
@click="changeChecked1"
v-model:checked="checked1"
v-model:checked="projectInfo.boeFlag"
:disabled="viewDetail ? true : false"
><span
style="
@@ -308,46 +299,6 @@
</div>
</div> -->
</div>
<!-- 选择模板 ------------------------------ -->
<div class="template" style="display: none">
<div class="name">
<div class="inname" style="width: 50px">模版</div>
<div class="in select" style="margin-left: 2px">
<a-select
v-if="isEdit"
disabled="true"
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="classifySelect5"
placeholder="请选择模版"
:size="size"
style="width: 100%"
:options="classifyList5"
@change="classificationChange5"
>
</a-select>
<a-select
v-else
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="classifySelect5"
placeholder="请选择模版"
:size="size"
style="width: 100%"
:options="classifyList5"
@change="classificationChange5"
@popupScroll="templateScroll"
>
</a-select>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="btn">
@@ -363,10 +314,10 @@
import { reactive, toRefs, ref } from "vue";
import { message } from "ant-design-vue";
import { useRouter, useRoute } from "vue-router";
import dayjs from "dayjs";
import * as api from "../../api/index";
// import dayjs from "dayjs";
import * as api from "../../api/indexTemplate";
import { storage } from "../../api/storage";
import { toDate } from "../../api/method";
// import { toDate } from "../../api/method";
export default {
name: "projectAdd",
@@ -374,126 +325,16 @@ export default {
// 编辑页面跳转过来时候,自动填充表格
const routers = useRoute();
const isEdit = ref(false);
let peojectID = "";
// let peojectID = "";
if (routers.query.projectId) {
storage.set("projectAddId", routers.query.projectId);
isEdit.value = true;
peojectID = routers.query.projectId;
// 需要编辑
api
.getProjectDetail({ projectId: routers.query.projectId })
.then((res) => {
if (res.status == 200 && res.data.code == 200) {
let info = res.data.data.projectInfo;
console.log(info);
// projectName classifySelect imageUrl * classifySelect1 * remark checked classifySelect3 classifySelect4 changeChecked1 *
projectName.value = info.name;
state.classifySelect = classifyList.value[1]; // info.category
imageUrl.value = info.picUrl;
let start = toDate(info.beginTime / 1000, "YYYY/MM/DD");
let end = toDate(info.endTime / 1000, "YYYY/MM/DD");
state.rangevalue = [
dayjs(start, "YYYY/MM/DD"),
dayjs(end, "YYYY/MM/DD"),
];
let manageName = info.manager.split(",");
let manageValue = info.managerId.split(",");
let optionsManage = [];
for (let i = 0; i < manageName.length; i++) {
let obj = {
label: manageName[i],
value: manageValue[i],
};
optionsManage.push(obj);
}
console.log(optionsManage);
state.classifySelect1 = optionsManage;
state.classifySelect2 =
classifyList2.value[info.sourceBelongId - 1];
remark.value = info.remark;
state.checked = info.boeFlag ? info.boeFlag : false;
state.classifySelect3 = classifyList3.value[info.level];
state.classifySelect4 = classifyList4.value[info.systemId - 1];
state.checked1 = info.boeFlag ? info.boeFlag : false;
// fileList1.value = info.attach.split(",");
projectType = 1;
picUrl = info.picUrl;
beginTime = Number(info.beginTime / 1000);
endTime = Number(info.endTime / 1000);
manager = info.manager;
managerId = info.managerId;
sourceBelongIdC = Number(info.sourceBelongId);
courseSyncFlag = info.courseSyncFlag;
levels = info.level;
systemid = info.systemId;
boeFlag = info.boeFlag;
}
})
.catch((err) => {
console.log(err);
});
// peojectID = routers.query.projectId;
} else {
if (storage.get("projectAddId")) {
isEdit.value = true;
peojectID = storage.get("projectAddId");
// 需要编辑
api
.getProjectDetail({ projectId: storage.get("projectAddId") })
.then((res) => {
if (res.status == 200 && res.data.code == 200) {
let info = res.data.data.projectInfo;
console.log("我是从本地存储获取的id", info);
projectName.value = info.name;
state.classifySelect = classifyList.value[1]; // info.category
imageUrl.value = info.picUrl;
let start = toDate(info.beginTime / 1000, "YYYY/MM/DD");
let end = toDate(info.endTime / 1000, "YYYY/MM/DD");
state.rangevalue = [
dayjs(start, "YYYY/MM/DD"),
dayjs(end, "YYYY/MM/DD"),
];
let manageName = info.manager.split(",");
let manageValue = info.managerId.split(",");
let optionsManage = [];
for (let i = 0; i < manageName.length; i++) {
let obj = {
label: manageName[i],
value: manageValue[i],
};
optionsManage.push(obj);
}
console.log(optionsManage);
state.classifySelect1 = optionsManage;
state.classifySelect2 =
classifyList2.value[info.sourceBelongId - 1];
remark.value = info.remark;
state.checked = info.boeFlag ? info.boeFlag : false;
state.classifySelect3 = classifyList3.value[info.level];
state.classifySelect4 = classifyList4.value[info.systemId - 1];
state.checked1 = info.boeFlag ? info.boeFlag : false;
projectType = 1;
picUrl = info.picUrl;
beginTime = Number(info.beginTime / 1000);
endTime = Number(info.endTime / 1000);
manager = info.manager;
managerId = info.managerId;
sourceBelongIdC = Number(info.sourceBelongId);
courseSyncFlag = info.courseSyncFlag;
levels = info.level;
systemid = info.systemId;
boeFlag = info.boeFlag;
}
})
.catch((err) => {
console.log(err);
});
// peojectID = storage.get("projectAddId");
}
}
@@ -526,6 +367,19 @@ export default {
pageSize: 10, //每页10条数据
totalPages: 0, //总页数
viewDetail: routers.query.viewDetail ? routers.query.viewDetail : null,
projectInfo:{
beginTime:null,
endTime:null,
name: null,
manager: null,
notice: null,
sourceBelongId: null,
remark: "",
courseSyncFlag: false,
level: null,
systemId: null,
boeFlag: false,
}
});
const projectName = ref("");
@@ -536,11 +390,11 @@ export default {
{ value: 3, label: "产业人" },
]);
let projectType = "";
// let projectType = "";
const classificationChange = (value) => {
console.log(`selected ${value}`);
projectType = value;
// projectType = value;
};
function getBase64(img, callback) {
@@ -553,7 +407,7 @@ export default {
const fileList1 = ref([]);
const loading = ref(false);
const imageUrl = ref("");
let picUrl = "";
// let picUrl = "";
const handleChange = (info) => {
if (info.file.status === "uploading") {
@@ -562,7 +416,7 @@ export default {
}
if (info.file.status === "done") {
console.log("上传图片返回的信息 %o", info);
picUrl = info.file.response.data;
// picUrl = info.file.response.data;
// Get this url from response in real world.
getBase64(info.file.originFileObj, (base64Url) => {
imageUrl.value = base64Url;
@@ -577,7 +431,7 @@ export default {
let uplodaFileCount = false;
let attach = "";
// let attach = "";
let attachData = "";
const handleChange1 = (info) => {
if (info.file.status === "uploading") {
@@ -602,7 +456,7 @@ export default {
}
}
console.log(attachStr);
attach = attachStr;
// attach = attachStr;
if (info.fileList.length > 5) {
uplodaFileCount = true;
@@ -639,8 +493,6 @@ export default {
});
};
let beginTime = "";
let endTime = "";
const dateFormatList = ["YYYY/MM/DD"];
const onRangeChange = (value, dateString) => {
@@ -651,8 +503,8 @@ export default {
"Formatted Selected TimeStamp",
new Date(dateString[0]).getTime()
);
beginTime = new Date(dateString[0]).getTime() / 1000;
endTime = new Date(dateString[1]).getTime() / 1000;
// beginTime = new Date(dateString[0]).getTime() / 1000;
// endTime = new Date(dateString[1]).getTime() / 1000;
};
// 项目经理 后续接口调用
@@ -662,8 +514,6 @@ export default {
{ value: 3, label: "刘孟君" },
]);
let manager = "";
let managerId = "";
const classificationChange1 = (key, options) => {
console.log(`selected ${key}`, options);
let mstr = "";
@@ -686,8 +536,8 @@ export default {
}
}
state.classifySelect1 = newoptions;
manager = mstr;
managerId = midstr;
// manager = mstr;
// managerId = midstr;
};
// 资源归属 sourceBelongId 后续给接口
@@ -697,10 +547,10 @@ export default {
{ value: 3, label: "项目三" },
]);
let sourceBelongIdC = "";
// let sourceBelongIdC = "";
const classificationChange2 = (key) => {
console.log(`selected ${key}`, classifyList2);
sourceBelongIdC = key;
// sourceBelongIdC = key;
};
// 项目级别
@@ -711,10 +561,10 @@ export default {
{ value: 4, label: "部门级" },
]);
let levels = "";
// let levels = "";
const classificationChange3 = (key) => {
console.log(`selected ${key}`, classifyList3);
levels = key;
// levels = key;
};
// 培训体系
@@ -725,112 +575,11 @@ export default {
{ value: 4, label: "部门级" },
]);
let systemid = "";
// let systemid = "";
const classificationChange4 = (key) => {
console.log(`selected ${key}`, classifyList4);
systemid = key;
// systemid = key;
};
// 模版
const classifyList5 = ref([
// { value: 1, label: "模版一" },
// { value: 2, label: "模版二" },
// { value: 3, label: "模版三" },
// { value: 4, label: "模版四" },
]);
const classificationChange5 = (key) => {
console.log(`selected ${key}`, classifyList5.value);
//获取模版信息
let obj = {
projectId: Number(key),
};
api
.getProjectDetail(obj)
.then((res) => {
console.log("获取项目详情", res);
if (res.status === 200) {
let info = res.data.data.projectInfo;
console.log(info);
// projectName classifySelect imageUrl * classifySelect1 * remark checked classifySelect3 classifySelect4 changeChecked1 *
projectName.value = info.name;
state.classifySelect = classifyList.value[1]; // info.category
imageUrl.value = info.picUrl;
let start = toDate(info.beginTime / 1000, "YYYY/MM/DD");
let end = toDate(info.endTime / 1000, "YYYY/MM/DD");
state.rangevalue = [
dayjs(start, "YYYY/MM/DD"),
dayjs(end, "YYYY/MM/DD"),
];
let manageName = info.manager.split(",");
let manageValue = info.managerId.split(",");
let optionsManage = [];
for (let i = 0; i < manageName.length; i++) {
let obj = {
label: manageName[i],
value: manageValue[i],
};
optionsManage.push(obj);
}
console.log(optionsManage);
state.classifySelect1 = optionsManage;
state.classifySelect2 =
classifyList2.value[info.sourceBelongId - 1];
remark.value = info.remark;
state.checked = info.boeFlag ? info.boeFlag : false;
state.classifySelect3 = classifyList3.value[info.level];
state.classifySelect4 = classifyList4.value[info.systemId - 1];
state.checked1 = info.boeFlag ? info.boeFlag : false;
// fileList1.value = info.attach.split(",");
projectType = 1;
picUrl = info.picUrl;
beginTime = Number(info.beginTime / 1000);
endTime = Number(info.endTime / 1000);
manager = info.manager;
managerId = info.managerId;
sourceBelongIdC = Number(info.sourceBelongId);
courseSyncFlag = info.courseSyncFlag;
levels = info.level;
systemid = info.systemId;
boeFlag = info.boeFlag;
}
})
.catch((err) => {
console.log("获取详情失败", err);
});
};
//获取模版列表
const getTemplate = () => {
let obj = {
pageNo: state.currentPage,
pageSize: state.pageSize,
// projectId:id?id:''
};
api
.getProjectList(obj)
.then((res) => {
console.log("获取模版列表", res);
state.totalPages = Number(res.data.data.pages);
if (res.status === 200) {
let arr = res.data.data.rows;
let array = classifyList5.value;
arr.map((value) => {
let obj = {
value: value.projectId,
label: value.name,
};
array.push(obj);
});
classifyList5.value = array;
}
})
.catch((err) => {
console.log("获取模版列表失败", err);
});
};
getTemplate();
//模版滚动加载信息
const templateScroll = (e) => {
// console.log("滚动", e, b);
@@ -845,52 +594,34 @@ export default {
if (state.currentPage < state.totalPages) {
// 如果滑到底部,则加载下一页
state.currentPage++;
getTemplate();
}
}
};
// 项目说明
const remark = ref("");
// const removeFile = (file) => {
// const index = fileList1.value.indexOf(file);
// const newFileList = fileList1.value.slice();
// newFileList.splice(index, 1);
// fileList1.value = newFileList;
let courseSyncFlag = 0;
const changeChecked = () => {
console.log(state.checked);
state.checked ? (state.checked = false) : (state.checked = true);
courseSyncFlag = state.checked ? 1 : 0;
};
let boeFlag = 0;
const changeChecked1 = () => {
console.log(state.checked1);
state.checked1 ? (state.checked1 = false) : (state.checked1 = true);
boeFlag = state.checked1 ? 1 : 0;
};
const removeFile = (file) => {
const index = fileList1.value.indexOf(file);
const newFileList = fileList1.value.slice();
newFileList.splice(index, 1);
fileList1.value = newFileList;
let attachStr = "";
if (newFileList.length == 0) {
attachStr = "";
}
for (let i = 0; i < fileList1["value"].length; i++) {
console.log(fileList1["value"][i].response.data);
if (fileList1["value"].length - 1 == i) {
attachStr += fileList1["value"][i].response.data;
} else {
attachStr += fileList1["value"][i].response.data + ",";
}
}
attach = attachStr;
};
// let attachStr = "";
// if (newFileList.length == 0) {
// attachStr = "";
// }
// for (let i = 0; i < fileList1["value"].length; i++) {
// console.log(fileList1["value"][i].response.data);
// if (fileList1["value"].length - 1 == i) {
// attachStr += fileList1["value"][i].response.data;
// } else {
// attachStr += fileList1["value"][i].response.data + ",";
// }
// }
// attach = attachStr;
// };
const errorMsgs = {
name: "请输入项目名称",
category: "请选择项目分类",
name: "请输入模板名称",
category: "请选择模板分类",
picUrl: "请上传项目封面图",
beginTime: "请选择项目开始时间",
endTime: "请选择项目结束时间",
@@ -903,31 +634,26 @@ export default {
};
const createProject = () => {
console.log("我是否要编辑项目", isEdit.value);
if (isEdit.value) {
console.log("我要编辑项目", peojectID);
console.log("我要编辑项目", isEdit.value);
let obj = {
projectId: Number(peojectID),
name: projectName["value"],
category: projectType,
picUrl: picUrl,
beginTime: beginTime,
endTime: endTime,
manager: manager,
managerId: managerId,
sourceBelongId: sourceBelongIdC,
remark: remark["value"],
courseSyncFlag: courseSyncFlag,
level: levels,
systemId: systemid,
boeFlag: boeFlag,
attach: attach,
type: 3,
templateId: 0,
parentId: 0,
notice: "",
noticeFlag: 0,
status: 0,
"name": state.projectInfo.name,
"category": state.projectInfo.category,
"picUrl": "x",
"beginTime": state.projectInfo.rangevalue || 1,
"endTime": state.projectInfo.rangevalue || 1,
"manager": state.projectInfo.manager,
"managerId": state.projectInfo.managerId || 0,
"sourceBelongId": state.projectInfo.sourceBelongId,
"level": state.projectInfo.level,
"systemId": state.projectInfo.systemId,
"boeFlag": state.projectInfo.boeFlag,
"courseSyncFlag": state.projectInfo.courseSyncFlag,
"notice": "",
"noticeFlag": 0,
"projectTemplateId": 0,
"remark": "",
"status": 0,
};
console.log(obj);
@@ -940,9 +666,26 @@ export default {
return;
}
}
api
.createProject(obj)
.templateEdit({
"beginTime": 0,
"boeFlag": 0,
"category": 0,
"courseSyncFlag": 0,
"endTime": 0,
"level": 0,
"manager": "",
"managerId": "",
"name": "",
"notice": "",
"noticeFlag": 0,
"picUrl": "",
"projectTemplateId": 0,
"remark": "",
"sourceBelongId": 0,
"status": 0,
"systemId": 0
})
.then((res) => {
console.log(res);
if (res.status == 200 && res.data.code == 200) {
@@ -950,7 +693,7 @@ export default {
message.success("编辑成功");
setTimeout(() => {
router.push({
path: "/manage/projectmanage",
path: "/projectmanage",
});
}, 1000);
} else {
@@ -963,64 +706,37 @@ export default {
message.destroy();
message.error("编辑失败,请检查当前网络状态。");
});
} else {
let obj = {
name: projectName["value"],
category: projectType,
picUrl: picUrl,
beginTime: beginTime,
endTime: endTime,
manager: manager,
managerId: managerId,
sourceBelongId: sourceBelongIdC,
remark: remark["value"],
courseSyncFlag: courseSyncFlag,
level: levels,
systemId: systemid,
boeFlag: boeFlag,
attach: attach,
type: 3,
templateId: 10,
parentId: 0,
notice: "",
noticeFlag: 0,
status: 0,
};
console.log("提交的数据格式 %o", obj);
for (let i in errorMsgs) {
console.log(obj[i]);
if (obj[i] === "" || obj[i] === undefined) {
message.destroy();
message.warning(errorMsgs[i]);
return;
}
}
api
.createProject(obj)
.then((res) => {
console.log(res);
if (res.status == 200 && res.data.code == 200) {
message.destroy();
message.success("创建成功");
setTimeout(() => {
router.push({
path: "/manage/taskpage",
query: { id: res.data.data.projectId },
});
}, 1000);
} else {
message.destroy();
message.error("创建失败,请检查当前网络状态。");
}
})
.catch((err) => {
console.log(err);
message.destroy();
message.error("创建失败,请检查当前网络状态。");
});
}
};
// 编辑项目模板
const editTemplate = () => {
let obj = {
"beginTime": state.projectInfo.time,
"boeFlag": state.projectInfo.boeFlag,
"category": 0,
"courseSyncFlag": state.projectInfo.courseSyncFlag,
"endTime": state.projectInfo.time,
"level": state.projectInfo.level,
"manager": state.projectInfo.manager,
"managerId": "",
"name": state.projectInfo.name,
"notice": "",
"noticeFlag": 0,
"picUrl": "",
"projectTemplateId": 0,
"remark": state.projectInfo.remark,
"sourceBelongId": state.projectInfo.sourceBelongId,
"status": 0,
"systemId": state.projectInfo.systemId
};
api.templateEdit(obj).methods(obj).then(res => {
message.success("编辑成功")
console.log(res)
}).catch(err => {
message.error("编辑失败"+err)
console.log(err)
})
}
return {
...toRefs(state),
@@ -1031,7 +747,6 @@ export default {
classificationChange2,
classificationChange3,
classificationChange4,
classificationChange5,
fileList,
fileList1,
loading,
@@ -1045,18 +760,13 @@ export default {
classifyList2,
classifyList3,
classifyList4,
classifyList5,
remark,
changeChecked,
changeChecked1,
uplodaFileCount,
createProject,
removeFile,
// removeFile,
isEdit,
backPage,
dateFormatList,
editTemplate,
templateScroll,
};
},

View File

@@ -10,9 +10,9 @@
导出信息
</span>
</div>
<router-link to="/manage/researchmanage" class="goback">
<router-link to="/researchmanage" class="goback">
<span class="return"></span>
<router-link class="returntext" to="/manage/researchmanage">
<router-link class="returntext" to="/researchmanage">
返回
</router-link>
</router-link>

View File

@@ -3,9 +3,9 @@
<div class="researchadd">
<div class="header">
<span class="title">创建评估</span>
<router-link to="/manage/researchmanage" class="goback">
<router-link to="/researchmanage" class="goback">
<span class="return"></span>
<router-link class="returntext" to="/manage/researchmanage">
<router-link class="returntext" to="/researchmanage">
返回
</router-link>
</router-link>

View File

@@ -3,9 +3,9 @@
<div class="researchadd">
<div class="header">
<span class="title">创建评估</span>
<router-link to="/manage/researchmanage" class="goback">
<router-link to="/researchmanage" class="goback">
<span class="return"></span>
<router-link class="returntext" to="/manage/researchmanage">
<router-link class="returntext" to="/researchmanage">
返回
</router-link>
</router-link>
@@ -499,7 +499,7 @@ export default {
if (res.data.code === 200) {
message.success("编辑成功");
router.push({
path: "/manage/researchmanage",
path: "/researchmanage",
});
}
});
@@ -517,7 +517,7 @@ export default {
if (res.data.code === 200) {
message.success("创建成功");
router.push({
path: "/manage/researchmanage",
path: "/researchmanage",
});
}
});
@@ -526,7 +526,7 @@ export default {
const handleAllCancel = () => {
state.allFormsData = [];
router.push({
path: "/manage/researchmanage",
path: "/researchmanage",
});
};
const checkVal = (filterData) => {

View File

@@ -428,7 +428,7 @@ export default {
<div
class="jc"
onClick={() => {
handleToManagepage(value, "/manage/managepage");
handleToManagepage(value, "/managepage");
}}
>
管理
@@ -474,7 +474,7 @@ export default {
<div
class="jc"
onClick={() => {
handleToResearchadd(value, "/manage/researchadd");
handleToResearchadd(value, "/researchadd");
}}
>
基础信息

View File

@@ -327,7 +327,7 @@ export default {
};
const router = useRouter();
const golearningpath = () => {
router.push({ path: "/manage/learningpath", params: { id: 1 } });
router.push({ path: "/learningpath", params: { id: 1 } });
};
//下载二维码图片

View File

@@ -8,6 +8,7 @@
*/
const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
publicPath: '/manage',
// transpileDependencies: true,
devServer: {
port: 8080,