|
|
|
@ -48,7 +48,6 @@
@@ -48,7 +48,6 @@
|
|
|
|
|
import { buildUUID } from '/@/utils/uuid'; |
|
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'; |
|
|
|
|
import { cloneDeep } from 'lodash-es'; |
|
|
|
|
import { ApiSelect } from '/@/components/Form'; |
|
|
|
|
import { listOrg } from '/@/api/platform/common/controller/org'; |
|
|
|
|
|
|
|
|
|
/** 类型规范统一声明定义区域 */ |
|
|
|
@ -93,7 +92,7 @@
@@ -93,7 +92,7 @@
|
|
|
|
|
editRow: true, |
|
|
|
|
editRule: (text: string, record: Recordable) => { |
|
|
|
|
if (!text) return Promise.resolve('收样员必填!'); |
|
|
|
|
if (getDataSource().some(item => item.courierUserId == text)) return Promise.resolve('收样员不能重复!'); |
|
|
|
|
if (getDataSource().filter(item => item.key != record.key).some(item => item.courierUserId == text)) return Promise.resolve('收样员不能重复!'); |
|
|
|
|
return Promise.resolve(''); |
|
|
|
|
}, |
|
|
|
|
editComponent: 'Select', |
|
|
|
@ -221,10 +220,23 @@
@@ -221,10 +220,23 @@
|
|
|
|
|
/** 处理弹出框提交 */ |
|
|
|
|
async function handleSubmit() { |
|
|
|
|
try { |
|
|
|
|
setModalProps({ confirmLoading: true }); |
|
|
|
|
// 处理提交之前逻辑 |
|
|
|
|
const formData = await formElRef.value.validate(); |
|
|
|
|
setModalProps({ confirmLoading: true }); |
|
|
|
|
const mapTaskPresetData = toRaw(getDataSource()); |
|
|
|
|
const validateData:Promise<boolean>[] = []; |
|
|
|
|
// 清除旧的上级医检医院 |
|
|
|
|
mapTaskPresetData.forEach(item => { |
|
|
|
|
validateData.push(item.onValid?.() || Promise.resolve(true)); |
|
|
|
|
if(state.orgList.findIndex(e => e.value == item.destinationPresetId) != -1) { |
|
|
|
|
item.destinationPresetId = ''; |
|
|
|
|
item.destinationPresetName = '等待收样员设置!'; |
|
|
|
|
item.destinationPresetlng = ''; |
|
|
|
|
item.destinationPresetlLat = ''; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
const validateResult = await Promise.all(validateData); |
|
|
|
|
if (!validateResult.every(item => item)) return createMessage.error('表格校验未通过,请检查!'); |
|
|
|
|
// 自动填充交接最终到达上级医检医院 |
|
|
|
|
const lastElement = mapTaskPresetData[mapTaskPresetData.length - 1]; |
|
|
|
|
const option = state.orgList.find(item => item.value == formData.destinationPresetId); |
|
|
|
|