-
-
-
-
+
+ 待实现
-
-
+
+ 待实现
+
diff --git a/pages/device.vue b/pages/device.vue
index abfbc9b..0a94f6c 100644
--- a/pages/device.vue
+++ b/pages/device.vue
@@ -116,7 +116,7 @@
创建时间
- 节目id
+ 节目名称
@@ -173,7 +173,7 @@
{{ device.createdAt.toLocaleDateString() }}
- {{ device.programId }}
+ 待实现
diff --git a/pages/program.vue b/pages/program.vue
index 4a07271..e687366 100644
--- a/pages/program.vue
+++ b/pages/program.vue
@@ -310,16 +310,16 @@
-
+
随机选取内容/单个内容
-
+
内容类型/内容名称
-
+
@@ -337,6 +337,118 @@
{{ content.name }}
+
+
@@ -424,30 +536,55 @@ const { data: selectedContentList } = useQuery({
},
});
-const { mutate: sequenceMutation, isPending: seqEditPending } = useMutation({
+const {
+ mutate: sequenceMutation,
+ isPending: seqEditPending,
+ isSuccess: seqEditSuccess,
+} = useMutation({
mutationFn: $api.program.setSequence.mutate,
onError: err => useErrorHandler(err),
});
function appendContent() {
if (sequence.value === undefined)
return;
- if (chooseRandomContent.value) {
- sequenceMutation({
- id: idInEdit.value,
- sequence: sequence.value.concat([{
- type: 'pool',
- id: checkedCategory.id,
- }]),
- });
- } else {
- sequenceMutation({
- id: idInEdit.value,
- sequence: sequence.value.concat([{
- type: 'content',
- id: selectedContentId.value,
- }]),
- });
- }
+ sequenceMutation({
+ id: idInEdit.value,
+ sequence: sequence.value.concat([{
+ type: chooseRandomContent.value ? 'pool' : 'content',
+ id: chooseRandomContent.value ? checkedCategory.id : selectedContentId.value,
+ }]),
+ });
+ if (seqEditSuccess)
+ toast.success('添加内容成功');
+ queryClient.invalidateQueries({ queryKey: ['program'] });
+}
+function deleteContent(index: number) {
+ if (sequence.value === undefined)
+ return;
+ sequenceMutation({
+ id: idInEdit.value,
+ sequence: sequence.value.toSpliced(index, 1),
+ });
+ if (seqEditSuccess)
+ toast.success('删除内容成功');
+ queryClient.invalidateQueries({ queryKey: ['program'] });
+}
+function replaceContent(index: number) {
+ if (sequence.value === undefined)
+ return;
+ sequenceMutation({
+ id: idInEdit.value,
+ sequence: sequence.value.toSpliced(
+ index,
+ 1,
+ {
+ type: chooseRandomContent.value ? 'pool' : 'content',
+ id: chooseRandomContent.value ? checkedCategory.id : selectedContentId.value,
+ },
+ ),
+ });
+ if (seqEditSuccess)
+ toast.success('修改内容成功');
queryClient.invalidateQueries({ queryKey: ['program'] });
}