refactor: signal success all status
This commit is contained in:
parent
ba64702287
commit
9eb2ddea61
2 changed files with 30 additions and 1 deletions
|
|
@ -36,6 +36,7 @@ import {
|
||||||
PropOptions,
|
PropOptions,
|
||||||
PropString,
|
PropString,
|
||||||
} from 'src/stores/product-service/types';
|
} from 'src/stores/product-service/types';
|
||||||
|
import { computed, nextTick } from 'vue';
|
||||||
|
|
||||||
const { locale } = useI18n();
|
const { locale } = useI18n();
|
||||||
|
|
||||||
|
|
@ -173,6 +174,11 @@ async function triggerChangeStatusWork(step: Step) {
|
||||||
res.workStatus;
|
res.workStatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
await nextTick();
|
||||||
|
|
||||||
|
if (successAll.value) {
|
||||||
|
await requestListStore.editStatusRequestWork(step, !!successAll.value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function triggerChangeStatusFile(opt: {
|
async function triggerChangeStatusFile(opt: {
|
||||||
|
|
@ -247,6 +253,27 @@ async function triggerViewFile(opt: {
|
||||||
|
|
||||||
if (!opt.download) window.open(url, '_blank');
|
if (!opt.download) window.open(url, '_blank');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const successAll = computed(() => {
|
||||||
|
return !!flow.value?.step.every((_, i) => {
|
||||||
|
return workList.value
|
||||||
|
?.filter((v) => {
|
||||||
|
return v.productService.work?.attributes.workflowStep?.[
|
||||||
|
i
|
||||||
|
]?.productsId.includes(v.productService.productId);
|
||||||
|
})
|
||||||
|
.every((v) => {
|
||||||
|
const status = v.stepStatus.find(
|
||||||
|
({ step }) => step === i + 1,
|
||||||
|
)?.workStatus;
|
||||||
|
|
||||||
|
return (
|
||||||
|
status === RequestWorkStatus.Completed ||
|
||||||
|
status === RequestWorkStatus.Ended
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="column surface-0 fullscreen" v-if="data">
|
<div class="column surface-0 fullscreen" v-if="data">
|
||||||
|
|
@ -484,6 +511,7 @@ async function triggerViewFile(opt: {
|
||||||
? pageState.currentStep
|
? pageState.currentStep
|
||||||
: v.step.step,
|
: v.step.step,
|
||||||
requestWorkId: value.id || '',
|
requestWorkId: value.id || '',
|
||||||
|
su,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
|
|
|
||||||
|
|
@ -236,7 +236,7 @@ export const useRequestList = defineStore('request-list', () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function editStatusRequestWork(body: Step) {
|
async function editStatusRequestWork(body: Step, successAll?: boolean) {
|
||||||
const res = await api.put<Step>(
|
const res = await api.put<Step>(
|
||||||
`/request-work/${body.requestWorkId}/step-status/${body.step}`,
|
`/request-work/${body.requestWorkId}/step-status/${body.step}`,
|
||||||
{
|
{
|
||||||
|
|
@ -245,6 +245,7 @@ export const useRequestList = defineStore('request-list', () => {
|
||||||
requestWorkId: undefined,
|
requestWorkId: undefined,
|
||||||
step: undefined,
|
step: undefined,
|
||||||
},
|
},
|
||||||
|
{ params: { successAll } },
|
||||||
);
|
);
|
||||||
|
|
||||||
if (res.status < 400) return res.data;
|
if (res.status < 400) return res.data;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue