Commit a2084a54 by liucan

feat:添加表格分页切换loading,修复分页时重置搜索条件问题

parent 457c70a7
<template> <template>
<div style="margin-bottom: 0" class="menu-title"> <div style="margin-bottom: 0" class="menu-title">
<div class="title">{{ props.title }}</div> <div class="title">{{ props.title }}</div>
<div class="low-titme">{{ props.subtitle }}</div> <div class="sub-title">{{ props.subtitle }}</div>
</div> </div>
</template> </template>
...@@ -21,7 +21,7 @@ const props = defineProps<{ ...@@ -21,7 +21,7 @@ const props = defineProps<{
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
} }
.low-titme { .sub-title {
color: rgba(255, 255, 255, 0.8); color: rgba(255, 255, 255, 0.8);
text-align: left; text-align: left;
margin-left: 20px; margin-left: 20px;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<div class="table-content"> <div class="table-content">
<el-table <el-table
v-loading="!tableData" v-loading="!tableData"
element-loading-background="rgba(48, 65, 86, 0.7)" element-loading-background="rgba(48, 65, 86, 0.3)"
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
border border
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<div class="btns"> <div class="btns">
<el-button plain type="primary" @click="handleSearch">查询</el-button> <el-button plain type="primary" @click="handleSearch">查询</el-button>
<el-button plain @click="getData">重置表格</el-button> <el-button plain @click="resetForm">重置表格</el-button>
</div> </div>
</div> </div>
</table-search> </table-search>
...@@ -46,8 +46,8 @@ ...@@ -46,8 +46,8 @@
:row-style="{ height: '45.5px' }" :row-style="{ height: '45.5px' }"
:header-cell-style="{ textAlign: 'center' }" :header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
v-loading="tableData.length == 0" v-loading="tableLoading"
element-loading-background="rgba(48, 65, 86, 0.7)" element-loading-background="rgba(48, 65, 86, 0.3)"
> >
<el-table-column property="number" label="序号" width="55" type="index" /> <el-table-column property="number" label="序号" width="55" type="index" />
<el-table-column property="data.mission" label="目标名称" width="86" show-overflow-tooltip /> <el-table-column property="data.mission" label="目标名称" width="86" show-overflow-tooltip />
...@@ -618,16 +618,22 @@ const handleMissionDetails = async (id: any) => { ...@@ -618,16 +618,22 @@ const handleMissionDetails = async (id: any) => {
} }
detailVisibleValue.value = true; detailVisibleValue.value = true;
}; };
//表格loading标记
// 获取esa数据列表的方法 const tableLoading = ref(false);
const getData = async () => { //重置搜索条件
tableData.value.length = 0; const resetForm = () => {
searchStation.value = ""; searchStation.value = "";
searchTargetName.value = ""; searchTargetName.value = "";
searchTimeValue.value = ""; searchTimeValue.value = "";
getData();
};
// 获取esa数据列表的方法
const getData = async () => {
tableLoading.value = true;
const res = await getESAList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize }); const res = await getESAList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize });
pageObj.value.total = res.data.total; pageObj.value.total = res.data.total;
tableData.value = res.data.list; tableData.value = res.data.list;
tableLoading.value = false;
}; };
const handleClose = () => { const handleClose = () => {
detailVisibleValue.value = false; detailVisibleValue.value = false;
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
<div class="btns"> <div class="btns">
<el-button plain type="primary" @click="handleSearch">查询</el-button> <el-button plain type="primary" @click="handleSearch">查询</el-button>
<el-button plain="" @click="getData">重置</el-button> <el-button plain="" @click="resetForm">重置</el-button>
</div> </div>
</div> </div>
</TableSearch> </TableSearch>
...@@ -45,8 +45,8 @@ ...@@ -45,8 +45,8 @@
:row-style="{ height: '45px' }" :row-style="{ height: '45px' }"
:header-cell-style="{ textAlign: 'center' }" :header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
v-loading="tableData.length == 0" v-loading="tableLoading"
element-loading-background="rgba(48, 65, 86, 0.7)" element-loading-background="rgba(48, 65, 86, 0.3)"
> >
<!-- <el-table-column type="selection" width="40" /> --> <!-- <el-table-column type="selection" width="40" /> -->
<el-table-column property="number" label="序号" width="55" type="index" /> <el-table-column property="number" label="序号" width="55" type="index" />
...@@ -335,15 +335,23 @@ const handleDetails = async (id: any) => { ...@@ -335,15 +335,23 @@ const handleDetails = async (id: any) => {
BFIFICdate.value = res.data.regulatory_status.d_wic === null ? "-" : res.data.regulatory_status.d_wic; BFIFICdate.value = res.data.regulatory_status.d_wic === null ? "-" : res.data.regulatory_status.d_wic;
detailVisibleValue.value = true; detailVisibleValue.value = true;
}; };
//表单loading标记
const tableLoading = ref(false);
// 获取itu数据列表的方法 // 获取itu数据列表的方法
const getData = async () => { //重置搜索条件
tableData.value.length = 0; const resetForm = () => {
const res = await getItuList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize });
searchTargetName.value = ""; searchTargetName.value = "";
searchTargetId.value = ""; searchTargetId.value = "";
searchTimeValue.value = ""; searchTimeValue.value = "";
getData();
};
const getData = async () => {
tableLoading.value = true;
const res = await getItuList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize });
pageObj.value.total = res.data.total; pageObj.value.total = res.data.total;
tableData.value = res.data.list; tableData.value = res.data.list;
tableLoading.value = false;
}; };
const handleClose = () => { const handleClose = () => {
detailVisibleValue.value = false; detailVisibleValue.value = false;
...@@ -353,6 +361,7 @@ const handleSearch = async () => { ...@@ -353,6 +361,7 @@ const handleSearch = async () => {
ElMessage.warning("请输入搜索内容"); ElMessage.warning("请输入搜索内容");
return; return;
} }
tableLoading.value = true;
const res = await getItuList({ const res = await getItuList({
sat_name: searchTargetName.value, sat_name: searchTargetName.value,
ntc_id: searchTargetId.value, ntc_id: searchTargetId.value,
...@@ -362,6 +371,7 @@ const handleSearch = async () => { ...@@ -362,6 +371,7 @@ const handleSearch = async () => {
}); });
pageObj.value.total = res.data.total; pageObj.value.total = res.data.total;
tableData.value = res.data.list; tableData.value = res.data.list;
tableLoading.value = false;
}; };
onMounted(() => { onMounted(() => {
...@@ -431,7 +441,7 @@ onMounted(() => { ...@@ -431,7 +441,7 @@ onMounted(() => {
} }
.item-title { .item-title {
color: #fff; color: #b0dfff;
} }
.item { .item {
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
<div class="btns"> <div class="btns">
<el-button plain type="primary" @click="handleSearch">查询</el-button> <el-button plain type="primary" @click="handleSearch">查询</el-button>
<el-button plain @click="getData">重置表格</el-button> <el-button plain @click="resetForm">重置表格</el-button>
</div> </div>
</div> </div>
</table-search> </table-search>
...@@ -40,8 +40,8 @@ ...@@ -40,8 +40,8 @@
<div class="table-content"> <div class="table-content">
<el-table <el-table
:data="tableData" :data="tableData"
v-loading="tableData.length == 0" v-loading="tableLoading"
element-loading-background="rgba(48, 65, 86, 0.7)" element-loading-background="rgba(48, 65, 86, 0.3)"
style="width: 100%" style="width: 100%"
border border
:row-style="{ height: '45.5px' }" :row-style="{ height: '45.5px' }"
...@@ -297,15 +297,22 @@ ${res.data.data[0].TLE_LINE1} ...@@ -297,15 +297,22 @@ ${res.data.data[0].TLE_LINE1}
${res.data.data[0].TLE_LINE2}`; ${res.data.data[0].TLE_LINE2}`;
detailVisibleValue.value = true; detailVisibleValue.value = true;
}; };
//表单loading标记
const tableLoading = ref(false);
//重置搜索条件
const resetForm = () => {
noradCatId.value = "";
searchTargetName.value = "";
timeValue.value = "";
getData();
};
// 获取st数据列表的方法 // 获取st数据列表的方法
const getData = async () => { const getData = async () => {
tableData.value.length = 0; tableLoading.value = true;
const res = await getStList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize }); const res = await getStList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize });
pageObj.value.total = res.data.total; pageObj.value.total = res.data.total;
tableData.value = res.data.list; tableData.value = res.data.list;
noradCatId.value = ""; tableLoading.value = false;
searchTargetName.value = "";
timeValue.value = "";
}; };
const handleClose = () => { const handleClose = () => {
detailVisibleValue.value = false; detailVisibleValue.value = false;
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
:cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
:row-style="{ height: '60px' }" :row-style="{ height: '60px' }"
v-loading="tableData.length == 0" v-loading="tableData.length == 0"
element-loading-background="rgba(48, 65, 86, 0.7)" element-loading-background="rgba(48, 65, 86, 0.3)"
> >
<el-table-column property="number" label="序号" type="index" width="80" /> <el-table-column property="number" label="序号" type="index" width="80" />
<el-table-column property="spider" label="爬虫代号" show-overflow-tooltip /> <el-table-column property="spider" label="爬虫代号" show-overflow-tooltip />
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
:row-style="{ height: '58px' }" :row-style="{ height: '58px' }"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
v-loading="tableData?.length == 0" v-loading="tableData?.length == 0"
element-loading-background="rgba(48, 65, 86, 0.7)" element-loading-background="rgba(48, 65, 86, 0.3)"
> >
<el-table-column type="selection" width="40" /> <el-table-column type="selection" width="40" />
<el-table-column property="number" label="序号" width="55" type="index" /> <el-table-column property="number" label="序号" width="55" type="index" />
......
...@@ -26,15 +26,9 @@ ...@@ -26,15 +26,9 @@
</div> </div>
</div> </div>
</TableSearch> </TableSearch>
<div class="cardStyle"> <div class="cardStyle" v-loading="isLoading" element-loading-background="rgba(48, 65, 86, 0.3)">
<div v-if="taskList.length === 0 && !isLoading" class="empty-tip">暂无任务数据</div> <div v-if="taskList.length === 0 && !isLoading" class="empty-tip">暂无任务数据</div>
<div <div class="taskCard p-2" v-for="task in taskList || []" :key="task?.id || task?.taskId">
v-loading="taskList.length == 0"
element-loading-background="rgba(48, 65, 86, 0.7)"
class="taskCard p-2"
v-for="task in taskList || []"
:key="task?.id || task?.taskId"
>
<div class="header"> <div class="header">
<span class="task-name" <span class="task-name"
>任务名称: {{ (task?.kwargs?.options && JSON.parse(task.kwargs.options).jobName) || "无名称" }}</span >任务名称: {{ (task?.kwargs?.options && JSON.parse(task.kwargs.options).jobName) || "无名称" }}</span
...@@ -48,9 +42,9 @@ ...@@ -48,9 +42,9 @@
<el-button plain type="danger" @click="deleteTask(task)" class="deleteButton" :disabled="!task?.id" <el-button plain type="danger" @click="deleteTask(task)" class="deleteButton" :disabled="!task?.id"
>删除</el-button >删除</el-button
> >
</div> </div>s
<div class="info"> <div class="info">
<div class="item"> <div class="item">s
<span class="wordStyle">启用/停止: </span> <span class="wordStyle">启用/停止: </span>
<el-switch <el-switch
v-model="task.status" v-model="task.status"
...@@ -329,6 +323,9 @@ onMounted(() => { ...@@ -329,6 +323,9 @@ onMounted(() => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
:deep(.el-select__selected-item) {
color: white !important;
}
:deep(.el-form-item__label) { :deep(.el-form-item__label) {
color: white; color: white;
} }
......
...@@ -22,15 +22,15 @@ ...@@ -22,15 +22,15 @@
</div> </div>
<div class="btns"> <div class="btns">
<el-button plain type="primary" @click="searchData">查询</el-button> <el-button plain type="primary" @click="searchData">查询</el-button>
<el-button plain @click="getData">重置</el-button> <el-button plain @click="resetQuery">重置</el-button>
</div> </div>
</div> </div>
</table-search> </table-search>
<div class="table-content"> <div class="table-content">
<div> <div>
<el-table <el-table
v-loading="tableData.length == 0" v-loading="tableLoading"
element-loading-background="rgba(48, 65, 86, 0.7)" element-loading-background="rgba(48, 65, 86, 0.3)"
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
border border
...@@ -127,14 +127,26 @@ const goToStatus = () => { ...@@ -127,14 +127,26 @@ const goToStatus = () => {
}); });
} }
}; };
//表单loading标记
const tableLoading = ref(false);
//重置查询
const resetQuery = () => {
timeValue.value = "";
getData();
};
// 获取任务执行记录列表 // 获取任务执行记录列表
const getData = async () => { const getData = async () => {
tableData.value.length = 0; tableLoading.value = true;
const res = await getSpiderTaskRecord({ page: pageObj.value.pageNo, size: pageObj.value.pageSize, status: "total" }); const res = await getSpiderTaskRecord({ page: pageObj.value.pageNo, size: pageObj.value.pageSize, status: "total" });
pageObj.value.total = res.data.total; pageObj.value.total = res.data.total;
tableData.value = res.data.list; tableData.value = res.data.list;
tableLoading.value = false;
}; };
// 数据的方法
//查询数据的方法
const searchData = async () => { const searchData = async () => {
if (!timeValue.value) { if (!timeValue.value) {
ElMessage.warning("请先选择时间段"); ElMessage.warning("请先选择时间段");
...@@ -145,6 +157,7 @@ const searchData = async () => { ...@@ -145,6 +157,7 @@ const searchData = async () => {
const endTime = timeValue.value[1]; const endTime = timeValue.value[1];
resTime.push(startTime); resTime.push(startTime);
resTime.push(endTime); resTime.push(endTime);
tableLoading.value = true;
const res = await getSpiderTaskRecord({ const res = await getSpiderTaskRecord({
page: pageObj.value.pageNo, page: pageObj.value.pageNo,
size: pageObj.value.pageSize, size: pageObj.value.pageSize,
...@@ -153,6 +166,7 @@ const searchData = async () => { ...@@ -153,6 +166,7 @@ const searchData = async () => {
}); });
pageObj.value.total = res.data.total; pageObj.value.total = res.data.total;
tableData.value = res.data.list; tableData.value = res.data.list;
tableLoading.value = false;
}; };
onMounted(() => { onMounted(() => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment