mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
学习路径添加项目
This commit is contained in:
@@ -1,46 +1,97 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<div class="draw" style="position: relative">
|
<a-drawer
|
||||||
<a-drawer
|
:visible="addprojvisible"
|
||||||
v-model:visible="addprojvisible"
|
class="drawerStyle addonlineDrawer"
|
||||||
class="drawerStyle ProjectDrawer"
|
width="80%"
|
||||||
title="关联项目"
|
title="添加在线"
|
||||||
placement="right"
|
placement="right"
|
||||||
width="80%"
|
@after-visible-change="afterVisibleChange"
|
||||||
@after-visible-change="afterProjVisibleChange"
|
>
|
||||||
>
|
<div class="drawerMain">
|
||||||
<div class="drawerMain">
|
<div class="header">
|
||||||
<div class="header">
|
<div v-if="edit" class="headerTitle">编辑项目</div>
|
||||||
<div class="headerTitle">关联项目</div>
|
<div v-else class="headerTitle">添加项目</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@click="leaveProjDrawer"
|
@click="closeDrawer"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="contentMain">
|
||||||
|
<div class="main_items">
|
||||||
|
<div class="mi_ipts">
|
||||||
|
<div class="mii_ipt">
|
||||||
|
<div class="ipt_name">项目名称:</div>
|
||||||
|
<div class="fi_input">
|
||||||
|
<a-input
|
||||||
|
v-model:value="inputV1"
|
||||||
|
style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
|
placeholder="请输入项目名称"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="drawerbox">
|
</div>
|
||||||
<a-table
|
<div class="mii_ipt">
|
||||||
:columns="drawertableColumns()"
|
<div class="ipt_name">项目经理:</div>
|
||||||
:data-source="drawertableData"
|
<div class="fi_input">
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
<a-input
|
||||||
:loading="tableDataTotal === -1 ? true : false"
|
v-model:value="inputV2"
|
||||||
:scroll="{ x: 700 }"
|
style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
@expand="expandTable"
|
placeholder="请输入项目经理"
|
||||||
:pagination="false"
|
/>
|
||||||
>
|
|
||||||
</a-table>
|
|
||||||
</div>
|
|
||||||
<div class="btnn">
|
|
||||||
<button @click="leaveProjDrawer" class="btn1">取消</button>
|
|
||||||
<button @click="updateTask" class="btn2">确定</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
<div class="mii_ipt">
|
||||||
|
<div class="ipt_name">创建人:</div>
|
||||||
|
<div class="fi_input">
|
||||||
|
<a-input
|
||||||
|
v-model:value="inputV3"
|
||||||
|
style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
|
placeholder="请输入创建人"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="mi_btns">
|
||||||
|
<div class="btn btn1">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText" @click="searchProjectList()">搜索</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn btn2" @click="resetProjectList()">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">重置</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div class="drawerbox">
|
||||||
|
<a-table
|
||||||
|
:columns="tableDataFunc()"
|
||||||
|
:data-source="drawertableData"
|
||||||
|
:row-selection="rowSelection"
|
||||||
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
|
:scroll="{ x: 700 }"
|
||||||
|
@expand="expandTable"
|
||||||
|
:pagination="false"
|
||||||
|
>
|
||||||
|
</a-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main_btns">
|
||||||
|
<button @click="closeDrawer" class="btn1">取消</button>
|
||||||
|
<button @click="updateTaskList" class="btn2">确定</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs,ref } from "vue";
|
||||||
import * as api from "../../api/indexDiscuss";
|
|
||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { RouterEditTask } from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
@@ -49,7 +100,7 @@ import dayjs from "dayjs";
|
|||||||
export default {
|
export default {
|
||||||
name: "AddProject",
|
name: "AddProject",
|
||||||
props: {
|
props: {
|
||||||
adddiscussVisible: {
|
addprojvisible: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
@@ -98,11 +149,13 @@ export default {
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
inputV1: "",
|
inputV1: "",
|
||||||
inputV2: "",
|
inputV2: "",
|
||||||
|
inputV3: "",
|
||||||
textV1: "",
|
textV1: "",
|
||||||
|
statu:0,
|
||||||
checkedC1: false,
|
checkedC1: false,
|
||||||
discussSettings: "",
|
discussSettings: "",
|
||||||
addLoading: false,
|
addLoading: false,
|
||||||
drawertableData: [
|
tableData: [
|
||||||
{
|
{
|
||||||
key: 1,
|
key: 1,
|
||||||
parentId:1,
|
parentId:1,
|
||||||
@@ -147,12 +200,109 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
|
selectedRows:[],
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 0,
|
tableDataTotal: 0,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
//项目抽屉、列表参数
|
||||||
|
drawertableData: [
|
||||||
|
{
|
||||||
|
key: 1,
|
||||||
|
parentId:1,
|
||||||
|
name: '123',
|
||||||
|
manager:'afssfa',
|
||||||
|
children:[
|
||||||
|
{
|
||||||
|
key: 5,
|
||||||
|
parentId:1,
|
||||||
|
name: '123',
|
||||||
|
manager:'afssfa',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 2,
|
||||||
|
parentId:2,
|
||||||
|
name: '123',
|
||||||
|
manager:'afssfa',
|
||||||
|
children:[
|
||||||
|
{
|
||||||
|
key: 7,
|
||||||
|
parentId:1,
|
||||||
|
name: '123',
|
||||||
|
manager:'afssfa',
|
||||||
|
children:[
|
||||||
|
{
|
||||||
|
key: 9,
|
||||||
|
parentId:1,
|
||||||
|
name: '123',
|
||||||
|
manager:'afssfa',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 3,
|
||||||
|
parentId:3,
|
||||||
|
name: '123',
|
||||||
|
manager:'afssfa',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const tableDataFunc = () => {
|
||||||
|
const drawercolumns = [
|
||||||
|
{
|
||||||
|
title: "项目名称",
|
||||||
|
dataIndex: "name",
|
||||||
|
key: "projectName",
|
||||||
|
width: 200,
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "项目经理",
|
||||||
|
dataIndex: "manager",
|
||||||
|
key: "manager",
|
||||||
|
width: 100,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建人",
|
||||||
|
dataIndex: "creator",
|
||||||
|
key: "creater",
|
||||||
|
width: 100,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
dataIndex: "time",
|
||||||
|
key: "time",
|
||||||
|
width: 180,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
return drawercolumns;
|
||||||
|
};
|
||||||
|
const closeDrawer = () => {
|
||||||
|
ctx.emit("update:addprojvisible", false);
|
||||||
|
ctx.emit("update:edit", false);
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
const rowSelection =()=> ref({
|
||||||
|
checkStrictly: false,
|
||||||
|
onChange: (selectedRowKeys, selectedRows) => {
|
||||||
|
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
|
||||||
|
},
|
||||||
|
onSelect: (record, selected, selectedRows) => {
|
||||||
|
console.log(record, selected, selectedRows);
|
||||||
|
},
|
||||||
|
onSelectAll: (selected, selectedRows, changeRows) => {
|
||||||
|
console.log(selected, selectedRows, changeRows);
|
||||||
|
},
|
||||||
|
});
|
||||||
const start = () => {
|
const start = () => {
|
||||||
state.loading = true;
|
state.loading = true;
|
||||||
// ajax request after empty completing
|
// ajax request after empty completing
|
||||||
@@ -161,31 +311,31 @@ export default {
|
|||||||
state.selectedRowKeys = [];
|
state.selectedRowKeys = [];
|
||||||
}, 1000);
|
}, 1000);
|
||||||
};
|
};
|
||||||
const onSelectChange = selectedRowKeys => {
|
const onSelectChange =(selectedRowKeys,selectedRows) => {
|
||||||
console.log('selectedRowKeys changed: ', selectedRowKeys);
|
console.log('selectedRowKeys changed: ', selectedRowKeys);
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
|
this.selectedRows=selectedRows;
|
||||||
};
|
};
|
||||||
const closeDrawer = () => {
|
const searchProjectList=()=>{
|
||||||
ctx.emit("update:adddiscussVisible", false);
|
getAllProjText();
|
||||||
ctx.emit("update:edit", false);
|
}
|
||||||
state.inputV1 = "";
|
const resetProjectList=()=>{
|
||||||
state.textV1 = "";
|
state.inputV1="";
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
state.inputV2="";
|
||||||
localStorage.setItem("stageId", props.chooseStageId);
|
state.inputV1="";
|
||||||
localStorage.setItem("chapterId", props.isactive);
|
getAllProjText();
|
||||||
};
|
}
|
||||||
|
|
||||||
//获取全部项目信息接口
|
//获取全部项目信息接口
|
||||||
const getAllProjText = () => {
|
const getAllProjText = () => {
|
||||||
apiProj
|
apiProj
|
||||||
.getProjectList({
|
.getProjectList({
|
||||||
"beginTime": 0,
|
"createName": state.inputV1,
|
||||||
"createName": "",
|
"manager": state.inputV2,
|
||||||
"endTime": "",
|
"name":state.inputV3,
|
||||||
"manager": "",
|
pageNo: state.currentPage,
|
||||||
"name": "",
|
pageSize: state.pageSize,
|
||||||
"pageNo": 1,
|
"status": state.status
|
||||||
"pageSize": 10,
|
|
||||||
"status": 0
|
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
let arr = res.data.data.rows;
|
let arr = res.data.data.rows;
|
||||||
@@ -199,12 +349,17 @@ export default {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
|
console.log("哈哈,我进来了")
|
||||||
if (bool) {
|
if (bool) {
|
||||||
getAllProjText();
|
getAllProjText();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handelChangePage = (page, pageSize) => {
|
||||||
|
state.currentPage = page;
|
||||||
|
state.pageSize = pageSize;
|
||||||
|
getAllProjText();
|
||||||
|
};
|
||||||
const getTableDate = (data) => {
|
const getTableDate = (data) => {
|
||||||
let array = []
|
let array = []
|
||||||
data.map((value)=>{
|
data.map((value)=>{
|
||||||
@@ -234,12 +389,17 @@ export default {
|
|||||||
return array
|
return array
|
||||||
};
|
};
|
||||||
//项目抽屉用的
|
//项目抽屉用的
|
||||||
|
const updateTaskList =()=>{
|
||||||
|
//const resultArr = [];
|
||||||
|
state.selectedRows.forEach((item) => {
|
||||||
|
updateTask(item);
|
||||||
|
});
|
||||||
|
}
|
||||||
const updateTask = (res) => {
|
const updateTask = (res) => {
|
||||||
if (props.isLevel == 1) {
|
if (props.isLevel == 1) {
|
||||||
RouterEditTask({
|
RouterEditTask({
|
||||||
chapterId: props.isactive,
|
chapterId: props.isactive,
|
||||||
courseId: res.data.data.discussId,
|
courseId: 0,
|
||||||
name: res.data.data.discussName,
|
name: res.data.data.discussName,
|
||||||
routerId: props.routerId,
|
routerId: props.routerId,
|
||||||
routerTaskId: props.routerTaskId || 0,
|
routerTaskId: props.routerTaskId || 0,
|
||||||
@@ -265,50 +425,21 @@ export default {
|
|||||||
console.log("");
|
console.log("");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const updateDiscussInfo = () => {
|
|
||||||
if (!state.inputV1) {
|
|
||||||
message.destroy();
|
|
||||||
return message.warning("请输入讨论名称");
|
|
||||||
}
|
|
||||||
let obj = {
|
|
||||||
discussName: state.inputV1, //讨论名称
|
|
||||||
discussExplain: state.textV1, //讨论说明
|
|
||||||
discussSettings: state.discussSettings, //讨论设置
|
|
||||||
discussId: props.edit ? props.EditDiscussId : 0, //讨论Id
|
|
||||||
projectId: 0, //项目id,接口多余字段,
|
|
||||||
};
|
|
||||||
if (props.edit) {
|
|
||||||
api
|
|
||||||
.updateDiscuss(obj)
|
|
||||||
.then((res) => {
|
|
||||||
updateTask(res);
|
|
||||||
closeDrawer();
|
|
||||||
ctx.emit("changeData", false);
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
api
|
|
||||||
.createDiscuss(obj)
|
|
||||||
.then((res) => {
|
|
||||||
updateTask(res);
|
|
||||||
closeDrawer();
|
|
||||||
ctx.emit("changeData", false);
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
updateDiscussInfo,
|
|
||||||
getTableDate,
|
getTableDate,
|
||||||
start,
|
start,
|
||||||
getAllProjText,
|
getAllProjText,
|
||||||
onSelectChange,
|
onSelectChange,
|
||||||
|
tableDataFunc,
|
||||||
|
updateTaskList,
|
||||||
|
searchProjectList,
|
||||||
|
resetProjectList,
|
||||||
|
handelChangePage,
|
||||||
|
rowSelection,
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user