|
|
@@ -16,13 +16,15 @@
|
|
|
import { BasicModal, useModalInner } from '/@/components/Modal';
|
|
|
import { BasicForm, useForm } from '/@/components/Form';
|
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
- import { dataFormSchema } from './data';
|
|
|
+ import { BasicWeekEnum, dataFormSchema } from './data';
|
|
|
|
|
|
import {
|
|
|
bedScheduledPersonAdd,
|
|
|
bedScheduledPersonEdit,
|
|
|
bedScheduledPersonDetail,
|
|
|
} from '/@/api/biz/bed/scheduledPersonApi';
|
|
|
+ import { getWorkingDay } from '/@/api/biz/management/working';
|
|
|
+
|
|
|
import dayjs from 'dayjs';
|
|
|
|
|
|
const emit = defineEmits(['success', 'register']);
|
|
|
@@ -31,9 +33,10 @@
|
|
|
const width = '45%';
|
|
|
const isUpdate = ref(false);
|
|
|
const rowId = ref();
|
|
|
+ const specialNeedWeekOption = ref([]);
|
|
|
|
|
|
const { createMessage } = useMessage();
|
|
|
- const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
|
|
|
+ const [registerForm, { setFieldsValue, resetFields, validate, updateSchema }] = useForm({
|
|
|
labelWidth: 100,
|
|
|
schemas: dataFormSchema,
|
|
|
showActionButtonGroup: false,
|
|
|
@@ -52,26 +55,35 @@
|
|
|
if (unref(isUpdate)) {
|
|
|
const resData = await bedScheduledPersonDetail(data.record.id);
|
|
|
console.log('🚀 ~ file: FormModal.vue:54 ~ resData:', resData);
|
|
|
- rowId.value = resData.id;
|
|
|
+ rowId.value = resData.patientBasicId;
|
|
|
+ const workingDay = await getWorkingDay();
|
|
|
+ let specialNeedWeek = [];
|
|
|
+ // const specialNeedWeekOption = [];
|
|
|
+ for (const i in workingDay) {
|
|
|
+ if (workingDay[i]) {
|
|
|
+ specialNeedWeek = specialNeedWeek.concat(i);
|
|
|
+ }
|
|
|
+ specialNeedWeekOption.value.push({
|
|
|
+ label: BasicWeekEnum[i],
|
|
|
+ value: i,
|
|
|
+ });
|
|
|
+ }
|
|
|
const fieldsData = Object.assign(resData, {
|
|
|
frequency: {
|
|
|
input: 1,
|
|
|
dictValue: resData.frequency?.week == 1 ? 'week_1' : 'week_2',
|
|
|
},
|
|
|
+ specialNeedWeek,
|
|
|
});
|
|
|
console.log('🚀 ~ file: FormModal.vue:62 ~ fieldsData:', fieldsData);
|
|
|
+ await updateSchema({
|
|
|
+ field: 'specialNeedWeek',
|
|
|
+ componentProps: {
|
|
|
+ options: specialNeedWeekOption.value,
|
|
|
+ },
|
|
|
+ });
|
|
|
await setFieldsValue({
|
|
|
...fieldsData,
|
|
|
- // ...resData,
|
|
|
- // machine: ['pump_single'],
|
|
|
- // patientUniqueNo: resData.patientUniqueNo,
|
|
|
- // archivesCreateTime: resData.archivesCreateTime,
|
|
|
- // patientType: resData.patientType,
|
|
|
- // special: resData.special,
|
|
|
- // frequency: {
|
|
|
- // input: 1,
|
|
|
- // dictValue: resData.frequency?.week == 1 ? 'week_1' : 'week_2',
|
|
|
- // },
|
|
|
});
|
|
|
} else {
|
|
|
await setFieldsValue({
|
|
|
@@ -84,10 +96,26 @@
|
|
|
async function handleSubmit() {
|
|
|
try {
|
|
|
const values = await validate();
|
|
|
+ values.frequency = {
|
|
|
+ week: values.frequency.dictValue,
|
|
|
+ times: values.frequency.input,
|
|
|
+ };
|
|
|
+ values.specialNeed = {};
|
|
|
+ specialNeedWeekOption.value.forEach(ele => {
|
|
|
+ if (values.specialNeedWeek.includes(ele.value)) {
|
|
|
+ values.specialNeed[ele.value] = true;
|
|
|
+ } else {
|
|
|
+ values.specialNeed[ele.value] = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ values.specialNeed['sailingSorts'] = values.sailingSorts.sort();
|
|
|
+ delete values.specialNeedWeek;
|
|
|
+ delete values.sailingSorts;
|
|
|
+ console.log('🚀 ~ file: FormModal.vue:98 ~ handleSubmit ~ values:', values);
|
|
|
setModalProps({ confirmLoading: true });
|
|
|
!unref(isUpdate)
|
|
|
? await bedScheduledPersonAdd({ ...values })
|
|
|
- : await bedScheduledPersonEdit({ ...values, id: rowId.value });
|
|
|
+ : await bedScheduledPersonEdit({ ...values, patientBasicId: rowId.value });
|
|
|
!unref(isUpdate) ? createMessage.success('新增成功!') : createMessage.success('编辑成功!');
|
|
|
closeModal();
|
|
|
emit('success', {
|