fix:删除编辑任务的清空

This commit is contained in:
lixg
2022-12-06 18:44:48 +08:00
parent 4a0a0e6367
commit 3b3b0e7d35
4 changed files with 410 additions and 256 deletions

View File

@@ -1,12 +1,21 @@
<template>
<a-drawer :visible="addprojvisible" class="drawerStyle addonlineDrawer" width="80%" title="添加在线" placement="right"
@after-visible-change="afterVisibleChange">
<a-drawer
:visible="addprojvisible"
class="drawerStyle addonlineDrawer"
width="80%"
title="添加在线"
placement="right"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
<div class="header">
<div v-if="edit" class="headerTitle">编辑项目</div>
<div v-else class="headerTitle">添加项目</div>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer" />
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
</div>
<div class="contentMain">
<div class="main_items">
@@ -14,23 +23,34 @@
<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="请输入项目名称"
maxlength="20"/>
<a-input
v-model:value="inputV1"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目名称"
maxlength="20"
/>
</div>
</div>
<div class="mii_ipt">
<div class="ipt_name">项目经理</div>
<div class="fi_input">
<a-input v-model:value="inputV2" style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目经理" maxlength="20"/>
<a-input
v-model:value="inputV2"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目经理"
maxlength="20"
/>
</div>
</div>
<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="请输入创建人" maxlength="20"/>
<a-input
v-model:value="inputV3"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入创建人"
maxlength="20"
/>
</div>
</div>
</div>
@@ -49,29 +69,49 @@
<div class="mntc_left">
<div class="notice_icon"></div>
<div v-if="selectedRows.length == 0">
<span class="title">已选择
<span class="title"
>已选择
<span class="data" style="color: #4ea6ff">{{ 0 }}</span>
</span>
</span
>
</div>
<div v-else>
<div>
<span class="title">已选择
<span class="title"
>已选择
<span class="data" style="color: #4ea6ff">{{
selectedRows.length
selectedRows.length
}}</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span class="title">名称
<span class="data" style="color: #4ea6ff; margin-right: 15px">{{ selectedRows[0].name }}</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span
>
<span class="title"
>名称
<span
class="data"
style="color: #4ea6ff; margin-right: 15px"
>{{ selectedRows[0].name }}</span
>
</span>
<span class="title">项目经理
<span class="data" style="color: #4ea6ff; margin-right: 15px">{{ selectedRows[0].manager }}</span>
<span class="title"
>项目经理
<span
class="data"
style="color: #4ea6ff; margin-right: 15px"
>{{ selectedRows[0].manager }}</span
>
</span>
<span class="title">创建人
<span class="data" style="color: #4ea6ff; margin-right: 15px">{{ selectedRows[0].creater }}</span>
<span class="title"
>创建人
<span
class="data"
style="color: #4ea6ff; margin-right: 15px"
>{{ selectedRows[0].creater }}</span
>
</span>
<span class="title">创建时间
<span class="title"
>创建时间
<span class="data" style="color: #4ea6ff">{{
selectedRows[0].time
selectedRows[0].time
}}</span>
</span>
</div>
@@ -104,28 +144,57 @@
<div class="">
<div class="drawerbox">
<!-- 添加的时候显示多选的表 -->
<a-table v-if="!edit" :columns="tableDataFunc()" :data-source="drawertableData" :row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}" :loading="tableDataTotal === -1 ? true : false" :scroll="{ x: 700 }" @expand="expandTable"
:pagination="false">
<a-table
v-if="!edit"
:columns="tableDataFunc()"
:data-source="drawertableData"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:loading="tableDataTotal === -1 ? true : false"
:scroll="{ x: 700 }"
@expand="expandTable"
:pagination="false"
>
</a-table>
<!-- 编辑的时候显示单选的表 -->
<a-table v-else :columns="tableDataFunc()" :data-source="drawertableData" :row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
type: 'radio',
}" :loading="tableDataTotal === -1 ? true : false" :scroll="{ x: 700 }" @expand="expandTable"
:pagination="false">
<a-table
v-else
:columns="tableDataFunc()"
:data-source="drawertableData"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
type: 'radio',
}"
:loading="tableDataTotal === -1 ? true : false"
:scroll="{ x: 700 }"
@expand="expandTable"
:pagination="false"
>
</a-table>
</div>
</div>
<div class="tableBox">
<div class="pa">
<a-pagination v-if="(tableDataTotal > 10)" showSizeChanger="true" showQuickJumper="true"
hideOnSinglePage="true" :pageSize="pageSize" v-model:current="currentPage" :total="tableDataTotal"
class="pagination" @change="changePagination"
style="display:flex;justify-content:center;margin-top:12px;margin-bottom:12px;" />
<a-pagination
v-if="tableDataTotal > 10"
showSizeChanger="true"
showQuickJumper="true"
hideOnSinglePage="true"
:pageSize="pageSize"
v-model:current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="changePagination"
style="
display: flex;
justify-content: center;
margin-top: 12px;
margin-bottom: 12px;
"
/>
</div>
</div>
</div>
@@ -135,7 +204,13 @@
</div>
</div>
<!-- 有重复添加的项目时的弹窗 -->
<a-modal v-model:visible="sameModal" :footer="null" :closable="sameCopy" wrapClassName="sameModal" centered="true">
<a-modal
v-model:visible="sameModal"
:footer="null"
:closable="sameCopy"
wrapClassName="sameModal"
centered="true"
>
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
@@ -278,12 +353,12 @@ export default {
const closeDrawer = () => {
ctx.emit("update:addprojvisible", false);
ctx.emit("update:edit", false);
state.currentPage = 1
state.tableDataTotal = 0
state.drawertableData = []
state.inputV1 = ""
state.inputV2 = ""
state.inputV3 = ""
state.currentPage = 1;
state.tableDataTotal = 0;
state.drawertableData = [];
state.inputV1 = "";
state.inputV2 = "";
state.inputV3 = "";
state.selectedRows = [];
state.selectedRowKeys = [];
};
@@ -304,7 +379,6 @@ export default {
// ajax request after empty completing
setTimeout(() => {
state.loading = false;
}, 1000);
};
// const onSelectChange = (selectedRowKeys, selectedRows) => {
@@ -332,11 +406,11 @@ export default {
// 点击编辑默认选中
const defaultValueOption = () => {
if (props.edit) {
state.drawertableData = []
state.drawertableData = [];
state.selectedRowKeys = [props.EditProjectId];
getCurrentPage();
}
}
};
// TODO 这里后续需要给接口或者改动
// 获取所有,确定分页位置
const getCurrentPage = () => {
@@ -347,26 +421,26 @@ export default {
name: state.inputV3,
pageNo: 1,
pageSize: 10000,
status: 3
status: 3,
})
.then((res) => {
// let arr = res.data.data.rows;
if (res.status === 200) {
console.log('all - project - info', res.data.data)
console.log("all - project - info", res.data.data);
let allarr = res.data.data.rows
let isHav = true
let allarr = res.data.data.rows;
let isHav = true;
for (let i = 0; i < allarr.length; i++) {
if (allarr[i].projectId == props.EditProjectId) {
isHav = false
isHav = false;
state.currentPage = Math.ceil((i + 1) / 10);
console.log('sdadasd', state.currentPage)
getAllProjText()
return
console.log("sdadasd", state.currentPage);
getAllProjText();
return;
}
}
if (isHav) {
getAllProjText()
getAllProjText();
state.currentPage = 1;
}
// state.drawertableData = getTableDate(arr);
@@ -377,19 +451,18 @@ export default {
message.destroy();
//message.error("获取全部项目信息接口失败");
});
}
};
//获取全部项目信息接口
const getAllProjText = () => {
console.log("搜索的参数信息", {
createName: state.inputV3,
manager: state.inputV2,
name: state.inputV1,
pageNo: state.currentPage,
pageSize: state.pageSize,
status: 3
})
status: 3,
});
apiProj
.getProjectList({
@@ -398,14 +471,14 @@ export default {
name: state.inputV1,
pageNo: state.currentPage,
pageSize: state.pageSize,
status: 3
status: 3,
})
.then((res) => {
let arr = res.data.data.rows;
if (res.status === 200) {
console.log('all - project - info', res.data.data)
console.log("all - project - info", res.data.data);
state.drawertableData = getTableDate(arr);
state.tableDataTotal = res.data.data.total
state.tableDataTotal = res.data.data.total;
}
})
.catch(() => {
@@ -414,7 +487,6 @@ export default {
});
};
const afterVisibleChange = () => {
if (props.edit) {
defaultValueOption();
} else {
@@ -553,7 +625,7 @@ export default {
closeSameModal,
sureSameModal,
changePagination,
getCurrentPage
getCurrentPage,
};
},
};
@@ -593,8 +665,10 @@ export default {
position: absolute;
width: calc(100%);
height: 68px;
background: linear-gradient(rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%);
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
@@ -690,7 +764,6 @@ export default {
.addrefDrawer {
.drawerMain {
// .main_notice {
// display: flex;
// justify-content: space-between;
@@ -835,7 +908,9 @@ export default {
background-color: #eff4fc !important;
}
.ant-table-tbody>tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td {
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
}