From 8c22691c79d5f382ce044e55075bdaf192314c8e Mon Sep 17 00:00:00 2001 From: wyx <51903@qq.com> Date: Wed, 7 Dec 2022 19:15:45 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=BA=93=E5=85=B1=E4=BA=AB=E6=96=87=E6=A1=A3=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/projectcenter/LibraryAdd.vue | 89 +++++++++++++++----------- 1 file changed, 53 insertions(+), 36 deletions(-) diff --git a/src/views/projectcenter/LibraryAdd.vue b/src/views/projectcenter/LibraryAdd.vue index 9e70b9a5..044810a4 100644 --- a/src/views/projectcenter/LibraryAdd.vue +++ b/src/views/projectcenter/LibraryAdd.vue @@ -581,12 +581,12 @@
上传共享文档
- +
@@ -833,6 +833,8 @@ export default defineComponent({ seven1: null, seven2: null, edit: true, + fileList:[], + attachSwitch:true, // 共享文档列表 docList: [ { @@ -936,30 +938,25 @@ export default defineComponent({ state.taskSyllabus = []; console.log(res); state.projectInfo.name = res.data.data.projectTemplateInfo.name; - state.projectInfo.beginTime = - res.data.data.projectTemplateInfo.beginTime; + state.projectInfo.beginTime = res.data.data.projectTemplateInfo.beginTime; state.projectInfo.endTime = res.data.data.projectTemplateInfo.endTime; 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.managerId = - res.data.data.projectTemplateInfo.managerId; + state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId; + state.projectInfo.managerId = res.data.data.projectTemplateInfo.managerId; state.projectInfo.remark = res.data.data.projectTemplateInfo.remark; - state.projectInfo.courseSyncFlag = - res.data.data.projectTemplateInfo.courseSyncFlag; + 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.systemId = res.data.data.projectTemplateInfo.systemId; state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag; - state.projectInfo.noticeFlag = - res.data.data.projectTemplateInfo.noticeFlag; + state.projectInfo.noticeFlag = res.data.data.projectTemplateInfo.noticeFlag; state.projectInfo.remark = res.data.data.projectTemplateInfo.remark; state.projectInfo.status = res.data.data.projectTemplateInfo.status; state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl; state.projectInfo.attach = res.data.data.projectTemplateInfo.attach; - state.projectInfo.category = - res.data.data.projectTemplateInfo.category; + state.projectInfo.category = res.data.data.projectTemplateInfo.category; + state.fileList = JSON.parse(res.data.data.projectTemplateInfo.attach); + state.attachSwitch = res.data.data.projectTemplateInfo.attachSwitch == 1 ? true : false let data = res.data.data.stageList; console.log("data=====", data); for (let i in data) { @@ -1136,25 +1133,23 @@ export default defineComponent({ let str = JSON.stringify(fileList); console.log("str", str); console.table({ - name: state.projectInfo.name, - category: state.projectInfo.category, - picUrl: state.projectInfo.picUrl, - beginTime: new Date(state.projectInfo.beginTime).getTime() / 1000, - endTime: new Date(state.projectInfo.endTime).getTime() / 1000, - 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 ? 1 : 0, - courseSyncFlag: state.projectInfo.courseSyncFlag ? 1 : 0, - notice: state.projectInfo.notice, - noticeFlag: state.projectInfo.noticeFlag, - projectTemplateId: Number(localStorage.getItem("projectTemplateId")), - remark: state.projectInfo.remark, - status: state.projectInfo.status, - attach: str, - }); + name: state.projectInfo.name, + category: state.projectInfo.category, + picUrl: state.projectInfo.picUrl, + 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 ? 1 : 0, + courseSyncFlag: state.projectInfo.courseSyncFlag ? 1 : 0, + notice: state.projectInfo.notice, + noticeFlag: state.projectInfo.noticeFlag, + projectTemplateId: localStorage.getItem("projectTemplateId"), + remark: state.projectInfo.remark, + status: state.projectInfo.status, + attach: str, + }); //要编辑项目 api .templateEdit({ @@ -1189,6 +1184,27 @@ export default defineComponent({ message.error(`${file.name} 文件上传失败.`); } }; + + // 设置上传图片开关 + const checkedClose = (data, a) => { + console.log(data, a); + state.attachSwitch = data; + + // 更新开关状态 + api + .templateEdit({ + sourceBelongId: state.projectInfo.sourceBelongId, + projectTemplateId: localStorage.getItem("projectTemplateId"), + attachSwitch: state.attachSwitch?1:-1 + }) + .then((res) => { + console.log("开关更新成功", res); + }) + .catch((err) => { + console.log("开关更新失败", err); + }); + }; + //设置积分规则 const editRule = () => { let obj = { @@ -1269,6 +1285,7 @@ export default defineComponent({ editRule, handleChange2, scoresum, + checkedClose }; }, }); From 4274e6ce0d855cf18ede92b97030d5b026f5ba46 Mon Sep 17 00:00:00 2001 From: wyx <51903@qq.com> Date: Wed, 7 Dec 2022 20:33:30 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix:=E5=BE=85=E5=AE=A1=E6=A0=B8=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/indexAudit.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/api/indexAudit.js b/src/api/indexAudit.js index 4ce63f8a..e86bc277 100644 --- a/src/api/indexAudit.js +++ b/src/api/indexAudit.js @@ -1,7 +1,8 @@ import http from "./config"; //获取待审核面授课列表 -export const list = (obj) => http.post('/admin/offcourse/list', obj) +export const list = (obj) => http.post('/admin/offcourse/listToBeReviewed', obj) +// export const list = (obj) => http.post('/admin/offcourse/list', obj) //获取待审核项目列表 export const projlist = (obj) => http.post('/admin/project/list', obj) From 48a4a67089fba431cb6aeb373e9e15311b8deb41 Mon Sep 17 00:00:00 2001 From: wyx <51903@qq.com> Date: Wed, 7 Dec 2022 21:04:32 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=E6=A8=A1=E6=9D=BF=E5=BA=93=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=98=BE=E7=A4=BA=E5=88=A4=E6=96=AD=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E9=98=B6=E6=AE=B5=E6=98=BE=E7=A4=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/projectcenter/LibraryAdd.vue | 8 ++++++-- src/views/projectcenter/temTask.vue | 13 ++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/views/projectcenter/LibraryAdd.vue b/src/views/projectcenter/LibraryAdd.vue index 044810a4..9b71d705 100644 --- a/src/views/projectcenter/LibraryAdd.vue +++ b/src/views/projectcenter/LibraryAdd.vue @@ -955,13 +955,17 @@ export default defineComponent({ state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl; state.projectInfo.attach = res.data.data.projectTemplateInfo.attach; state.projectInfo.category = res.data.data.projectTemplateInfo.category; - state.fileList = JSON.parse(res.data.data.projectTemplateInfo.attach); + try{ + state.fileList = JSON.parse(res.data.data.projectTemplateInfo.attach); + }catch{ + state.fileList = []; + } state.attachSwitch = res.data.data.projectTemplateInfo.attachSwitch == 1 ? true : false let data = res.data.data.stageList; console.log("data=====", data); for (let i in data) { console.log("what ------ > ", i, data); - state.taskSyllabus.push({ text: data[i].name, children: [] }); + state.taskSyllabus.push({ text: data[i].name?data[i].name:'无阶段任务', children: [] }); for (let j in data[i].taskList) { state.taskSyllabus[i].children.push({ course: checkType(data[i].taskList[j].type), diff --git a/src/views/projectcenter/temTask.vue b/src/views/projectcenter/temTask.vue index 16edf221..7d014940 100644 --- a/src/views/projectcenter/temTask.vue +++ b/src/views/projectcenter/temTask.vue @@ -148,7 +148,7 @@ - +
{ @@ -1525,11 +1531,12 @@ export default { api .templateDetail(localStorage.getItem("projectTemplateId")) .then((res) => { + console.log('获取的任务列表信息',res) if (res.status == 200) { console.log("22222", res.data.data.stageList); state.projectTitle = res.data.data.projectTemplateInfo.name; state.picUrl = res.data.data.projectTemplateInfo.picUrl; - let leng = res.data.data.stageList.length; + let leng = res.data.data.stageList[0].name!==null ?res.data.data.stageList.length:0; if (leng > 0) { let stage = localStorage.getItem("templateStageId") ? localStorage.getItem("templateStageId") From 472eb3c01958060ccfd9151c5990f2d756138978 Mon Sep 17 00:00:00 2001 From: wyx <51903@qq.com> Date: Wed, 7 Dec 2022 21:07:19 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix:=E6=A8=A1=E6=9D=BF=E5=BA=93=E5=85=AC?= =?UTF-8?q?=E5=91=8A=E5=8F=91=E5=B8=83=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/projectcenter/LibraryAdd.vue | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/views/projectcenter/LibraryAdd.vue b/src/views/projectcenter/LibraryAdd.vue index 9b71d705..9d2c61d7 100644 --- a/src/views/projectcenter/LibraryAdd.vue +++ b/src/views/projectcenter/LibraryAdd.vue @@ -310,9 +310,9 @@ />
 
-
+
-
发布
+
发布
@@ -992,8 +992,6 @@ export default defineComponent({ name: state.projectInfo.name, category: state.projectInfo.category, picUrl: state.projectInfo.picUrl, - beginTime: new Date(state.projectInfo.beginTime).getTime(), - endTime: new Date(state.projectInfo.endTime).getTime(), manager: state.projectInfo.manager, managerId: state.projectInfo.managerId || 0, sourceBelongId: state.projectInfo.sourceBelongId, From 3f7f89eaea10fdffdd87b9e2cc7d0e7c745851f5 Mon Sep 17 00:00:00 2001 From: wyx <51903@qq.com> Date: Wed, 7 Dec 2022 21:11:59 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix:=E6=A8=A1=E6=9D=BF=E5=BA=93=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E4=BF=A1=E6=81=AF=E5=B1=95=E7=A4=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/projectcenter/LibraryAdd.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/projectcenter/LibraryAdd.vue b/src/views/projectcenter/LibraryAdd.vue index 9d2c61d7..652a32ee 100644 --- a/src/views/projectcenter/LibraryAdd.vue +++ b/src/views/projectcenter/LibraryAdd.vue @@ -2,7 +2,7 @@
- +
{{ projectInfo.name || "-" }}
@@ -497,7 +497,7 @@
@@ -953,6 +953,7 @@ export default defineComponent({ state.projectInfo.remark = res.data.data.projectTemplateInfo.remark; state.projectInfo.status = res.data.data.projectTemplateInfo.status; state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl; + state.picUrl = res.data.data.projectTemplateInfo.picUrl; state.projectInfo.attach = res.data.data.projectTemplateInfo.attach; state.projectInfo.category = res.data.data.projectTemplateInfo.category; try{ From bdf6418b495be311dc266435c025f7b0d6ec0c41 Mon Sep 17 00:00:00 2001 From: lixg Date: Wed, 7 Dec 2022 21:14:45 +0800 Subject: [PATCH 6/6] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/project/finish.png | Bin 0 -> 1339 bytes src/assets/images/project/reviewrecall.png | Bin 0 -> 1100 bytes src/assets/images/project/reviewsubmit.png | Bin 0 -> 1103 bytes src/views/projectcenter/TaskPage.vue | 150 +++++++++++++++++---- 4 files changed, 125 insertions(+), 25 deletions(-) create mode 100644 src/assets/images/project/finish.png create mode 100644 src/assets/images/project/reviewrecall.png create mode 100644 src/assets/images/project/reviewsubmit.png diff --git a/src/assets/images/project/finish.png b/src/assets/images/project/finish.png new file mode 100644 index 0000000000000000000000000000000000000000..a82b31eadeac1fe4be19deb3c785836b8f6e1317 GIT binary patch literal 1339 zcmV-B1;qM^P)Px(^+`lQR9HvVSzSyVRTw?rtcG2{0=vt$vr@68K`5w@QYmc{Yf2NNsOXb1)*3aM z)8>2DQL}Jn>ls@P~VXq%~14P6Gaax!mp}|KpKMG}x*@6k>Ln1n0Qh-4ieJa~4o+qM|9#B^(7a2+_p8)if!E9E; zk4Np!CmM-vEGNkL^UBHNuF3dEy# z5U~l-gddIf;nG}CG+Z}sQ>hm(*K`PTs5YsI0?F{B#H3@Qs1N){aXAqY4cCopD&L5G z)$PI@1h$X&=o>`rT~X9bY7XB_|AK+Yc~MACT$`&N9rArBwiOw`(?JR(mG_9@H4zl= z$@5ny@Zh>Fn21l~du0s6QNIWjTb;Go;o6MqVh{SKM$k}Jjr9(<5EeiW1ry500A3P7 z@C4(rP>#RG=R%s`Gc)756wT!|n!uV;Is5+Yu_I`8)@dIs)Cfln3B8tzG8JLzGcLaW$_QpsF)g0gRD-R@&}3Tb(W|MrCiuIE5BHXBz;@SW zY$#cqlb?&`@BOm@>~uG1qd*`N9@Qq3czM$EXfUB@Vt$PNifzt1v^ww7#12L;V&u=? zwBg_FX~LRY7gvr(J(?*`!UcaNkNW2V7zq2|yO#cUYT!9tT=oIE#4Hh`@!|+=VlLSg5Uto<~gxT!83oMfjUlvANUy_CMM#lgf6=CGPCJ zS)B(E885AhBONZ5ACgTaqrD7x()>g)g**|pJ0BN5B+H2XZ;u^WuWWZcXXw~*Xe?gAMGie!P6iO(aAnme2a1Ws` zdf~F+px06HSwSxwmZ#&_HxjXD0OFhT#l6PLof#tFD+a0OU%$T5(=nM0*V002ovPDHLkV1g5oZ0-O6 literal 0 HcmV?d00001 diff --git a/src/assets/images/project/reviewrecall.png b/src/assets/images/project/reviewrecall.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e7c004420bdf9492bc0cc95f941690c0a2e7a3 GIT binary patch literal 1100 zcmV-S1he~zP)Px(21!IgR9HvVnM;UURTzN3|2{IW&P1(g!PyHUxX?ur+~`g>ZfvAg3Z>dw3q_@< z3q?g27DPm}HdH8lOgfL;bMG(b&Lm_qH_4eKOq#R2 z=bZol?*BS3q0jcydm7B=377K((+2O(3Svc0O`^*I$@C(out@ae2V(kBl?vTyE0;CL z0u#n#T-NYi=Ic1|dX@F5SyqZgskzK)9{q?4174{95+H|S<^=$K)-cuK0BWOr0v zE@?ilF*RtoEP08~>fw`AL`1Xt+k##>r}ug>6T1Of*WpjFcJLSrS+JR)yJ^W*Ls-kc z@Tx4de%}UaV{)d(J-cbiR$acwQftg^0kzrv_X8B#B~BuQ>hmV>EHJC^n+S(|WhI7d zz`hoxw|qDd3zMqM2|NPaQ25@9IqTUnmCjfL$uPD5`MYd4!BOdOg&yQHBFA5FNt0lc(YUDbC z2HeQ#zp3z%2#vqrVsWJ)@D8wlTPzx8JL!u8%#o9F%Z^DwOC=3wY81L9P@E0gZCcxY zzYD0Hm{)E;b6VC@P}g!a4A3>h%F)-Ql7e3PO813kBer^QeYa_SS#-@KIeJR|k#br6 z_~!Qb$&x+{i&~DQ9P{Fm?RDrOf>xybrS6FnW?cN&4pfz&Mbdr2V=Z#7tFkJ>6It?I zlF81Cm8x9+TxWb?PhX(IVfFdNH+-$|)Mh#PF%Edii+CL2N9X&`fz*Osm@nAbqOPJ zNj412_I&MFhaHKF+&b(?T#YwJ{aydq(3+xm{qs#$P04x?%Z(wSPcp~{vHtPx(2}wjjR9HvVnZ1u&MG(M$^FDk&J9h>WC%}P7k3<0lH6=7uvBU*MM1V{<=>!xg z1)qWfIs^o;Qba@$B&PxjL`9u~2oU@Oh)7%xavwI%o&DY$w7&S{k7vL2v%_ImmUedL zx3e?zW_N`d`^hwTe|S^9^#XpafVU9f{L`SVH=jdm9?`-UL2--LV{c0^slC*|)v9LL zU_Nlj$_}m#h-L|Q>+I&2Xp~CQw3*W{GdA#r3!2T>SO^6_jls?wS7{MYFTEl+$I)XA zY_|RPB87}HH;#cMSf+AH%`d=jwx?3Ka+?J_^ZEq3;=)ru^t{(xK#0`E8hpS7~gNx;J*ct(dRfqGo^ci4?QUQl?wN4K!)ws>%qJ-5Y1_s69N_)J+Ia=jz74_v9Jzu2Uhlt5uT zaMHA)<4M3~VnO-)iB;J(|M!7y%h*8x?*ueXzbu}yKkUvXF_Vg)F7+pz@>mHN}GvfT#$;zM0@g+sRmSokRlS;i&rD3^ibX@EP4 zx98z8TF5ay{G%!-9Wj-OD)7L#b+{vMy13GFa$`Ec%10txRX7La+D4Qsp~opd;&7yG z*!$vk&^9D`fF}(JRlfCD?7KV@!97vb4uiXgg_|vKZ%9lh>AnsfR()kj zBi01&kEHF{{_d@Z-4?hf>84oLz882Sg5$Cm9!HWA*%o*^LswawwGW5!!lmga=T=O$??PWVG(l_vlTc5V94Q=3Uo1nNOQfk^sk4VOFnnP%6 zV3_O>Y7AQ)^BvA2lwkCMb;Lq$pj0K|y@`+c#>h-vq;$M8P6szZNW@MZ`>Lv=Wu`6z z55m(EU$=IkXX-+`13gnu2Hlx4GmkR;={z&fUU79O?qM-Ahxjhh|K?$F+O^kK-@n&Y V9ZMQF@Z$gg002ovPDHLkV1iim3E2Pu literal 0 HcmV?d00001 diff --git a/src/views/projectcenter/TaskPage.vue b/src/views/projectcenter/TaskPage.vue index c08707e7..c17ff298 100644 --- a/src/views/projectcenter/TaskPage.vue +++ b/src/views/projectcenter/TaskPage.vue @@ -17,31 +17,33 @@ @click="showCodeModel2()" />
+ - - -
+ + + + + - {{ act }} -
- -
- {{ act }} -
+ class="img2" + src="../../assets/images/project/reviewrecall.png" + /> + +
{{ act }}
+ +
+ {{ act }} +
+ +
+ {{ act }} +
+ +
+ {{ act }} +
+
取消
-
+
确定
@@ -1725,7 +1755,37 @@
- + + +
+
+
+
+
+ 提示 +
+
+
+ 您确定要撤回审核吗 +
+
+
+
+
取消
+
+
+
确定
+
+
+
+
+
{ + const submitReviewProject = () => { let obj = { projectId: state.projectId, type: 3, @@ -2887,6 +2948,8 @@ export default { message.success("提交成功"); state.reviewModal = false; getTaskInfo(); + // getTask(); + reget(); }) .catch((err) => { console.log("提交失败", err); @@ -3802,6 +3865,7 @@ export default { getTask({ projectId: state.projectId, }).then((res) => { + console.log("获取项目状态", res); state.action = res.data.data.projectInfo.status; state.act = state.action == 2 @@ -3809,7 +3873,9 @@ export default { : state.action == 0 ? "提交审核" : state.action == 1 - ? "撤回" + ? "撤回审核" + : state.action == 3 + ? "撤回发布" : state.action == -1 ? "" : "-"; @@ -3852,9 +3918,10 @@ export default { console.log("点击发布"); let obj = { projectId: state.releaseProjectId, + type: 4, }; apiproj - .releaseProject(obj) + .handleProject(obj) .then((res) => { console.log("发布成功", res); message.destroy(); @@ -3878,7 +3945,7 @@ export default { const recallProject = () => { let obj = { projectId: state.projectId, - type: 0, + type: -4, }; apiproj .handleProject(obj) @@ -3893,6 +3960,36 @@ export default { console.log("撤回失败", err); }); }; + + //打开撤回审核弹窗 + const showRecallReviewModal = () => { + state.recallReviewModal = true; + }; + //确认撤回审核 + const recallReviewProject = () => { + let obj = { + projectId: state.projectId, + type: -3, + }; + console.log("撤回成功obj", obj); + apiproj + .handleProject(obj) + .then((res) => { + console.log("撤回成功", res); + message.destroy(); + message.success("撤回成功"); + state.recallReviewModal = false; + reget(); + }) + .catch((err) => { + console.log("撤回成功", err); + }); + }; + //关闭提交审核弹窗 + const closeRecallReviewModal = () => { + state.recallReviewModal = false; + }; + //关闭结束弹窗 const closeStopModal = () => { state.stopModal = false; @@ -4162,7 +4259,10 @@ export default { checkedClose, submitExamine, closeReviewModal, + showRecallReviewModal, recallReviewProject, + closeRecallReviewModal, + submitReviewProject, showCodeModel, showCodeModel2, checkType,