引入舱位

szh-new
sunzehua 2 months ago
parent 69b0b7e453
commit 717ea6cddd

@ -4,34 +4,24 @@
* @Date: 2024-04-29 11:54:04 * @Date: 2024-04-29 11:54:04
--> -->
<template> <template>
<a-modal <a-modal title="引入舱位" @cancel="visible = false" @ok="handleOk" v-if="visible" :visible="visible" width="80%"
title="引入舱位" :confirmLoading="loading">
@cancel="visible = false"
@ok="handleOk"
v-if="visible"
:visible="visible"
width="80%"
:confirmLoading="loading"
>
<a-spin :spinning="loading"> <a-spin :spinning="loading">
<BasicTable <BasicTable class="ds-table-detail" @register="registerTable" />
class="ds-table-detail"
@register="registerTable"
/>
</a-spin> </a-spin>
</a-modal> </a-modal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { defineExpose, ref, defineProps, defineEmits } from 'vue' import { defineExpose, ref, defineProps, defineEmits } from 'vue'
import { BasicTable, useTable } from '/@/components/Table' import { BasicTable, useTable } from '/@/components/Table'
import { GetAvailableBookingSlots, BringInBookingSlotToOrder } from '../../api/BookingLedger.js' import { GetAvailableBookingSlots, BringInBookingSlotToOrder } from '../../api/BookingLedger.js'
import { storageColumns, storageSearchFormSchema } from './ladingInfo' import { storageColumns, storageSearchFormSchema } from './ladingInfo'
// //
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
const { createMessage } = useMessage() const { createMessage } = useMessage()
import { useI18n } from '/@/hooks/web/useI18n' import { useI18n } from '/@/hooks/web/useI18n'
const { t } = useI18n() const { t } = useI18n()
const props = defineProps({ const props = defineProps({
// id // id
id: { id: {
type: String type: String
@ -40,11 +30,11 @@
reload: { reload: {
type: Function type: Function
} }
}) })
const emit = defineEmits(['createTask']) const emit = defineEmits(['createTask'])
// //
import { formatParams } from '/@/hooks/web/common' import { formatParams } from '/@/hooks/web/common'
const [registerTable, { reload, getSelectRows }] = useTable({ const [registerTable, { getForm, reload, getSelectRows }] = useTable({
title: '', title: '',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await GetAvailableBookingSlots(p) const res: API.DataResult = await GetAvailableBookingSlots(p)
@ -54,7 +44,18 @@
}, },
// //
beforeFetch: (p) => { beforeFetch: (p) => {
return formatParams(p) const data = formatParams(p)
const queryData = JSON.parse(formatParams(p).queryCondition)
let i = queryData.length
while (i--) {
if (queryData[i].FieldName === 'slotNo') {
queryData.splice(i, 1)
}
}
data.queryCondition = JSON.stringify(queryData)
data.otherQueryCondition = {}
data.otherQueryCondition = getForm().getFieldsValue().slotNo
return data
}, },
columns: storageColumns, columns: storageColumns,
formConfig: { formConfig: {
@ -77,14 +78,14 @@
}, },
canResize: true, canResize: true,
resizeHeightOffset: 80 resizeHeightOffset: 80
}) })
const visible = ref(false) const visible = ref(false)
// //
const init = () => { const init = () => {
visible.value = true visible.value = true
} }
const loading = ref(false) const loading = ref(false)
const handleOk = () => { const handleOk = () => {
const slots = getSelectRows() const slots = getSelectRows()
if (!slots.length) return createMessage.warning('请选择舱位!') if (!slots.length) return createMessage.warning('请选择舱位!')
loading.value = true loading.value = true
@ -97,12 +98,10 @@
visible.value = false visible.value = false
loading.value = false loading.value = false
}) })
} }
defineExpose({ defineExpose({
init init
}) })
</script> </script>
<style lang="less"> <style lang="less"></style>
</style>
Loading…
Cancel
Save