diff --git a/src/components/AMap/src/AMapDesigner/index.vue b/src/components/AMap/src/AMapDesigner/index.vue index 4a3c2e8..2006678 100644 --- a/src/components/AMap/src/AMapDesigner/index.vue +++ b/src/components/AMap/src/AMapDesigner/index.vue @@ -40,10 +40,12 @@ :disabled="isEdit" :options="mapState.hospitalList" @select="handleCourierUserSearch" + @change="handleCreateSendOrderTask" /> 普通任务 交接任务 @@ -118,7 +120,7 @@ import Toolbar from '../components/Toolbar.vue'; import { saveOrUpdateMapLogistic } from '/@/api/platform/common/controller/mapLogistic'; import { MapLogistic } from '/@/api/platform/common/entity/mapLogistic'; - import {buildUUID} from "/@/utils/uuid"; + import { buildUUID } from '/@/utils/uuid'; /** 类型规范统一声明定义区域 */ interface MapState { @@ -226,7 +228,6 @@ const formElRef = ref(); const [registerTable, { setTableData }] = useTable({ title: '任务列表', - rowKey: 'id', columns: operatePanelColumns, resizeHeightOffset: 100, showTableSetting: true, @@ -552,40 +553,32 @@ message: '查找不到发单点数据,请检查发单点!', duration: 2 }); - } /** 处理创建首个发单任务 */ function handleCreateSendOrderTask() { - if (!mapState.mapData.sendOrderId && !mapState.mapData.sendOrderTaskType) throw notification.error({ - message: '处理创建首个发单任务失败,请联系开发人员!', - description: '检查到发单或发单任务类型为空!', - duration: 2 - }); + 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 { - let mapTask = mapState.mapData.mapTask - .filter(item => item.taskType == mapState.mapData.sendOrderTaskType) - .find(item => item.sort == 1); + const mapTask = mapState.mapData.mapTask.find(item => item.hospitalId == mapState.mapData.sendOrderId); mapTask && Object.assign(mapTask, { hospitalId: mapState.mapData.sendOrderId, - taskType: mapState.mapData.sendOrderTaskType, - orgName: ~~mapState.mapData.sendOrderTaskType ? '' : '等待收样员设置!', + taskType: mapState.mapData.sendOrderTaskType }); } handleMapPointGenerate(); } - /** 处理起点收样员数据 */ function handleCourierUserData(value) { const courierUserMap = mapState.courierUserList.find(item => item.value == value); @@ -602,9 +595,7 @@ /** 处理打开任务配置 */ async function handleOpenMapTask() { await formElRef.value.validate(); - if(mapState.mapData.mapTask - .filter(item => item.taskType == mapState.mapData.sendOrderTaskType) - .find(item => item.sort == 1)?.hospitalId == mapState.mapData.sendOrderId) { + if(!mapState.mapData.mapTask.find(item => item.hospitalId == mapState.mapData.sendOrderId)) { notification.error({ message: '致命错误', description: `检测到任务列表中首个${~~mapState.mapData.sendOrderTaskType ? '普通' : '交接'}任务对应发单数据错误,请联系开发人员!`, @@ -695,7 +686,7 @@ duration: 2 }); } - pointData.push(omit(merge(item, { + pointData.push({ lng: hospital.mapLng, lat: hospital.mapLat, type: '0', @@ -703,7 +694,7 @@ taskType: item.taskType, hospitalId: hospital.value, hospitalName: hospital.label - }), 'id'), omit(merge(item, { + }, { lng: org?.mapLng, lat: org?.mapLat, type: '1', @@ -711,12 +702,12 @@ taskType: item.taskType, hospitalId: org?.value, hospitalName: org?.label - }), 'id')); + }); }); // 查找并添加与自己有关的交接预设任务,只能添加设置了位置的标记点 await listMapTaskPreset({ size: 40, courierUserId: mapState.mapData.courierUserId }).then(res => { res.data?.map(item => { - pointData.push(omit(merge(item, { + pointData.push({ lng: item.orginPresetLng, lat: item.orginPresetLat, type: '0', @@ -724,7 +715,7 @@ mapTaskId: item.id, hospitalId: item.orginPresetId, hospitalName: item.orginPresetName - }), 'id'), omit(merge(item, { + }, { lng: item.destinationPresetLng, lat: item.destinationPresetLat, type: '1', @@ -732,7 +723,7 @@ mapTaskId: item.id, hospitalId: item.destinationPresetId, hospitalName: item.destinationPresetName - }), 'id')); + }); }); }); pointData.forEach((item, index)=> item.sort = add(index, 1)); @@ -740,7 +731,6 @@ drawMapNavigate(pointData); } - /** 处理地图标记点数据 */ function handleMapPoint(mapLogisticPoint: Recordable[] = []) { if (!isEmpty(mapLogisticPoint)) { diff --git a/src/components/AMap/src/components/MapTaskModal.vue b/src/components/AMap/src/components/MapTaskModal.vue index 51ff990..dba8a42 100644 --- a/src/components/AMap/src/components/MapTaskModal.vue +++ b/src/components/AMap/src/components/MapTaskModal.vue @@ -129,6 +129,12 @@ setTaskOrdinaryTableData(mapTask.filter(item => ~~item.taskType == 0)); setTaskPresetTableData(mapTask.filter(item => ~~item.taskType == 1)); // 尾部:设置处理后的最终配置数据 + console.log(taskOrdinaryColumns.map(item => + taskOrdinaryUpdateColumns.find(e => e.dataIndex == item.dataIndex) || item + ), taskPresetColumns.map(item => + taskPresetUpdateColumns.find(e => e.dataIndex == item.dataIndex) || item + ), mapTask + ); setTaskOrdinaryColumns(taskOrdinaryColumns.map(item => taskOrdinaryUpdateColumns.find(e => e.dataIndex == item.dataIndex) || item )); @@ -144,9 +150,7 @@ setTableData: setTaskOrdinaryTableData, setColumns: setTaskOrdinaryColumns }] = useTable({ - rowKey: 'id', title: '普通任务', - columns: taskOrdinaryColumns, pagination: { pageSize: 4, showSizeChanger: false @@ -169,9 +173,7 @@ setTableData: setTaskPresetTableData, setColumns: setTaskPresetColumns }] = useTable({ - rowKey: 'id', title: '交接任务', - columns: taskPresetColumns, pagination: { pageSize: 4, showSizeChanger: false diff --git a/src/components/AMap/src/components/MapTaskPresetModal.vue b/src/components/AMap/src/components/MapTaskPresetModal.vue index 17def17..2d62771 100644 --- a/src/components/AMap/src/components/MapTaskPresetModal.vue +++ b/src/components/AMap/src/components/MapTaskPresetModal.vue @@ -115,10 +115,12 @@ })); }); await listUser({ size: 40, userType: '1' }).then(res => { - columns[0].editComponentProps.options = res.data?.map(item => ({ + Object.assign(columns[0].editComponentProps, { + options: res.data?.map(item => ({ value: item.id, label: item.nickName, - })).filter(item => item.value != state.courierUserId); + })).filter(item => item.value != state.courierUserId) + }); }); setColumns(taskPresetChildColumns.map(item => columns.find(e => e.dataIndex == item.dataIndex) || item @@ -133,7 +135,6 @@ }); const [registerTable, { getDataSource, setTableData, setColumns }] = useTable({ title: '转办任务', - columns: taskPresetChildColumns, pagination: { pageSize: 6, showSizeChanger: false