feat:合并

This commit is contained in:
lixg
2022-12-10 16:38:43 +08:00
3 changed files with 705 additions and 708 deletions

View File

@@ -34,7 +34,7 @@ const props = defineProps({
}) })
const id = computed(() => { const id = computed(() => {
return props.value return props.value || null
}) })
const emit = defineEmits({}) const emit = defineEmits({})

View File

@@ -58,7 +58,7 @@
</div> </div>
<div class="in select" style="flex: 1; display: flex"> <div class="in select" style="flex: 1; display: flex">
<div <div
:class="`box ${projectInfo.picUrl === src ? 'active' : ''}`" :class="`box ${projectInfo.picUrl === src.value ? 'active' : ''}`"
style=" style="
width: 100px; width: 100px;
height: 100px; height: 100px;
@@ -226,7 +226,6 @@
return triggerNode.parentNode || document.body; return triggerNode.parentNode || document.body;
} }
" "
v-model:value="classifySelect5"
placeholder="请选择模版" placeholder="请选择模版"
:size="size" :size="size"
style="width: 100%" style="width: 100%"
@@ -246,7 +245,11 @@
<div class="footer"> <div class="footer">
<div class="btn"> <div class="btn">
<a-button @click="backPage" class="btn2">取消</a-button> <a-button @click="backPage" class="btn2">取消</a-button>
<a-button v-on:click="createProject" type="primary" class="btn1" <a-button
v-on:click="createProject"
type="primary"
class="btn1"
style="margin-left: 20px"
>确定</a-button >确定</a-button
> >
</div> </div>
@@ -295,7 +298,6 @@ export default {
}, },
classifyList5: [], classifyList5: [],
courseSyncFlag: false, courseSyncFlag: false,
picUrlName: "请选择封面图",
}); });
// 封面图选择 // 封面图选择
@@ -320,39 +322,25 @@ export default {
}); });
function getProjectInfo() { function getProjectInfo() {
if (!routers.query.projectId) { state.projectInfo.parentName = routers.query.parentName;
state.projectInfo = { state.projectInfo.parentId = routers.query.parentId;
parentName: routers.query.parentName, state.projectInfo.projectId = routers.query.projectId;
parentId: routers.query.parentId, (state.projectInfo.projectId || state.projectInfo.parentId) &&
};
return;
}
api api
.getProjectDetail({ projectId: routers.query.projectId }) .getProjectDetail({
projectId:
state.projectInfo.projectId || state.projectInfo.parentId,
})
.then((res) => { .then((res) => {
state.projectInfo = res.data.data.projectInfo; state.projectInfo = {
...res.data.data.projectInfo,
console.log(res); ...state.projectInfo,
let picurl = res.data.data.projectInfo.picUrl; };
let dates = store.state.projectPic.map((e) => ({
value: e.dictValue,
label: e.dictName,
}));
console.log(dates, picurl);
for (let i = 0; i < dates.length; i++) {
if (dates[i].value == picurl) {
state.picUrlName = dates[i].label;
}
}
state.projectInfo.rangeTime = [ state.projectInfo.rangeTime = [
state.projectInfo.beginTime, state.projectInfo.beginTime,
state.projectInfo.endTime, state.projectInfo.endTime,
]; ];
state.projectInfo.parentName = routers.query.parentName; state.courseSyncFlag = !!state.projectInfo.courseSyncFlag;
state.courseSyncFlag = state.projectInfo.courseSyncFlag
? true
: false;
}); });
} }
@@ -400,8 +388,7 @@ export default {
const errorMsgs = { const errorMsgs = {
name: "请输入项目名称", name: "请输入项目名称",
category: "请选择项目分类", picUrl: "请选择项目封面图",
picUrl: "请上传项目封面图",
beginTime: "请选择项目开始时间", beginTime: "请选择项目开始时间",
endTime: "请选择项目结束时间", endTime: "请选择项目结束时间",
manager: "请选择项目经理", manager: "请选择项目经理",

View File

@@ -112,13 +112,13 @@
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)" style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/> <img src="../../assets/images/taskpage/left2.png" />
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/projectadd/nopro.png"/> <img src="../../assets/images/projectadd/nopro.png" />
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/> <img src="../../assets/images/taskpage/right2.png" />
</div> </div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)"> <div class="centerbox" style="color: rgba(78, 166, 255, 1)">
创建项目 创建项目
@@ -195,9 +195,9 @@
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
</div> </div>
<div class="inname">分类:</div> <div class="inname">培训分类:</div>
<div class="in select"> <div class="in select">
<ProjectClass v-model:value="projectInfo.category"></ProjectClass> <TrainClass v-model:value="projectInfo.systemId"></TrainClass>
</div> </div>
</div> </div>
<div class="name"> <div class="name">
@@ -285,13 +285,13 @@
" "
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/> <img src="../../assets/images/taskpage/left2.png" />
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture4.png"/> <img src="../../assets/images/taskpage/picture4.png" />
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/> <img src="../../assets/images/taskpage/right2.png" />
</div> </div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)"> <div class="centerbox" style="color: rgba(78, 166, 255, 1)">
单层子项目 单层子项目
@@ -305,13 +305,13 @@
" "
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left1.png"/> <img src="../../assets/images/taskpage/left1.png" />
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture5.png"/> <img src="../../assets/images/taskpage/picture5.png" />
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right1.png"/> <img src="../../assets/images/taskpage/right1.png" />
</div> </div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)"> <div class="centerbox" style="color: rgba(255, 182, 78, 1)">
多层子项目 多层子项目
@@ -372,13 +372,13 @@
" "
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/> <img src="../../assets/images/taskpage/left2.png" />
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture6.png"/> <img src="../../assets/images/taskpage/picture6.png" />
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/> <img src="../../assets/images/taskpage/right2.png" />
</div> </div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)"> <div class="centerbox" style="color: rgba(78, 166, 255, 1)">
单层{{ projectInfo.parentId ? "子" : "" }}项目 单层{{ projectInfo.parentId ? "子" : "" }}项目
@@ -397,13 +397,13 @@
" "
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left3.png"/> <img src="../../assets/images/taskpage/left3.png" />
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture7.png"/> <img src="../../assets/images/taskpage/picture7.png" />
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right3.png"/> <img src="../../assets/images/taskpage/right3.png" />
</div> </div>
<div class="centerbox1" style="color: rgba(93, 201, 136, 1)"> <div class="centerbox1" style="color: rgba(93, 201, 136, 1)">
多层{{ projectInfo.parentId ? "子" : "" }}项目 多层{{ projectInfo.parentId ? "子" : "" }}项目
@@ -625,7 +625,7 @@
class="aeLoading" class="aeLoading"
:style="{ display: projectPubLoading ? 'flex' : 'none' }" :style="{ display: projectPubLoading ? 'flex' : 'none' }"
> >
<a-spin :spinning="projectPubLoading"/> <a-spin :spinning="projectPubLoading" />
</div> </div>
</a-modal> </a-modal>
<!-- 撤回路径弹窗 --> <!-- 撤回路径弹窗 -->
@@ -812,21 +812,22 @@
</div> </div>
</template> </template>
<script> <script>
import {reactive, toRefs, ref, watch} from "vue"; import { reactive, toRefs, ref, watch } from "vue";
import {message, Modal} from "ant-design-vue"; import { message, Modal } from "ant-design-vue";
import {useRouter} from "vue-router"; import { useRouter } from "vue-router";
import ProjOwnerShip from "../../components/drawers/ProjectOwn"; import ProjOwnerShip from "../../components/drawers/ProjectOwn";
import ProjPowerList from "../../components/drawers/ProjPowerList"; import ProjPowerList from "../../components/drawers/ProjPowerList";
import ProjCheckShip from "../../components/drawers/ProjCheckPower"; import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import * as api from "../../api/index"; import * as api from "../../api/index";
import * as api1 from "../../api/index1"; import * as api1 from "../../api/index1";
import {storage} from "../../api/storage"; import { storage } from "../../api/storage";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
import ProjectClass from "@/components/project/ProjectClass"; // import ProjectClass from "@/components/project/ProjectClass";
import TrainClass from "@/components/project/TrainClass";
import OrgClass from "@/components/project/OrgClass"; import OrgClass from "@/components/project/OrgClass";
import dayjs from "dayjs"; import dayjs from "dayjs";
import * as moment from "moment"; import * as moment from "moment";
import {changeOwnership} from "@/api/method"; import { changeOwnership } from "@/api/method";
export default { export default {
name: "projectManage", name: "projectManage",
@@ -835,8 +836,9 @@ export default {
ProjPowerList, ProjPowerList,
ProjCheckShip, ProjCheckShip,
ProjectManager, ProjectManager,
ProjectClass, // ProjectClass,
OrgClass, OrgClass,
TrainClass,
// ProjManageShip // ProjManageShip
}, },
setup() { setup() {
@@ -913,15 +915,15 @@ export default {
// 数据接入 - start - // 数据接入 - start -
const router = useRouter(); const router = useRouter();
const sProjectStateList = ref([ const sProjectStateList = ref([
{value: 0, label: "草稿"}, { value: 0, label: "草稿" },
{value: 1, label: "审核中"}, { value: 1, label: "审核中" },
{value: 2, label: "审核通过"}, { value: 2, label: "审核通过" },
{value: 3, label: "已发布"}, { value: 3, label: "已发布" },
{value: -2, label: "未通过"}, { value: -2, label: "未通过" },
{value: -1, label: "已结束"}, { value: -1, label: "已结束" },
]); ]);
const searchReset = () => { const searchReset = () => {
state.searchParam = {pageNo: 1, pageSize: 10}; state.searchParam = { pageNo: 1, pageSize: 10 };
getTableDate(); getTableDate();
}; };
const searchSubmit = () => { const searchSubmit = () => {
@@ -956,7 +958,7 @@ export default {
// 接口需要传递的参数信息 // 接口需要传递的参数信息
const errorMsgs = { const errorMsgs = {
name: "请输入项目名称", name: "请输入项目名称",
category: "请选择项目分类", systemId: "请选择培训分类",
manager: "请选择项目经理", manager: "请选择项目经理",
sourceBelongId: "请选择资源归属", sourceBelongId: "请选择资源归属",
}; };
@@ -970,7 +972,7 @@ export default {
state.currentPage = 1; state.currentPage = 1;
state.projectInfo.projectId || state.projectInfo.projectId ||
changeOwnership("project", res.data.data.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(); getTableDate();
}); });
@@ -1200,7 +1202,7 @@ export default {
message.success("模版保存成功"); message.success("模版保存成功");
return; return;
} }
Modal.error({title: res.data.msg}); Modal.error({ title: res.data.msg });
}); });
}; };
//关闭存为模版弹窗 //关闭存为模版弹窗
@@ -1541,6 +1543,12 @@ export default {
state.projectInfo = { state.projectInfo = {
parentName: value.record.name, parentName: value.record.name,
parentId: value.record.projectId, parentId: value.record.projectId,
name: value.record.name,
sourceBelongId: value.record.sourceBelongId,
sourceBelongame: value.record.sourceBelongName,
manager: value.record.manager,
managerId: value.record.managerId,
systemId: value.record.systemId,
type: 2, type: 2,
}; };
state.reminderModal = true; state.reminderModal = true;
@@ -1642,7 +1650,7 @@ export default {
onClick={() => { onClick={() => {
router.push({ router.push({
path: "/taskpage", path: "/taskpage",
query: {projectId: value.record.projectId}, query: { projectId: value.record.projectId },
}); });
storage.set("projectId", value.record.projectId); storage.set("projectId", value.record.projectId);
}} }}
@@ -1784,8 +1792,10 @@ export default {
); );
function managerChange(e, l, d) { function managerChange(e, l, d) {
!state.projectInfo.sourceBelongId && (state.projectInfo.sourceBelongId = d) !state.projectInfo.sourceBelongId &&
!state.projectInfo.sourceBelongId && (state.projectInfo.sourceBelongName = d) (state.projectInfo.sourceBelongId = d);
!state.projectInfo.sourceBelongId &&
(state.projectInfo.sourceBelongName = d);
} }
return { return {