From f8d1a5c779cd419e022952a643bf430b1ed02c44 Mon Sep 17 00:00:00 2001 From: lixg Date: Tue, 15 Nov 2022 20:02:20 +0800 Subject: [PATCH 1/8] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/index.js | 8 +- src/api/method.js | 203 +++ src/components/TwoDimensionalCode.vue | 229 ++- src/components/drawers/OwnPower.vue | 723 +------- src/views/learningpath/LearningPath.vue | 10 +- src/views/projectcenter/ProjectAdd.vue | 2152 +++++++++++++---------- src/views/projectcenter/TaskPage.vue | 43 +- src/views/system/SystemManage.vue | 4 +- 8 files changed, 1590 insertions(+), 1782 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 2ccc90d6..1bfecc7f 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -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-09 09:32:35 + * @LastEditTime: 2022-11-15 16:43:26 * @FilePath: /fe-manage/src/api/index.js * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -64,8 +64,8 @@ export const handleProject = (obj) => http.post('/admin/project/handle', obj) export const taskStudentList = (obj) => http.post('/admin/project/taskStudentList', obj) - - - //获取讨论信息 export const getDiscussDetail=(obj)=>http.post('/discuss/getDiscussDetail',obj) + +//获取模版列表 +export const getTemplate=(obj)=>http.post('/admin/project/template/list',obj) diff --git a/src/api/method.js b/src/api/method.js index 21d43e0c..4fb3d4ff 100644 --- a/src/api/method.js +++ b/src/api/method.js @@ -165,9 +165,212 @@ function autoComma(number) { const commonData={ timeout:50 } + + +//组织树 +const organizationalTree= [ + { + title: "京东方", + value: "京东方", + children: [ + { + title: "产研部", + value: "产研部", + children: [ + { + title: "产品部", + value: "产品部", + }, + { + title: "研究部", + value: "研究部", + }, + { + title: "研究部2", + value: "研究部2", + }, + { + title: "研究3", + value: "研究3", + }, + { + title: "研究4", + value: "研究4", + }, + { + title: "研究部5", + value: "研究部5", + }, + { + title: "研究部6", + value: "研究部6", + }, + { + title: "研究部7", + value: "研究部7", + }, + { + title: "研究部8", + value: "研究部8", + }, + { + title: "研究部9", + value: "研究部9", + }, + ], + }, + { + title: "二级标题", + value: "二级标题", + children: [ + { + title: "三级标题", + value: "三级标题", + children: [ + { + title: "四级标题", + value: "四级标题", + children: [ + { + title: "五级标题", + value: "五级标题", + children: [ + { + title: "六级标题", + value: "六级标题", + children: [ + { + title: "七级标题", + value: "七级标题", + children: [ + { + title: "八级标题", + value: "八级标题", + children: [ + { + title: "九级标题", + value: "九级标题", + children: [ + { + title: "十级标题", + value: "十级标题", + children: [ + { + title: "十一级标题", + value: "十一级标题", + children: [ + { + title: "十二级标题", + value: "十二级标题", + children: [ + { + title: + "十三级标题十三级标题十三级标题十三级标题", + value: "十三级标题", + children: [ + { + title: + "十四级标题", + value: + "十四级标题", + children: [ + { + title: + "十五级标题", + value: + "十五级标题", + children: [ + { + title: + "十六级标题", + value: + "十六级标题", + children: + [ + { + title: + "十七级标题", + value: + "十七级标题", + children: + [ + { + title: + "十八级标题", + value: + "十八级标题", + children: + [ + { + title: + "十九级标题", + value: + "十九级标题", + children: + [ + { + title: + "二十级标题二十级标题", + value: + "二十级标题二十级标题", + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + title: "人力资源部", + value: "人力资源部", + children: [ + { + title: "人事部", + value: "人事部", + }, + { + title: "行政部", + value: "行政部", + }, + ], + }, + ], + }, +] export { toDate, getWeek, autoComma, commonData, + organizationalTree, } \ No newline at end of file diff --git a/src/components/TwoDimensionalCode.vue b/src/components/TwoDimensionalCode.vue index 4808d440..170693cf 100644 --- a/src/components/TwoDimensionalCode.vue +++ b/src/components/TwoDimensionalCode.vue @@ -7,25 +7,45 @@ :closable="closableQR" wrapClassName="codeModal" style="margin-top: 400px" - :zIndex="9999" + :zIndex="999" @cancel="qr_exit" >
- {{codeInfo.title?codeInfo.title:''}} + {{ + codeInfo.title ? codeInfo.title : "" + }}
-
-
{{codeInfo.name?codeInfo.name:''}}
- +
+
+
+ {{ codeInfo.name ? codeInfo.name : "" }} +
+ +
+
+
+ + + +
复制链接
- + diff --git a/src/components/drawers/AddActive.vue b/src/components/drawers/AddActive.vue index fb0719f1..0a265904 100644 --- a/src/components/drawers/AddActive.vue +++ b/src/components/drawers/AddActive.vue @@ -503,6 +503,7 @@ export default { border-radius: 8px; } .main_left { + margin-top:32px; padding-right: 30px; flex: 1; border-right: 1px solid #e8e8e8; diff --git a/src/components/drawers/AddCase.vue b/src/components/drawers/AddCase.vue index 93ad2825..86b9849b 100644 --- a/src/components/drawers/AddCase.vue +++ b/src/components/drawers/AddCase.vue @@ -227,6 +227,7 @@ } .contentMain { .main_items { + margin-top:32px; display: flex; justify-content: space-between; margin-bottom: 12px; diff --git a/src/components/drawers/AddDiscuss.vue b/src/components/drawers/AddDiscuss.vue index b2166686..e30307f1 100644 --- a/src/components/drawers/AddDiscuss.vue +++ b/src/components/drawers/AddDiscuss.vue @@ -294,6 +294,7 @@ export default { display: flex; justify-content: space-between; .main_left { + margin-top:32px; padding-right: 30px; flex: 1; border-right: 1px solid #e8e8e8; diff --git a/src/components/drawers/AddEval.vue b/src/components/drawers/AddEval.vue index 06daaada..3f894f99 100644 --- a/src/components/drawers/AddEval.vue +++ b/src/components/drawers/AddEval.vue @@ -316,6 +316,7 @@ export default { display: flex; justify-content: space-between; .main_left { + margin-top:32px; padding-right: 30px; flex: 1; border-right: 1px solid #e8e8e8; diff --git a/src/components/drawers/AddHomework.vue b/src/components/drawers/AddHomework.vue index c3c75f15..dbc751ac 100644 --- a/src/components/drawers/AddHomework.vue +++ b/src/components/drawers/AddHomework.vue @@ -245,7 +245,7 @@ export default { // }; const handleFinish = (values) => { console.log(values); - updateWork(props.workId); + updteHomeWork(); }; const handleFinishFailed = (errors) => { @@ -288,77 +288,40 @@ export default { console.log("state", bool); }; - const updateWork = () => { - state.addLoading = true; - if (props.edit) { - // 编辑任务 - myUpdateWorkTaskUsing(); - } else { - // 创建任务 - console.log("创建任务***************"); - myCreateWorkTask(); - } - }; + // 新增任务 - const myCreateWorkTask = () => { + const updteHomeWork = () => { let obj = { - createTime: "", - createUser: 0, submitEndTime: dayjs(formState.choosedTime[1]).format("YYYY-MM-DD"), submitStartTime: dayjs(formState.choosedTime[0]).format("YYYY-MM-DD"), - updateTime: "", - updateUser: 0, workEnclosureAddress: "", - workFlag: "", - workId: 0, + workId: props.edit?props.EditWorkId:0, workName: formState.workName, workRequirement: formState.workRequirement, - workTag: "", }; - createWorkTask(obj) + if(props.edit){ + updateWorkTaskUsing(obj) .then((res) => { - if (props.isLevel) { - // 如果是关卡页面进入 --------------------------------- - myRouterEditTask(res.data.data.workId); - } else { - myProjectEditTask(res.data.data.workId); - } + updateTask(res); + closeDrawer(); }) .catch((err) => { message.error(`添加失败${err}`); }); - }; - // 编辑任务 - const myUpdateWorkTaskUsing = () => { - let editObj = { - createTime: "", - createUser: 0, - submitEndTime: dayjs(formState.choosedTime[1]).format("YYYY-MM-DD"), - submitStartTime: dayjs(formState.choosedTime[0]).format("YYYY-MM-DD"), - updateTime: "", - updateUser: 0, - workEnclosureAddress: "", - workFlag: "", - workId: props.EditWorkId, - workName: formState.workName, - workRequirement: formState.workRequirement, - workTag: "", - }; - updateWorkTaskUsing(editObj) + }else{ + createWorkTask(obj) .then((res) => { - console.log(res); - if (props.isLevel) { - // 如果是关卡页面进入 --------------------------------- - myRouterEditTask(res.data.data.workId); - } else { - myProjectEditTask(res.data.data.workId); - } + updateTask(res); + closeDrawer(); }) .catch((err) => { - message.error(`编辑失败${err}`); + message.error(`添加失败${err}`); }); + } + }; + // 查询任务 const queryWork = () => { state.addLoading = true; @@ -381,57 +344,49 @@ export default { }); }; // 新增编辑或新增项目任务 - const myProjectEditTask = (workId) => { - let editObj = { - courseId: workId, - duration: 60, - flag: true, - name: formState.workName, - projectId: props.projectId, - projectTaskId: props.projectTaskId || 0, - stageId: props.chooseStageId, - type: 4, - }; - ProjectEditTask(editObj) - .then((res) => { - console.log(` 编辑项目成功的打印 ${res}`); - message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`); - ctx.emit("changeData", false); - state.addLoading = false; - closeDrawer(); - }) - .catch((err) => { - message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`); - console.log(` 编辑项目失败的打印 ${err}`); - }); - }; - // 新增编辑或新增关卡任务 - const myRouterEditTask = (testId) => { - let editObj1 = { + const updateTask = (res) => { + if(props.isLevel){ + let editObj1 = { chapterId: props.isactive, - courseId: testId, - duration: 30, - flag: true, - name: formState.workName, + courseId: res.data.data.workId, + name: res.data.data.workName, routerId: props.routerId, routerTaskId: props.routerTaskId || 0, type: 4, }; RouterEditTask(editObj1) - .then((res) => { - console.log(` 编辑关卡成功的打印 ${res}`); + .then(() => { message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); ctx.emit("changeData", false); state.addLoading = false; - closeDrawer(); }) - .catch((err) => { + .catch(() => { message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`); - console.log(` 编辑关卡失败的打印 ${err}`); }); + }else{ + let editObj = { + courseId: res.data.data.workId, + name:res.data.data.workName, + projectId: props.edit?props.projectId:0, + projectTaskId: props.projectTaskId || 0, + stageId: props.chooseStageId, + type: 4, + }; + ProjectEditTask(editObj) + .then(() => { + message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`); + ctx.emit("changeData", false); + state.addLoading = false; + }) + .catch(() => { + message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`); + }); + } + }; + return { afterVisibleChange, closeDrawer, @@ -446,7 +401,6 @@ export default { formRef, // layout, rules, - updateWork, ...toRefs(state), }; }, @@ -484,6 +438,7 @@ export default { padding-right: 30px; flex: 1; border-right: 1px solid #e8e8e8; + margin-top:32px; .main_item { display: flex; diff --git a/src/components/drawers/AddInvist.vue b/src/components/drawers/AddInvist.vue index dc7e3929..31374fc8 100644 --- a/src/components/drawers/AddInvist.vue +++ b/src/components/drawers/AddInvist.vue @@ -18,51 +18,38 @@ />
+
+
+
+
+
+ 已选择 0 +
+
+ 已选择 1 条; + 名称: {{assessment.name}} + 题数: {{assessment.num}} + 创建人: {{assessment.creator}} + 创建时间: {{assessment.time}} +
+
+ +
- -
-
+ +
-
搜索
+
选择评估
+
+
-
- -
重置
-
-
-
- - -
-
+
@@ -70,19 +57,21 @@
+
+
diff --git a/src/views/learningpath/LevelAddDetail.vue b/src/views/learningpath/LevelAddDetail.vue index aea37d17..47e89683 100644 --- a/src/views/learningpath/LevelAddDetail.vue +++ b/src/views/learningpath/LevelAddDetail.vue @@ -908,7 +908,7 @@ import AddDiscuss from "../../components/drawers/AddDiscuss.vue"; import AddActive from "../../components/drawers/AddActive.vue"; import AddEval from "../../components/drawers/AddEval.vue"; import AddInvist from "../../components/drawers/AddInvist.vue"; -import AddVote from "../../components/drawers/AddVote.vue"; +import AddVote from "../../components/vote/AddVote.vue"; import AddLive from "../../components/drawers/AddLive.vue"; import AddRef from "../../components/drawers/AddRef.vue"; import * as api from "../../api/indexLevel"; diff --git a/src/views/projectcenter/TaskAdd.vue b/src/views/projectcenter/TaskAdd.vue index bfa79cc6..2ed5f715 100644 --- a/src/views/projectcenter/TaskAdd.vue +++ b/src/views/projectcenter/TaskAdd.vue @@ -877,10 +877,10 @@ import AddTest from "../../components/drawers/AddTest.vue"; import AddLive from "../../components/drawers/AddLive.vue"; import AddRef from "../../components/drawers/AddRef.vue"; import AddDiscuss from "../../components/drawers/AddDiscuss.vue"; -import AddActive from "../../components/drawers/AddActive.vue"; +import AddActive from "../../components/drawers/AddActive.vue";s import AddEval from "../../components/drawers/AddEval.vue"; import AddInvist from "../../components/drawers/AddInvist.vue"; -import AddVote from "../../components/drawers/AddVote.vue"; +import AddVote from "../../components/vote/AddVote.vue"; import { message } from "ant-design-vue"; import * as api from "../../api/indexTaskadd"; import * as apistage from "../../api/indexStage"; diff --git a/src/views/system/SystemManage.vue b/src/views/system/SystemManage.vue index 215b48f6..6c7271f8 100644 --- a/src/views/system/SystemManage.vue +++ b/src/views/system/SystemManage.vue @@ -98,7 +98,7 @@ diff --git a/src/views/projectcenter/ProjectAdd.vue b/src/views/projectcenter/ProjectAdd.vue index 9d48e5f9..deb832c8 100644 --- a/src/views/projectcenter/ProjectAdd.vue +++ b/src/views/projectcenter/ProjectAdd.vue @@ -28,6 +28,7 @@ placeholder="请输入项目名称" show-count :maxlength="30" + :disabled="viewDetail ? true : false" />
@@ -53,6 +54,7 @@ @change="classificationChange" allowClear showSearch + :disabled="viewDetail ? true : false" > @@ -86,6 +88,7 @@ action="/api/file/upload" :before-upload="beforeUpload" @change="handleChange" + :disabled="viewDetail ? true : false" > @@ -150,6 +154,7 @@ @change="classificationChange1" allowClear showSearch + :disabled="viewDetail ? true : false" > @@ -174,6 +179,7 @@ placeholder="自动带出 可修改" :options="classifyList2" @change="classificationChange2" + :disabled="viewDetail ? true : false" /> @@ -188,6 +194,7 @@ placeholder="请输入说明" show-count :maxlength="200" + :disabled="viewDetail ? true : false" /> @@ -196,7 +203,10 @@
同步学习记录
-
@@ -249,6 +260,7 @@ :options="classifyList4" @change="classificationChange4" placeholder="集团级/组织级/现地级/部门级" + :disabled="viewDetail ? true : false" /> @@ -261,7 +273,10 @@
是否BOEU实施
- 您确定要复制此路径吗
-
+
取消
-
+
确定
@@ -1093,6 +1093,7 @@ export default { finishProjectId: null, //结束的项目id deleteProjectId: null, //删除的项目id templateProjectId: null, //存为模版的项目id + copyProjectId: null, //复制项目id }); // 数据接入 - start - const router = useRouter(); @@ -1922,6 +1923,34 @@ export default { const closeStartModal = () => { state.startModal = false; }; + //打开确认复制弹窗 + const showCopyModal = (projectId) => { + state.copyModal = true; + state.copyProjectId = projectId; + }; + //关闭确认复制弹窗 + const closeCopyModal = () => { + state.copyModal = false; + }; + //确认复制 + const copyProject = () => { + let obj = { + projectId: state.copyProjectId, + type: 2, + }; + api + .handleProject(obj) + .then((res) => { + console.log("复制成功", res); + message.destroy(); + message.success("复制成功"); + state.copyModal = false; + getTableDate(); + }) + .catch((err) => { + console.log("复制失败", err); + }); + }; // 数据接入 - end - @@ -2119,7 +2148,7 @@ export default {
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2190,7 +2219,7 @@ export default { { - // showCopyModal(); + // showCopyModal(value.record.projectId); // }} > @@ -2217,7 +2246,7 @@ export default {
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2279,7 +2308,7 @@ export default { { - // showCopyModal(); + // showCopyModal(value.record.projectId); // }} >
@@ -2305,7 +2334,7 @@ export default {
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2420,7 +2449,7 @@ export default {
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2502,7 +2531,7 @@ export default {
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2572,7 +2601,7 @@ export default {
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2640,7 +2669,52 @@ export default { 编辑 ) : ( - + { + console.log("单层子项目的编辑"); + console.log(value); + + { + /* 判断是班级\单层项目\单层子项目 */ + } + if (value.record.parentId == "0") { + router.push({ + path: "/projectadd", + query: { + projectId: value.record.projectId, + name: value.record.name, + viewDetail:1, + }, + }); + } else { + if (value.record.isbj) { + router.push({ + path: "/classadd", + query: { + projectId: value.record.projectId, + name: value.record.paraentName, + edit: 0, + viewDetail:1, + }, + }); + } else { + router.push({ + path: "/sonproject", + query: { + projectId: value.record.projectId, + name: value.record.paraentName, + edit: 0, + viewDetail:1, + }, + }); + } + } + }} + style="cursor:pointer;" + class="operation1" + > + 查看 + )}
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2774,16 +2848,16 @@ export default { // options={state.projectNameList} dropdownClassName="tabledropdown" > + +
{ + showCopyModal(value.record.projectId); + }} + > + 复制 +
+
- -
{ - showCopyModal(); - }} - > - 复制 -
-
{ showStartModal(value.record.projectId); @@ -2842,7 +2916,7 @@ export default {
{ - showCopyModal(); + showCopyModal(value.record.projectId); }} > 复制 @@ -2978,12 +3052,6 @@ export default { state.doublesonpro = true; state.sonproject = false; }; - const showCopyModal = () => { - state.copyModal = true; - }; - const closeCopyModal = () => { - state.copyModal = false; - }; const showProjOwner = () => { state.ProjOwnervisible = true; @@ -3098,6 +3166,7 @@ export default { finishProject, deleteProject, templateProject, + copyProject, }; }, }; diff --git a/src/views/projectcenter/SonProject.vue b/src/views/projectcenter/SonProject.vue index 040370df..be713def 100644 --- a/src/views/projectcenter/SonProject.vue +++ b/src/views/projectcenter/SonProject.vue @@ -26,7 +26,7 @@
子项目名称
- +
@@ -40,7 +40,7 @@ return triggerNode.parentNode || document.body; } " v-model:value="classifySelect" placeholder="四个养成" style="width: 100%" :options="classifyList" - @change="classificationChange" allowClear showSearch> + @change="classificationChange" allowClear showSearch :disabled="viewDetail ? true : false">
@@ -59,7 +59,7 @@ overflow: hidden; "> + :show-upload-list="false" action="/api/file/upload" :before-upload="beforeUpload" @change="handleChange" :disabled="viewDetail ? true : false"> + style="width: 100%; height: 40px; border-radius: 5px" @change="onRangeChange" :disabled="viewDetail ? true : false" />
@@ -98,7 +98,7 @@ return triggerNode.parentNode || document.body; } " :value="classifySelect1" mode="multiple" placeholder="请选择项目经理" style="width: 100%" :options="classifyList1" - @change="classificationChange1" allowClear showSearch> + @change="classificationChange1" allowClear showSearch :disabled="viewDetail ? true : false">
@@ -114,7 +114,7 @@ return triggerNode.parentNode || document.body; } " v-model:value="classifySelect2" placeholder="自动带出 可修改" :options="classifyList2" - @change="classificationChange2" /> + @change="classificationChange2" :disabled="viewDetail ? true : false" />
@@ -122,7 +122,7 @@
项目说明
- +
@@ -130,11 +130,11 @@
同步学习记录
- 同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程) + " >同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)
@@ -148,7 +148,7 @@ return triggerNode.parentNode || document.body; } " v-model:value="classifySelect3" :options="classifyList3" @change="classificationChange3" - placeholder="集团级/组织级/现地级/部门级" /> + placeholder="集团级/组织级/现地级/部门级" :disabled="viewDetail ? true : false" />
@@ -162,7 +162,7 @@ return triggerNode.parentNode || document.body; } " v-model:value="classifySelect4" :options="classifyList4" @change="classificationChange4" - placeholder="集团级/组织级/现地级/部门级" /> + placeholder="集团级/组织级/现地级/部门级" :disabled="viewDetail ? true : false" />
@@ -171,7 +171,7 @@
是否BOEU实施
- + @change="classificationChange5" >