From 56cccf63a0748c0cf48237bf935fb04e500a4eea Mon Sep 17 00:00:00 2001
From: zjk <852185829@qq.com>
Date: 星期六, 28 二月 2026 21:00:22 +0800
Subject: [PATCH] feat: 排版计划接口对接、任务工单详情接口对接
---
src/views/operations/taskOrder/taskOrderCenter/index.vue | 63 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 10 deletions(-)
diff --git a/src/views/operations/taskOrder/taskOrderCenter/index.vue b/src/views/operations/taskOrder/taskOrderCenter/index.vue
index 0da061d..899a205 100644
--- a/src/views/operations/taskOrder/taskOrderCenter/index.vue
+++ b/src/views/operations/taskOrder/taskOrderCenter/index.vue
@@ -7,6 +7,7 @@
import SearchPanel from '@/components/custom/SearchPanel.vue'
import TableModal from './components/TableModal.vue'
import AddFormModal from './components/AddFormModal.vue'
+import DetailModal from './components/detailModal.vue'
import dayjs from 'dayjs'
const router = useRouter()
@@ -30,6 +31,8 @@
const formRef = ref<FormInst | null>()
const modalRef = ref()
+const detailModalRef = ref()
+
const showFormModal = ref(false)
const formMode = ref<'add' | 'edit'>('add')
@@ -186,18 +189,56 @@
formMode.value = 'add'
}
+/**
+ * 级联选中时自动补充父级 id
+ * @param tree 原始树结构
+ * @param selectedIds 已选中的 id 列表
+ */
+function addParentIds(
+ tree: any[],
+ selectedIds: string[]
+): string[] {
+ const result = new Set(selectedIds)
+
+ function traverse(nodes: any[], parent?: any) {
+ nodes.forEach(node => {
+ // 如果当前节点被选中
+ if (result.has(node.id) && parent) {
+ result.add(parent.id)
+ }
+
+ if (node.child && node.child.length) {
+ traverse(node.child, node)
+ }
+ })
+ }
+
+ traverse(tree)
+
+ return Array.from(result)
+}
+
const handleConfirmForm = (data: any) => {
+ console.log(data)
+ const taskImage = data.taskImage.map((item: any) => {
+ return {
+ id: item.id,
+ name: item.name,
+ url: item.url
+ }
+ })
const params = {
...data,
- taskTypeId: data.taskTypeId.join(','),
+ taskTypeId: addParentIds(taskErrorIdOptions.value,data.taskTypeId).join(','),
+ taskImage: JSON.stringify(taskImage),
}
- createTaskAccident(params).then((res) => {
- if (res.code === 200) {
- window.$message.success('新增成功')
- }
- }).finally(() => {
- getList()
- })
+ createTaskAccident(params).then((res) => {
+ if (res.code === 200) {
+ window.$message.success('新增成功')
+ }
+ }).finally(() => {
+ getList()
+ })
}
@@ -309,7 +350,7 @@
<NButton
text
type='primary'
- onClick={() => modalRef.value.openModal('edit', row.id)}
+ onClick={() => detailModalRef.value.openModal(row.id)}
>
详情
</NButton>
@@ -360,6 +401,8 @@
</NSpace>
</n-card>
<TableModal ref="modalRef" @refresh="getList" />
- <AddFormModal v-model:show="showFormModal" :mode="formMode" @confirm="handleConfirmForm" :taskErrorIdOptions="taskErrorIdOptions" :taskUrgencyLevelOptions="taskUrgencyLevelOptions"/>
+ <DetailModal ref="detailModalRef" />
+ <AddFormModal v-model:show="showFormModal" :mode="formMode" @confirm="handleConfirmForm"
+ :taskErrorIdOptions="taskErrorIdOptions" :taskUrgencyLevelOptions="taskUrgencyLevelOptions" />
</div>
</template>
--
Gitblit v1.7.1