mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 04:46:46 +08:00
feat:合并
This commit is contained in:
@@ -34,7 +34,7 @@ const props = defineProps({
|
||||
})
|
||||
|
||||
const id = computed(() => {
|
||||
return props.value
|
||||
return props.value || null
|
||||
})
|
||||
|
||||
const emit = defineEmits({})
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
</div>
|
||||
<div class="in select" style="flex: 1; display: flex">
|
||||
<div
|
||||
:class="`box ${projectInfo.picUrl === src ? 'active' : ''}`"
|
||||
:class="`box ${projectInfo.picUrl === src.value ? 'active' : ''}`"
|
||||
style="
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
@@ -226,7 +226,6 @@
|
||||
return triggerNode.parentNode || document.body;
|
||||
}
|
||||
"
|
||||
v-model:value="classifySelect5"
|
||||
placeholder="请选择模版"
|
||||
:size="size"
|
||||
style="width: 100%"
|
||||
@@ -246,7 +245,11 @@
|
||||
<div class="footer">
|
||||
<div class="btn">
|
||||
<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
|
||||
>
|
||||
</div>
|
||||
@@ -295,7 +298,6 @@ export default {
|
||||
},
|
||||
classifyList5: [],
|
||||
courseSyncFlag: false,
|
||||
picUrlName: "请选择封面图",
|
||||
});
|
||||
|
||||
// 封面图选择
|
||||
@@ -320,39 +322,25 @@ export default {
|
||||
});
|
||||
|
||||
function getProjectInfo() {
|
||||
if (!routers.query.projectId) {
|
||||
state.projectInfo = {
|
||||
parentName: routers.query.parentName,
|
||||
parentId: routers.query.parentId,
|
||||
};
|
||||
return;
|
||||
}
|
||||
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: routers.query.projectId })
|
||||
.getProjectDetail({
|
||||
projectId:
|
||||
state.projectInfo.projectId || state.projectInfo.parentId,
|
||||
})
|
||||
.then((res) => {
|
||||
state.projectInfo = res.data.data.projectInfo;
|
||||
|
||||
console.log(res);
|
||||
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 = {
|
||||
...res.data.data.projectInfo,
|
||||
...state.projectInfo,
|
||||
};
|
||||
state.projectInfo.rangeTime = [
|
||||
state.projectInfo.beginTime,
|
||||
state.projectInfo.endTime,
|
||||
];
|
||||
state.projectInfo.parentName = routers.query.parentName;
|
||||
state.courseSyncFlag = state.projectInfo.courseSyncFlag
|
||||
? true
|
||||
: false;
|
||||
state.courseSyncFlag = !!state.projectInfo.courseSyncFlag;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -400,8 +388,7 @@ export default {
|
||||
|
||||
const errorMsgs = {
|
||||
name: "请输入项目名称",
|
||||
category: "请选择项目分类",
|
||||
picUrl: "请上传项目封面图",
|
||||
picUrl: "请选择项目封面图",
|
||||
beginTime: "请选择项目开始时间",
|
||||
endTime: "请选择项目结束时间",
|
||||
manager: "请选择项目经理",
|
||||
|
||||
@@ -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)">
|
||||
创建项目
|
||||
@@ -195,9 +195,9 @@
|
||||
src="../../assets/images/basicinfo/asterisk.png"
|
||||
/>
|
||||
</div>
|
||||
<div class="inname">分类:</div>
|
||||
<div class="inname">培训分类:</div>
|
||||
<div class="in select">
|
||||
<ProjectClass v-model:value="projectInfo.category"></ProjectClass>
|
||||
<TrainClass v-model:value="projectInfo.systemId"></TrainClass>
|
||||
</div>
|
||||
</div>
|
||||
<div class="name">
|
||||
@@ -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 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,8 +836,9 @@ export default {
|
||||
ProjPowerList,
|
||||
ProjCheckShip,
|
||||
ProjectManager,
|
||||
ProjectClass,
|
||||
// ProjectClass,
|
||||
OrgClass,
|
||||
TrainClass,
|
||||
// ProjManageShip
|
||||
},
|
||||
setup() {
|
||||
@@ -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 = () => {
|
||||
@@ -956,7 +958,7 @@ export default {
|
||||
// 接口需要传递的参数信息
|
||||
const errorMsgs = {
|
||||
name: "请输入项目名称",
|
||||
category: "请选择项目分类",
|
||||
systemId: "请选择培训分类",
|
||||
manager: "请选择项目经理",
|
||||
sourceBelongId: "请选择资源归属",
|
||||
};
|
||||
@@ -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 });
|
||||
});
|
||||
};
|
||||
//关闭存为模版弹窗
|
||||
@@ -1541,6 +1543,12 @@ export default {
|
||||
state.projectInfo = {
|
||||
parentName: value.record.name,
|
||||
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,
|
||||
};
|
||||
state.reminderModal = true;
|
||||
@@ -1642,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);
|
||||
}}
|
||||
@@ -1784,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 {
|
||||
|
||||
Reference in New Issue
Block a user