This commit is contained in:
X1627315083
2024-03-22 12:01:11 +08:00
parent c8f6884e7d
commit 84674c63fd
14 changed files with 475 additions and 623 deletions

View File

@@ -12,11 +12,11 @@
</template>
<div class="task_content">
<div class="task_content_item" v-for="item in taskList">
<img v-if="item.state !== 'success'" src="@/assets/images/homePage/loading.gif" alt="">
<img v-if="item.status !== 'success'" src="@/assets/images/homePage/loading.gif" alt="">
<img v-else :src="item.inputParam.images" alt="">
<div class="task_content_item_text">
<div class="task_content_item_text_left modal_title_text">
<div class="task_content_item_text_left_titile">{{ item.title }}</div>
<div class="task_content_item_text_left_titile">{{ item.imageName }}</div>
<div class="task_content_item_text_left_into modal_title_text_intro">{{ item.createDate }}</div>
</div>
<div class="task_content_item_text_right modal_title_text">
@@ -24,22 +24,22 @@
</div>
</div>
</div>
<div class="task_content_more" v-show="taskListMore.length == 0" @click="setTaskListMore">
<div class="task_content_more" v-show="taskListMore.length == 0" @click="getTaskMoreList">
点击查看更多
</div>
<div class="task_content_select" v-show="taskListMore.length > 0">
<a-select :visibleChange="visibleChange()" v-model:value="currentState.value" size="large" optionFilterProp="label" :options="state" placeholder="Please select" :getPopupContainer="getPopupContainer" allowClear show-search></a-select>
</div>
<div class="task_content_item" v-for="item in taskListMore" v-show="taskListMore.length > 0">
<img v-if="item.state === '执行中' || item.state === '失败'" src="@/assets/images/homePage/loading.gif" alt="">
<img v-else :src="item.url" alt="">
<div class="task_content_item" v-for="item in taskListMore">
<img v-if="item.status !== 'success'" src="@/assets/images/homePage/loading.gif" alt="">
<img v-else :src="item.inputParam.images" alt="">
<div class="task_content_item_text">
<div class="task_content_item_text_left modal_title_text">
<div class="task_content_item_text_left_titile">{{ item.title }}</div>
<div class="task_content_item_text_left_into modal_title_text_intro">{{ item.time }}</div>
<div class="task_content_item_text_left_titile">{{ item.imageName }}</div>
<div class="task_content_item_text_left_into modal_title_text_intro">{{ item.createDate }}</div>
</div>
<div class="task_content_item_text_right modal_title_text">
<div class="task_content_item_text_left_titile">{{ item.state }}</div>
<div class="task_content_item_text_left_titile">{{ item.status }}</div>
</div>
</div>
</div>
@@ -54,6 +54,7 @@
import { message, Upload } from "ant-design-vue";
import { defineComponent, computed, h, ref, nextTick, inject } from "vue";
import { Https } from "@/tool/https";
import { downloadIamge } from "@/tool/util";
import { useStore } from "vuex";
// import { forEach } from "jszip";
import TaskDetailPage from "@/component/HomePage/TaskDetailPage.vue";
@@ -72,17 +73,19 @@ export default defineComponent({
let taskListMore:any = ref([])
let state:any = ref([
{
label:'Income',
value:'income',
label:'SR',
value:'SR',
},
{
label:'Expend',
value:'expend',
}
// {
// label:'SR',
// value:'SR',
// }
])
let currentState = ref({
value:'income',
value:'SR',
})
let getTaskTime:any = null
let oldTaskListMore:any = ref([])
return {
store,
visible,
@@ -90,6 +93,8 @@ export default defineComponent({
taskListMore,
state,
currentState,
getTaskTime,
oldTaskListMore,
};
},
data(prop) {
@@ -117,7 +122,7 @@ export default defineComponent({
function callback(entries:any, observer:any) {
entries.forEach((entry:any) => {
if (entry.isIntersecting) {
this_.getTaskList()
this_.getTaskMoreList()
} else {
}
});
@@ -126,14 +131,25 @@ export default defineComponent({
},
},
watch:{
// newWindowState:{
// handler(newVal,oldVal){
// console.log(newVal);
// if(newVal){
// this.newWindow?.close();
// }
// }
// },
taskList:{
handler(newVal,oldVal){
if(oldVal.length > 0){
let newSuccess = newVal.filter((item:any)=>item.status == 'success')
let oldSuccess = oldVal.filter((item:any)=>item.status == 'success')
// const exportSR = newSuccess.filter((item:any) => !oldSuccess.includes(item));
// console.log(JSON.parse(JSON.stringify(newSuccess)),JSON.parse(JSON.stringify(oldSuccess)));
// console.log(exportSR);
let difference = newSuccess.filter((objA:any) => !oldSuccess.some((objB:any) => objA.id === objB.id));
if(difference.length > 0){
difference.forEach((item:any)=>{
downloadIamge(item.outputImage,item.imageName)
})
}
}
}
},
},
methods: {
@@ -143,16 +159,13 @@ export default defineComponent({
},
init(){
this.visible = true
Https.axiosGet(Https.httpUrls.getTasksList).then((rv)=>{
this.taskList = this.sort(rv)
})
this.getTaskList()
},
sort(arr:any){
arr.sort((a:any, b:any) => {
var a_num = Date.parse(a.createDate);
var b_num = b.style.zIndex;
return a_num - b_num;
var b_num = Date.parse(b.createDate);
return b_num - a_num;
});
return arr
},
@@ -160,13 +173,8 @@ export default defineComponent({
if(!bool){
this.taskListMore = []
}
console.log(bool);
},
setTaskListMore(){
// this.taskListMore = this.taskList
this.taskListMore.push(...this.taskList,...this.taskList)
},
openTaskDetailPage(){
let taskDetailPage:any = this.$refs.TaskDetailPage
this.visible = false
@@ -178,14 +186,29 @@ export default defineComponent({
this.total = 0
},
getTaskList(){
clearTimeout(this.getTaskTime)
Https.axiosGet(Https.httpUrls.getTasksList).then((rv)=>{
this.taskList = this.sort(rv)
let isSuccess = rv.filter((item:any) => item.status == 'Waiting' || item.status == 'Executing')
if(isSuccess.length>0){
this.getTaskTime = setTimeout(() => {
this.getTaskList()
}, 4000);
}
})
},
getTaskMoreList(){
let data = {
size:this.pageSize,
page: this.currentPage,
aaa:this.currentState,
type:this.currentState.value,
endTime: "",
startTime: "",
}
console.log(123123);
this.currentPage += 1
Https.axiosGet()
Https.axiosPost(Https.httpUrls.getTasksHistory,data).then((rv)=>{
this.taskListMore = rv
})
}
},
});