From 4e348889b8df9ec1ff4f0295034762e9afbf624b Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Tue, 6 Sep 2022 12:39:45 +0800 Subject: [PATCH] =?UTF-8?q?:rocket:=20=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AMap/src/AMapDesigner/index.vue | 64 ++++++++++--------- .../AMap/src/components/MapTaskModal.vue | 5 +- 2 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/components/AMap/src/AMapDesigner/index.vue b/src/components/AMap/src/AMapDesigner/index.vue index 6a06157..2c9ea98 100644 --- a/src/components/AMap/src/AMapDesigner/index.vue +++ b/src/components/AMap/src/AMapDesigner/index.vue @@ -40,12 +40,11 @@ :disabled="isEdit" :options="mapState.hospitalList" @select="handleCourierUserSearch" - @change="handleCreateSendOrderTask" /> 普通任务 交接任务 @@ -512,6 +511,31 @@ immediate: true, deep: true }); + watch([() => mapState.mapData.sendOrderId, () => mapState.mapData.sendOrderTaskType], + ([sendOrderIdValue,sendOrderTaskTypeValue], [sendOrderIdOldValue, sendOrderTaskTypeOldValue]) => { + if (!sendOrderIdValue || !sendOrderTaskTypeValue) return; + if (isEmpty(mapState.mapData.mapTask)) { + mapState.mapData.mapTask.push({ + name: '系统创建:发单任务', + hospitalId: sendOrderIdValue, + taskType: sendOrderTaskTypeValue, + orgId: '', + orgName: ~~sendOrderTaskTypeValue ? '' : '等待收样员设置!', + sort: 1, + fileId: [], + key: buildUUID() + }); + } else { + const mapTask = mapState.mapData.mapTask + .filter(item => item.taskType == sendOrderTaskTypeOldValue) + .find(item => item.sort == 1); + mapTask && Object.assign(mapTask, { + hospitalId: sendOrderIdValue, + taskType: sendOrderTaskTypeValue + }); + } + handleMapPointGenerate(); + }); /** 处理切换操作面板 */ function toggleOperatePanel() { @@ -560,31 +584,6 @@ }); } - /** 处理创建首个发单任务 */ - function handleCreateSendOrderTask() { - if (!mapState.mapData.sendOrderId || !mapState.mapData.sendOrderTaskType) return; - if (isEmpty(mapState.mapData.mapTask)) { - mapState.mapData.mapTask.push({ - name: '系统创建:发单任务', - hospitalId: mapState.mapData.sendOrderId, - taskType: mapState.mapData.sendOrderTaskType, - orgId: '', - orgName: ~~mapState.mapData.sendOrderTaskType ? '' : '等待收样员设置!', - sort: 1, - fileId: [], - key: buildUUID() - }); - } else { - const mapTask = mapState.mapData.mapTask.filter(item => - item.taskType == mapState.mapData.sendOrderTaskType).find(item => item.sort == 1); - mapTask && Object.assign(mapTask, { - hospitalId: mapState.mapData.sendOrderId, - taskType: mapState.mapData.sendOrderTaskType - }); - } - handleMapPointGenerate(); - } - /** 处理起点收样员数据 */ function handleCourierUserData(value) { const courierUserMap = mapState.courierUserList.find(item => item.value == value); @@ -592,6 +591,7 @@ mapState.mapData.courierUserName = courierUserMap.label; mapState.mapData.courierLng = courierUserMap.mapLng; mapState.mapData.courierLat = courierUserMap.mapLat; + drawMapNavigate(mapState.mapData.mapLogisticPoint); } else notification.warn({ message: '查找不到起点数据,请检查起点!', duration: 2 @@ -601,8 +601,9 @@ /** 处理打开任务配置 */ async function handleOpenMapTask() { await formElRef.value.validate(); - if(!mapState.mapData.mapTask.filter(item => - item.taskType == mapState.mapData.sendOrderTaskType).find(item => item.sort == 1)) { + if(!mapState.mapData.mapTask + .filter(item => item.taskType == mapState.mapData.sendOrderTaskType) + .find(item => item.sort == 1)) { notification.error({ message: '致命错误', description: `检测到任务列表中首个${~~mapState.mapData.sendOrderTaskType ? '普通' : '交接'}任务对应发单数据错误,请联系开发人员!`, @@ -665,6 +666,11 @@ return cloneDeep(mapState.mapData); } + /** 获取部件表单数据 */ + function formClearValidate(fields: string[] | string) { + return formElRef.value.clearValidate(fields); + } + /** 绘制地图导航路线 */ function drawMapNavigate(points: Recordable[] = []) { points = points.filter(item => item.lng && item.lat); diff --git a/src/components/AMap/src/components/MapTaskModal.vue b/src/components/AMap/src/components/MapTaskModal.vue index 6db9db2..c4527e9 100644 --- a/src/components/AMap/src/components/MapTaskModal.vue +++ b/src/components/AMap/src/components/MapTaskModal.vue @@ -103,8 +103,9 @@ state.options = options as OptionsType; const props: Partial = { confirmLoading: false }; props.title = '任务配置'; - const sendOrderMapTask = state.mapData.mapTask.filter(item => - item.taskType == state.mapData.sendOrderTaskType).find(item => item.sort == 1); + const sendOrderMapTask = state.mapData.mapTask + .filter(item => item.taskType == state.mapData.sendOrderTaskType) + .find(item => item.sort == 1); state.sendOrderTaskEditKeyRef = sendOrderMapTask?.key; const taskOrdinaryUpdateColumns: BasicColumn[] = [ {