Browse Source

🚨 fixme 对象依赖过度

master
wangxiang 3 years ago
parent
commit
c01c8304a7
  1. 38
      src/components/AMap/src/AMapDesigner/index.vue
  2. 10
      src/components/AMap/src/components/MapTaskModal.vue
  3. 7
      src/components/AMap/src/components/MapTaskPresetModal.vue

38
src/components/AMap/src/AMapDesigner/index.vue

@ -40,10 +40,12 @@ @@ -40,10 +40,12 @@
:disabled="isEdit"
:options="mapState.hospitalList"
@select="handleCourierUserSearch"
@change="handleCreateSendOrderTask"
/>
<ASelect v-model:value="mapState.mapData.sendOrderTaskType"
style="width: 30%"
:disabled="isEdit"
@change="handleCreateSendOrderTask"
>
<ASelectOption key="0">普通任务</ASelectOption>
<ASelectOption key="1">交接任务</ASelectOption>
@ -118,7 +120,7 @@ @@ -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 @@ @@ -226,7 +228,6 @@
const formElRef = ref();
const [registerTable, { setTableData }] = useTable({
title: '任务列表',
rowKey: 'id',
columns: operatePanelColumns,
resizeHeightOffset: 100,
showTableSetting: true,
@ -552,40 +553,32 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -740,7 +731,6 @@
drawMapNavigate(pointData);
}
/** 处理地图标记点数据 */
function handleMapPoint(mapLogisticPoint: Recordable[] = []) {
if (!isEmpty(mapLogisticPoint)) {

10
src/components/AMap/src/components/MapTaskModal.vue

@ -129,6 +129,12 @@ @@ -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 @@ @@ -144,9 +150,7 @@
setTableData: setTaskOrdinaryTableData,
setColumns: setTaskOrdinaryColumns
}] = useTable({
rowKey: 'id',
title: '普通任务',
columns: taskOrdinaryColumns,
pagination: {
pageSize: 4,
showSizeChanger: false
@ -169,9 +173,7 @@ @@ -169,9 +173,7 @@
setTableData: setTaskPresetTableData,
setColumns: setTaskPresetColumns
}] = useTable({
rowKey: 'id',
title: '交接任务',
columns: taskPresetColumns,
pagination: {
pageSize: 4,
showSizeChanger: false

7
src/components/AMap/src/components/MapTaskPresetModal.vue

@ -115,10 +115,12 @@ @@ -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 @@ @@ -133,7 +135,6 @@
});
const [registerTable, { getDataSource, setTableData, setColumns }] = useTable({
title: '转办任务',
columns: taskPresetChildColumns,
pagination: {
pageSize: 6,
showSizeChanger: false

Loading…
Cancel
Save