Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	src/views/projectcenter/ProjectAdd.vue
#	src/views/projectcenter/ProjectManage.vue
This commit is contained in:
yuping
2022-12-10 16:41:41 +08:00
4 changed files with 818 additions and 791 deletions

View File

@@ -153,8 +153,8 @@
<router-link to="/coursemanage">课件管理</router-link>
</a-menu-item>
</a-sub-menu>
<a-menu-item key="sub4" @titleClick="titleClick">
<!-- 2022-12-10注释 后面放开 -->
<!-- <a-menu-item key="sub4" @titleClick="titleClick">
<div class="imgBox">
<img
style="width: 19px; height: 19px"
@@ -162,9 +162,9 @@
/>
</div>
<span>考试中心</span>
</a-menu-item>
<a-menu-item key="sub5" @titleClick="titleClick">
</a-menu-item> -->
<!-- 2022-12-10注释 后面放开 -->
<!-- <a-menu-item key="sub5" @titleClick="titleClick">
<div class="imgBox">
<img
style="width: 16px; height: 16px"
@@ -172,9 +172,9 @@
/>
</div>
<router-link to="/researchmanage">评估管理</router-link>
</a-menu-item>
<a-menu-item key="sub6" @titleClick="titleClick">
</a-menu-item> -->
<!-- 2022-12-10注释 后面放开 -->
<!-- <a-menu-item key="sub6" @titleClick="titleClick">
<div class="imgBox">
<img
style="width: 17px; height: 15px"
@@ -182,9 +182,9 @@
/>
</div>
<span>报表中心</span>
</a-menu-item>
<a-menu-item key="sub7" @titleClick="titleClick">
</a-menu-item> -->
<!-- 2022-12-10注释 后面放开 -->
<!-- <a-menu-item key="sub7" @titleClick="titleClick">
<div class="imgBox">
<img
style="width: 17px; height: 18px"
@@ -192,9 +192,9 @@
/>
</div>
<span>教师管理</span>
</a-menu-item>
<a-menu-item key="sub8" @titleClick="titleClick">
</a-menu-item> -->
<!-- 2022-12-10注释 后面放开 -->
<!-- <a-menu-item key="sub8" @titleClick="titleClick">
<div class="imgBox">
<img
style="width: 20px; height: 20px"
@@ -202,18 +202,17 @@
/>
</div>
<span>证书中心</span>
<!-- <router-link to="/certificatecenter">证书中心</router-link> -->
</a-menu-item>
<a-menu-item key="sub9" @titleClick="titleClick">
</a-menu-item> -->
<!-- <a-menu-item key="sub9" @titleClick="titleClick">
<div class="imgBox">
<img
style="width: 19px; height: 18px"
src="../assets/images/navleft/system.png"
/>
</div>
<span>系统管理</span>
<span>系统管理</span> -->
<!-- <router-link to="/systemmanage">系统管理</router-link> -->
</a-menu-item>
<!-- </a-menu-item> -->
</a-menu>
</div>
<div
@@ -243,8 +242,8 @@
<a-menu-item key="sub3" @titleClick="titleClick">
<router-link to="/coursewaremanage">课程</router-link>
</a-menu-item>
<a-menu-item key="sub4" @titleClick="titleClick">
<!-- 2022-12-10注释 后面放开 -->
<!-- <a-menu-item key="sub4" @titleClick="titleClick">
<span>考试</span>
</a-menu-item>
@@ -265,7 +264,7 @@
</a-menu-item>
<a-menu-item key="sub9" @titleClick="titleClick">
<span>系统</span>
</a-menu-item>
</a-menu-item> -->
</a-menu>
</div>
</div>

View File

@@ -36,7 +36,7 @@
<a-input
v-model:value="courseName"
style="width: 423px; height: 32px"
placeholder="请输入名称最多输入20个字"
placeholder="请输入名称"
:maxlength="20"
/>
<div class="inp_num" style="position: absolute; right: 7px">

View File

