From 666c8e9b68d00c6aac0cd6fb1e1269c57a596615 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Wed, 7 Sep 2022 02:11:04 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=BD=93=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=8F=91=E7=94=9F=E5=8F=98=E5=8C=96=E6=97=B6?= =?UTF-8?q?=E5=80=99=E9=87=8D=E7=BD=AE=E4=B8=8A=E7=BA=A7=E5=8C=BB=E9=99=A2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AMap/src/AMapDesigner/index.vue | 27 +++++++++++++------ .../AMap/src/components/MapTaskModal.vue | 7 +++-- .../src/components/MapTaskPresetModal.vue | 4 ++- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/components/AMap/src/AMapDesigner/index.vue b/src/components/AMap/src/AMapDesigner/index.vue index 29d2064..8348e44 100644 --- a/src/components/AMap/src/AMapDesigner/index.vue +++ b/src/components/AMap/src/AMapDesigner/index.vue @@ -109,7 +109,7 @@ import { getCourierUserList } from '/@/api/platform/system/controller/user'; import { listOrg } from '/@/api/platform/common/controller/org'; import { useUserStore } from '/@/store/modules/user'; - import { split, divide, subtract, merge, isEmpty, cloneDeep, add } from 'lodash-es'; + import {split, divide, subtract, merge, isEmpty, cloneDeep, add, omit} from 'lodash-es'; import componentSetting from '/@/settings/componentSetting'; import { BasicUpload } from '/@/components/Upload'; import { commonUpload } from '/@/api/platform/core/controller/upload'; @@ -526,17 +526,28 @@ key: buildUUID() }); } else { - const mapTask = mapState.mapData.mapTask - .filter(item => item.taskType == sendOrderTaskTypeOldValue) - .find(item => item.sort == 1); + const taskOrdinaryData = mapState.mapData.mapTask.filter(item => !~~item.taskType); + const taskPresetData = mapState.mapData.mapTask.filter(item => ~~item.taskType); + const index = ~~sendOrderTaskTypeOldValue ? taskPresetData.findIndex(item => item.sort == 1) : taskOrdinaryData.findIndex(item => item.sort == 1); + const mapTask = ~~sendOrderTaskTypeOldValue ? taskPresetData[index] : taskOrdinaryData[index]; mapTask && Object.assign(mapTask, { hospitalId: sendOrderIdValue, taskType: sendOrderTaskTypeValue - }, ~~sendOrderTaskTypeValue != ~~sendOrderTaskTypeOldValue && { - orgId: '', - orgName: ~~sendOrderTaskTypeValue ? '等待收样员设置!' : '', - fileId: [] }); + if (~~sendOrderTaskTypeValue != ~~sendOrderTaskTypeOldValue && mapTask) { + // 普通任务与交接任务互换清除上级医院 + Object.assign(mapTask, { + orgId: '', + orgName: ~~sendOrderTaskTypeValue ? '等待收样员设置!' : '', + fileId: [] + }); + // 重新在头部添加任务并且重新排序 + ~~sendOrderTaskTypeOldValue ? taskPresetData.splice(index, 1) : taskOrdinaryData.splice(index, 1); + ~~sendOrderTaskTypeValue ? taskPresetData.unshift(mapTask) : taskOrdinaryData.unshift(mapTask); + taskOrdinaryData.forEach((item, index)=> item.sort = add(index, 1)); + taskPresetData.forEach((item, index)=> item.sort = add(index, 1)); + mapState.mapData.mapTask = [...taskOrdinaryData, ...taskPresetData]; + } } handleMapPointGenerate(); }); diff --git a/src/components/AMap/src/components/MapTaskModal.vue b/src/components/AMap/src/components/MapTaskModal.vue index cadd323..dd6f5e5 100644 --- a/src/components/AMap/src/components/MapTaskModal.vue +++ b/src/components/AMap/src/components/MapTaskModal.vue @@ -67,6 +67,7 @@ import { add, cloneDeep, omit } from 'lodash-es'; import { defaultMapData } from '/@/enums/amapEnum'; import { MapLogistic } from '/@/api/platform/common/entity/mapLogistic'; + import { buildUUID } from '/@/utils/uuid'; /** 类型规范统一声明定义区域 */ type OptionsType = { @@ -215,7 +216,8 @@ hospitalId: '', taskType: '0', orgId: '', - fileId: [] + fileId: [], + key: buildUUID() }); } @@ -237,7 +239,8 @@ hospitalId: '', taskType: '1', orgName: '等待收样员设置!', - fileId: [] + fileId: [], + key: buildUUID() }); } diff --git a/src/components/AMap/src/components/MapTaskPresetModal.vue b/src/components/AMap/src/components/MapTaskPresetModal.vue index 6c7675c..5c977fa 100644 --- a/src/components/AMap/src/components/MapTaskPresetModal.vue +++ b/src/components/AMap/src/components/MapTaskPresetModal.vue @@ -50,6 +50,7 @@ import { listUser } from '/@/api/platform/system/controller/user'; import { useMessage } from '/@/hooks/web/useMessage'; import { add, cloneDeep, omit } from 'lodash-es'; + import { buildUUID } from '/@/utils/uuid'; /** 类型规范统一声明定义区域 */ type OptionsType = { @@ -156,7 +157,8 @@ courierUserId: '', orginPresetName: '等待收样员设置!', destinationPresetName: '等待收样员设置!', - fileId: [] + fileId: [], + key: buildUUID() }); }