@@ -56,7 +56,7 @@
/>
<div class="inname">封面图</div>
</div>
<div class="in select" style="flex: 1;display: flex">
<div class="in select" style="flex: 1; display: flex">
<div
:class="`box ${projectInfo.picUrl === src.value ? 'active' : ''}`"
style="
@@ -77,7 +77,10 @@
height: 100px;
margin-bottom: 4px;
margin-right: 4px;
" :src="src.value" alt="avatar"/>
"
:src="src.value"
alt="avatar"
/>
</div>
</div>
</div>
@@ -242,29 +245,37 @@
<div class="footer">
<div class="btn">
<a-button @click="backPage" class="btn2">取消</a-button>
<a-button v-on:click="createProject" type="primary" class="btn1" style="margin-left: 20px">确定</a-button>
<a-button
v-on:click="createProject"
type="primary"
class="btn1"
style="margin-left: 20px"
>确定</a-button
>
</div>
</div>
</div>
</template>
<script>
import {onMounted, reactive, toRefs, watch} from "vue";
import {message} from "ant-design-vue";
import {useRoute, useRouter} from "vue-router";
import { onMounted, reactive, toRefs, watch } from "vue";
import { message } from "ant-design-vue";
import { useRoute, useRouter } from "vue-router";
import * as api from "../../api/index";
import {useStore} from "vuex";
import { useStore } from "vuex";
// import ProjectClass from "@/components/project/ProjectClass";
import TrainClass from "@/components/project/TrainClass";
import OrgClass from "@/components/project/OrgClass";
import ProjectManager from "@/components/project/ProjectManagerNew";
import ProjectLevel from "@/components/project/ProjectLevel";
import {changeOwnership, scrollLoad} from "@/api/method";
import {storage} from "../../api/storage";
import { changeOwnership, scrollLoad } from "@/api/method";
import { storage } from "../../api/storage";
export default {
name: "projectAdd",
components: {
ProjectManager,
ProjectLevel,
// ProjectClass,
TrainClass,
OrgClass,
},
@@ -314,10 +325,21 @@ export default {
state.projectInfo.parentName = routers.query.parentName;
state.projectInfo.parentId = routers.query.parentId;
state.projectInfo.projectId = routers.query.projectId;
(state.projectInfo.projectId || state.projectInfo.parentId) && api.getProjectDetail({projectId: state.projectInfo.projectId || state.projectInfo.parentId})
.then(res => {
state.projectInfo = {...res.data.data.projectInfo, ...state.projectInfo};
state.projectInfo.rangeTime = [state.projectInfo.beginTime, state.projectInfo.endTime,];
(state.projectInfo.projectId || state.projectInfo.parentId) &&
api
.getProjectDetail({
projectId:
state.projectInfo.projectId || state.projectInfo.parentId,
})
.then((res) => {
state.projectInfo = {
...res.data.data.projectInfo,
...state.projectInfo,
};
state.projectInfo.rangeTime = [
state.projectInfo.beginTime,
state.projectInfo.endTime,
];
state.courseSyncFlag = !!state.projectInfo.courseSyncFlag;
});
}
@@ -405,22 +427,24 @@ export default {
api.createProject(state.projectInfo).then((res) => {
state.projectInfo.projectId ||
changeOwnership("project", res.data.data.projectId, [
{id: res.data.data.createId, name: res.data.data.createName},
{ id: res.data.data.createId, name: res.data.data.createName },
]);
message.destroy();
message.success(state.projectInfo.projectId ? "编辑成功" : "创建成功");
// router.back();
router.push({
path: "/taskpage",
query: {projectId: res.data.data.projectId},
query: { projectId: res.data.data.projectId },
});
storage.set("projectId", res.data.data.projectId);
});
};
function managerChange(e, l, d) {
!state.projectInfo.sourceBelongId && (state.projectInfo.sourceBelongId = d)
!state.projectInfo.sourceBelongId && (state.projectInfo.sourceBelongName = d)
!state.projectInfo.sourceBelongId &&
(state.projectInfo.sourceBelongId = d);
!state.projectInfo.sourceBelongId &&
(state.projectInfo.sourceBelongName = d);
}
return {

View File

@@ -112,13 +112,13 @@
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/>
<img src="../../assets/images/taskpage/left2.png" />
</div>
<div class="photo">
<img src="../../assets/images/projectadd/nopro.png"/>
<img src="../../assets/images/projectadd/nopro.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/>
<img src="../../assets/images/taskpage/right2.png" />
</div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
创建项目
@@ -285,13 +285,13 @@
"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/>
<img src="../../assets/images/taskpage/left2.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture4.png"/>
<img src="../../assets/images/taskpage/picture4.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/>
<img src="../../assets/images/taskpage/right2.png" />
</div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
单层子项目
@@ -305,13 +305,13 @@
"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left1.png"/>
<img src="../../assets/images/taskpage/left1.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture5.png"/>
<img src="../../assets/images/taskpage/picture5.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right1.png"/>
<img src="../../assets/images/taskpage/right1.png" />
</div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)">
多层子项目
@@ -372,13 +372,13 @@
"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/>
<img src="../../assets/images/taskpage/left2.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture6.png"/>
<img src="../../assets/images/taskpage/picture6.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/>
<img src="../../assets/images/taskpage/right2.png" />
</div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
单层{{ projectInfo.parentId ? "子" : "" }}项目
@@ -397,13 +397,13 @@
"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left3.png"/>
<img src="../../assets/images/taskpage/left3.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture7.png"/>
<img src="../../assets/images/taskpage/picture7.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right3.png"/>
<img src="../../assets/images/taskpage/right3.png" />
</div>
<div class="centerbox1" style="color: rgba(93, 201, 136, 1)">
多层{{ projectInfo.parentId ? "子" : "" }}项目
@@ -625,7 +625,7 @@
class="aeLoading"
:style="{ display: projectPubLoading ? 'flex' : 'none' }"
>
<a-spin :spinning="projectPubLoading"/>
<a-spin :spinning="projectPubLoading" />
</div>
</a-modal>
<!-- 撤回路径弹窗 -->
@@ -812,21 +812,22 @@
</div>
</template>
<script>
import {reactive, toRefs, ref, watch} from "vue";
import {message, Modal} from "ant-design-vue";
import {useRouter} from "vue-router";
import { reactive, toRefs, ref, watch } from "vue";
import { message, Modal } from "ant-design-vue";
import { useRouter } from "vue-router";
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
import ProjPowerList from "../../components/drawers/ProjPowerList";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import * as api from "../../api/index";
import * as api1 from "../../api/index1";
import {storage} from "../../api/storage";
import { storage } from "../../api/storage";
import ProjectManager from "@/components/project/ProjectManagerNew";
// import ProjectClass from "@/components/project/ProjectClass";
import TrainClass from "@/components/project/TrainClass";
import OrgClass from "@/components/project/OrgClass";
import dayjs from "dayjs";
import * as moment from "moment";
import {changeOwnership} from "@/api/method";
import { changeOwnership } from "@/api/method";
export default {
name: "projectManage",
@@ -835,6 +836,7 @@ export default {
ProjPowerList,
ProjCheckShip,
ProjectManager,
// ProjectClass,
OrgClass,
TrainClass,
// ProjManageShip
@@ -913,15 +915,15 @@ export default {
// 数据接入 - start -
const router = useRouter();
const sProjectStateList = ref([
{value: 0, label: "草稿"},
{value: 1, label: "审核中"},
{value: 2, label: "审核通过"},
{value: 3, label: "已发布"},
{value: -2, label: "未通过"},
{value: -1, label: "已结束"},
{ value: 0, label: "草稿" },
{ value: 1, label: "审核中" },
{ value: 2, label: "审核通过" },
{ value: 3, label: "已发布" },
{ value: -2, label: "未通过" },
{ value: -1, label: "已结束" },
]);
const searchReset = () => {
state.searchParam = {pageNo: 1, pageSize: 10};
state.searchParam = { pageNo: 1, pageSize: 10 };
getTableDate();
};
const searchSubmit = () => {
@@ -970,7 +972,7 @@ export default {
state.currentPage = 1;
state.projectInfo.projectId ||
changeOwnership("project", res.data.data.projectId, [
{id: res.data.data.createId, name: res.data.data.createName},
{ id: res.data.data.createId, name: res.data.data.createName },
]);
getTableDate();
});
@@ -1200,7 +1202,7 @@ export default {
message.success("模版保存成功");
return;
}
Modal.error({title: res.data.msg});
Modal.error({ title: res.data.msg });
});
};
//关闭存为模版弹窗
@@ -1648,7 +1650,7 @@ export default {
onClick={() => {
router.push({
path: "/taskpage",
query: {projectId: value.record.projectId},
query: { projectId: value.record.projectId },
});
storage.set("projectId", value.record.projectId);
}}
@@ -1790,8 +1792,10 @@ export default {
);
function managerChange(e, l, d) {
!state.projectInfo.sourceBelongId && (state.projectInfo.sourceBelongId = d)
!state.projectInfo.sourceBelongId && (state.projectInfo.sourceBelongName = d)
!state.projectInfo.sourceBelongId &&
(state.projectInfo.sourceBelongId = d);
!state.projectInfo.sourceBelongId &&
(state.projectInfo.sourceBelongName = d);
}
return {