sunzehua 1 month ago
commit cfe9b11781

@ -125,7 +125,7 @@
</div>
</div>
<!-- 引入历史数据弹窗 -->
<HistoryDrawer ref="historyDrawer" @submit="submitHistory"></HistoryDrawer>
<HistoryDrawer ref="historyDrawer" @submit="submitHistory" :tbType='tbType'></HistoryDrawer>
<!-- 费用模版弹窗 -->
<FeeTemDrawer ref="feeDrawer" @submit="submitTem"></FeeTemDrawer>
<!-- 保存到费用模版 -->

@ -51,6 +51,9 @@
tHeight: {
type: Number,
default: 300
},
tbType: {
type: String
}
})
//
@ -123,7 +126,7 @@
},
queryCondition: JSON.stringify([
{ FieldName: 'BusinessId', FieldValue: id, ConditionalType: 1 },
{ FieldName: 'FeeType', FieldValue: 1, ConditionalType: 1 }
{ FieldName: 'feeType', FieldValue: props.tbType == 'receive' ? 1 : 2, ConditionalType: 1 }
])
}
loading.value = true

@ -26,13 +26,14 @@
<h4>费用明细</h4>
<feeTable
ref="feeTabel"
:tbType='tbType'
></feeTable>
</div>
</a-modal>
</div>
</template>
<script lang="ts" setup>
import { defineEmits, defineProps, ref, reactive, onMounted, defineExpose, watch } from 'vue'
import { defineEmits, defineProps, ref, reactive, defineExpose, watch } from 'vue'
import { useMessage } from '/@/hooks/web/useMessage'
import { BasicTable, useTable } from '/@/components/Table'
import { formatParams } from '/@/hooks/web/common'
@ -44,6 +45,9 @@
const { createMessage } = useMessage()
const emits = defineEmits(['submit'])
const props = defineProps({
tbType: {
type: String
}
})
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({
api: async (p) => {

@ -194,6 +194,7 @@
return triggerNode
}
const handleSearch = debounce( async (v) => {
console.log(1)
// option
if (props.filterOption != null) return
// api

@ -10,11 +10,11 @@ enum Api {
listDetail = '/containerManagementApi/CM_RentOneWay_Detail/GetCM_RentOneWay_DetailList',
editDetail = '/containerManagementApi/CM_RentOneWay_Detail/EditCM_RentOneWay_Detail',
delDetail = '/containerManagementApi/CM_RentOneWay_Detail/DeleteCM_RentOneWay_Detail',
Confirm = '/containerManagementApi/CM_RentOneWay/CM_RentOneWay_Confirm',
Cancel = '/containerManagementApi/CM_RentOneWay/CM_RentOneWay_Cancel',
DetailView = '/containerManagementApi/CM_RentOut/CM_RentOut_NeedRent_View',
DetailView = '/containerManagementApi/CM_RentOneWay/CM_RentOneWay_NeedRent_View',
AddCtn = '/containerManagementApi/CM_RentOneWay/CM_RentOneWay_AddCtn',
}
// 列表 (Auth)

@ -158,7 +158,7 @@
import { registerAllModules } from 'handsontable/registry'
registerAllModules()
import 'handsontable/dist/handsontable.full.css'
import { formSchema, formSearchBoxSchema } from './columns'
import { formSchema } from './columns'
import {
GetCtnSelectList,
GetClientPortSelectList,
@ -498,11 +498,6 @@
width: 120,
data: 'dropoffPortCode',
},
{
title: '租箱客户ID',
width: 120,
data: 'rentCustomerId',
},
{
title: '租箱业务ID',
width: 120,
@ -538,9 +533,9 @@
},
},
{
title: '租箱客户',
title: '原箱主',
width: 120,
data: 'rentCustomerName',
data: 'oldContainerOwner',
type: 'dropdown',
// (process)
source: async (query, process) => {
@ -600,6 +595,13 @@
type: 'date',
dateFormat: 'YYYY-MM-DD',
},
{
title: '提箱日期',
width: 120,
data: 'pickupdate',
type: 'date',
dateFormat: 'YYYY-MM-DD',
},
{
title: '开始计费日期',
width: 120,
@ -655,6 +657,7 @@
data: 'dropoffDate',
type: 'date',
dateFormat: 'YYYY-MM-DD',
readOnly: true,
},
{
title: '起租地点',
@ -691,6 +694,7 @@
width: 120,
data: 'dropoffPort',
type: 'dropdown',
readOnly: true,
// (process)
source: async (query, process) => {
const res = (await GetClientPortSelectList({ queryKey: query }))?.data
@ -717,14 +721,6 @@
// width: 120,
// data: 'billState',
// },
// {
// title: '',
// width: 120,
// data: 'pickupDate',
// type: 'date',
// dateFormat: 'YYYY-MM-DD',
// },
]
const settings = {
height: '260',
@ -735,7 +731,7 @@
fixedColumnsLeft: 1,
//
hiddenColumns: {
columns: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
columns: [1, 2, 3, 4, 5, 6, 7, 8, 9],
indicators: true,
},
//
@ -764,7 +760,7 @@
list.value[changes[0][0]]['ctnall'] = dict?.ctnName
list.value[changes[0][0]]['ctnCode'] = dict?.ediCode
}
if (changes[0][1] === 'rentCustomerName') {
if (changes[0][1] === 'oldContainerOwner') {
const res = ContainerOwnerDict.value.length
? ContainerOwnerDict.value
: (await GetClientListByCode({ code: 'leasing' }))?.data
@ -773,8 +769,8 @@
return item.pinYinCode === changes[0][3]
})
if (item) dict = item[0]
list.value[changes[0][0]]['rentCustomerName'] = dict?.pinYinCode
list.value[changes[0][0]]['rentCustomerId'] = dict?.id
list.value[changes[0][0]]['oldContainerOwner'] = dict?.pinYinCode
list.value[changes[0][0]]['oldContainerOwnerId'] = dict?.id
}
if (changes[0][1] === 'rentDirect') {
const res = rentDirectDict.value.length

@ -76,10 +76,10 @@ export const columns: BasicColumn[] = [
width: 200,
},
{
title: '租箱客户',
dataIndex: 'rentCustomerName',
title: '原箱主',
dataIndex: 'oldContainerOwner',
sorter: true,
width: 200,
width: 150,
},
{
title: '业务日期',
@ -149,8 +149,8 @@ export const searchFormSchema: FormSchema[] = [
colProps: { span: 4 },
},
{
field: 'rentCustomerName',
label: '租箱客户',
field: 'oldContainerOwner',
label: '原箱主',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
@ -372,15 +372,15 @@ export const formSchema: FormSchema[] = [
// },
// },
{
field: 'rentCustomerId',
label: '租箱客户',
field: 'oldContainerOwnerId',
label: '原箱主',
component: 'Input',
colProps: { span: 6 },
show: false,
},
{
field: 'rentCustomerName',
label: '租箱客户',
field: 'oldContainerOwner',
label: '原箱主',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
@ -401,10 +401,10 @@ export const formSchema: FormSchema[] = [
},
onChange: (e, obj) => {
if (e && obj) {
formModel.rentCustomerId = obj.id
formModel.oldContainerOwnerId = obj.id
}
if (!e && !obj) {
formModel.rentCustomerId = ''
formModel.oldContainerOwnerId = ''
}
},
}
@ -473,12 +473,12 @@ export const formSchema: FormSchema[] = [
export const formSearchBoxSchema: FormSchema[] = [
{
field: 'rentCustomerName',
label: '租箱客户',
field: 'oldContainerOwner',
label: '原箱主',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
colProps: { span: 6 },
colProps: { span: 4 },
componentProps: ({ formModel }) => {
return {
allowClear: true,

@ -1,471 +0,0 @@
<!--
* @Description: 审核审批 -> 费用表格组件
* @Author: lijj
* @Date: 2024-06-13 17:08:08
-->
<template>
<div class="ds-approve-fee-table">
<data class="ds-table" :style="{ width: tbWidth + '%' }">
<BasicTable
class="ds-fee-child-table"
@register="registerTable"
:scroll="{ 'x': '100%', 'y': fheight + 'px'}"
@selection-change="selectHandle"
>
<template #toolbar>
<FeeActionBar
:ids="feeIds"
:feeStatus="feeStatus"
:profit="profit"
:data="data"
@refresh="reload"
@checkProfit="checkProfit"
></FeeActionBar>
</template>
<template v-slot:bodyCell="{ column, record }">
<template v-if="column.dataIndex == 'feeStatusText'">
<span v-if="record.feeStatus != 1" class="ds-green-status"> {{ record.feeStatusText }}</span>
<span v-else class="ds-orange-status"> {{ record.feeStatusText }}</span>
</template>
</template>
</BasicTable>
</data>
<data class="ds-form">
<!-- 修改后的新值组件 -->
<AlterNewValue
:selectRow="selectRow"
:style="{ 'height': '100%', 'overflow': 'auto' }"
v-if="tbWidth == 70"
:id="feeIds[feeIds.length - 1]"
/>
</data>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref, reactive, defineProps, watch, defineExpose, defineEmits } from 'vue'
import { BasicTable, useTable } from '/@/components/Table'
import { useMessage } from '/@/hooks/web/useMessage'
import { GetFees } from '../api'
import FeeActionBar from './feeActionBar.vue'
import AlterNewValue from './AlterNewValue.vue'
import { formatTableData } from '/@/hooks/web/common'
import emitter from '/@/utils/Bus'
const { createMessage } = useMessage()
const props = defineProps({
// id
id: {
type: Array,
default: () => {
return []
}
},
//
tbType: {
type: String,
default: null
},
//
profit: {
type: Number,
default: 0
},
//
feeHeight: {
type: Number,
default: 162
}
})
const emit = defineEmits(['checkProfit'])
const checkProfit = () => {
return emit('checkProfit')
}
const data = ref([])
//
const tbWidth = ref(100)
//
const oldData = ref([])
const [registerTable, { reload, setTableData, getDataSource, getSelectRows }] = useTable({
title: props.tbType == 'receive' ? '应收费用' : '应付费用',
striped: false,
api: async (p) => {
const res = await GetFees(p)
return new Promise((resolve) => {
res.data.forEach(item => {
item.createTime = formatTableData(item.createTime)
})
data.value = res.data
oldData.value = JSON.parse(JSON.stringify(res.data))
resolve({ data: [...res.data], total: res.count })
})
},
beforeFetch: () => {
const postParam = {
id: props.id[props.id.length - 1]?.id,
businessType: props.id[props.id.length - 1]?.businessType,
queryCondition: JSON.stringify([
// { FieldName: 'BusinessId', FieldValue: props.id[props.id.length - 1]?.id, ConditionalType: 1 },
{ FieldName: 'FeeType', FieldValue: props.tbType == 'receive' ? 1 : 2, ConditionalType: 1 }
])
}
return postParam
},
afterFetch: () => {
},
columns: [
{
dataIndex: 'feeStatusText',
title: '费用状态',
align: 'left',
width: 90
},
{
dataIndex: 'feeName',
title: props.tbType == 'receive' ? '应收费用名称' : '应付费用名称',
align: 'left',
width: 130
},
{
dataIndex: 'feeEnName',
title: '费用英文名称',
align: 'left',
width: 130
},
{
dataIndex: 'customerTypeText',
align: 'left',
title: '客户类别',
width: 130
},
{
dataIndex: 'customerName',
align: 'left',
title: '结算对象',
width: 130
},
{
dataIndex: 'unitText',
align: 'left',
title: '单位标准',
width: 120
},
{
dataIndex: 'taxRate',
align: 'left',
title: '税率',
width: 120
},
{
dataIndex: 'unitPrice',
align: 'left',
title: '单价',
width: 120
},
{
dataIndex: 'quantity',
align: 'left',
title: '数量',
width: 120
},
{
dataIndex: 'noTaxPrice',
align: 'left',
title: '不含税单价',
width: 120
},
{
dataIndex: 'noTaxAmount',
align: 'left',
title: '不含税金额',
width: 120
},
{
dataIndex: 'amount',
align: 'left',
title: '金额',
width: 120
},
{
dataIndex: 'currency',
align: 'left',
title: '币别',
width: 120
},
{
dataIndex: 'exchangeRate',
align: 'left',
title: '汇率',
width: 120
},
{
dataIndex: 'accTaxRate',
align: 'left',
title: '销项税率',
width: 120
},
{
dataIndex: 'remark',
align: 'left',
title: '备注',
width: 120
},
{
dataIndex: 'isAdvancedPay',
align: 'left',
title: '是否垫付',
width: 120,
customRender: ({ text }) => {
if (text === true) {
return '是'
} else if (text === false) {
return '否'
}
return text
}
},
{
dataIndex: 'isInvoice',
align: 'left',
title: '禁开发票',
width: 120,
customRender: ({ text }) => {
if (text === true) {
return '是'
} else if (text === false) {
return '否'
}
return text
}
},
{
dataIndex: 'commissionRate',
align: 'left',
title: '佣金比率',
width: 120
},
{
dataIndex: 'createByName',
align: 'left',
title: '录入人',
width: 120
},
{
dataIndex: 'createTime',
align: 'left',
title: '录入日期',
width: 120
},
// {
// dataIndex: 'createByName',
// align: 'left',
// title: '',
// width: 120
// },
// {
// dataIndex: 'createTime',
// align: 'left',
// title: '',
// width: 120
// },
{
dataIndex: 'settlementAmount',
align: 'left',
title: '结算金额',
width: 120
},
{
dataIndex: 'invoiceAmount',
align: 'left',
title: '已开票金额',
width: 120
},
{
dataIndex: 'orderAmount',
align: 'left',
title: '申请金额',
width: 120
},
{
dataIndex: 'invoiceNum',
align: 'left',
title: '发票号码',
width: 120
},
{
dataIndex: 'customerFullName',
align: 'left',
title: '结算对象全称',
width: 120
},
{
dataIndex: 'tax',
align: 'left',
title: '税额',
width: 120
},
{
dataIndex: 'accTax',
align: 'left',
title: '销项税额',
width: 120
},
{
dataIndex: 'accTaxValue',
align: 'left',
title: '销项金额',
width: 120
},
{
dataIndex: 'debitNo',
align: 'left',
title: '对账编号',
width: 120
},
{
dataIndex: 'saleOrg',
align: 'left',
title: '核算单位',
width: 120
},
{
dataIndex: 'reason',
align: 'left',
title: '驳回/删除原因',
width: 140
},
{
dataIndex: 'isOpen',
align: 'left',
title: '是否机密',
width: 120,
customRender: ({ text }) => {
if (text === true) {
return '是'
} else if (text === false) {
return '否'
}
return text
}
},
// {
// dataIndex: 'reason',
// align: 'left',
// title: '',
// width: 140
// }
// {
// dataIndex: 'remark',
// align: 'left',
// title: 'FRT',
// width: 120
// }
],
isTreeTable: false,
pagination: false,
useSearchForm: false,
showTableSetting: false,
bordered: false,
showIndexColumn: true,
canResize: false,
rowSelection: { type: 'checkbox' },
immediate: false
})
emitter.on('showTodo', (v) => {
if (v) {
const source = getDataSource()
const res = source.filter(item => {
return item.feeStatus == 1
})
setTableData(res)
} else {
setTableData(oldData.value)
}
})
// id
const feeIds = ref()
//
const feeStatus = ref()
const selectRow = ref()
//
const selectHandle = (v) => {
let ids = []
let status = []
if (v.rows && v.rows.length) {
ids = v.rows.map(item => {
return item.id
})
status = v.rows.map(item => {
return item.feeStatus
})
}
feeStatus.value = status
feeIds.value = ids
//
if (status[status.length - 1] == 3) {
//
tbWidth.value = 70
selectRow.value = v.rows[v.rows.length - 1]
} else {
tbWidth.value = 100
}
}
watch(
() => props.id,
(v) => {
if (v && v.length) {
reload()
} else {
setTableData([])
}
}
)
// (162)
const fheight = ref(162)
watch(
() => props.feeHeight,
(v) => {
if ( v < 140) {
fheight.value = 0
} else {
fheight.value = v / 2 - 70
}
const tb = document.getElementsByClassName('ds-fee-child-table')
for (let i = 0; i < tb.length; i++) {
const child = tb[i].getElementsByClassName('ant-table-body')
child[0].style.minHeight = fheight.value + 'px'
child[0].style.maxHeight = 'none'
}
}
)
onMounted(() => {
if (props.id && props.id.length) {
//
reload()
}
})
defineExpose({
reload,
getDataSource
})
</script>
<style lang="less">
.ds-approve-fee-table {
display: flex;
flex-direction: row;
.ds-form {
flex: 1;
}
.ant-table-body {
min-height: 162px;
}
.ant-table-title {
min-height: 22px!important;
.items-center {
height: 22px;
}
.vben-basic-title {
font-size: 14px;
}
}
}
</style>

@ -66,7 +66,7 @@
<!-- 费用统计 -->
<div class="fee-statistic">
<span class="item">RMB利润<span class="item-val" :class="{ warnText: statisticData.profitCNY < 0 }">{{ statisticData.profitCNY }}</span></span>
<span class="item">USD利润<span class="item-val" :class="{ warnText: statisticData.payableUSD < 0 }">{{ statisticData.payableUSD }}</span></span>
<span class="item">USD利润<span class="item-val" :class="{ warnText: statisticData.profitUSD < 0 }">{{ statisticData.profitUSD }}</span></span>
<span class="item">其他利润<span class="item-val"></span></span>
<span class="item">合计利润<span class="item-val" :class="{ warnText: statisticData.payableTotal < 0 }">{{ statisticData.payableTotal }}</span></span>
<span class="item">利润率<span class="item-val">{{ statisticData.profitMargin }}</span></span>
@ -192,10 +192,6 @@
// if (data.profitCNY) data.profitCNY = data.profitCNY.toLocaleString()
if (data.payableTotal) data.payableTotal = data.payableTotal.toLocaleString()
statisticData.value = data
// statisticData.value = data
// currencyData.value = data.byCurrency
// customerData.value = data.byCustomer
// billData.value = data.byBusiness
})
}
//
@ -208,8 +204,12 @@
}
onMounted(() => {
//
reload()
// id
if (route.query.id) {
mainFeeTable.value.init({ id: route.query.id, businessType: 1 })
} else {
reload()
}
})
defineExpose({
getDataSource

@ -2,7 +2,6 @@
<div>
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="handleAudit">
<template #tableTitle>
<span class="title">自动费用模板</span>
<a-button type="link" @click="handleCreate">
<span class="iconfont icon-new_document"></span>
添加

@ -24,6 +24,16 @@ export function BookingOrderGet(parameter) {
params: parameter,
})
}
// copy详情
export function GetSeaExportCopyInfo(data) {
return request({
url: '/opApi/SeaExport/GetSeaExportCopyInfo',
method: 'post',
data
})
}
// 业务单据批量删除 (Auth)
export function SeaExportBatchDel(parameter) {
return request({
@ -2249,3 +2259,21 @@ export function IsLastMarker(params) {
params,
})
}
// 确认退舱
export function CreateRefundConfirm(data) {
return request({
url: '/opApi/SeaExportRefund/CreateRefundConfirm',
method: 'post',
data
})
}
// 退出入池
export function RefundPool(data) {
return request({
url: '/opApi/SeaExportRefund/RefundPool',
method: 'post',
data
})
}

@ -56,11 +56,12 @@
//
const init = () => {
const data = props.data
console.log(data)
data.forEach(item => {
item['flag'] = false
})
logList.value = data
if (data && data.length) {
data.forEach(item => {
item['flag'] = false
})
}
logList.value = data || []
}
//
const foldLog = (item) => {

@ -104,9 +104,15 @@
businessType="1"
>
<span>
<a-button class="ml10" v-repeat v-if="route.query.status != 'WAIT_ORDER_AUDIT' && route.query.source != 'Complete'" @click="save(true)" type="primary">
<a-button class="ml10" v-repeat v-if="route.query.status != 'RETURN_CABIN_POOL' && route.query.status != 'WAIT_ORDER_AUDIT' && route.query.source != 'Complete'" @click="save(true)" type="primary">
{{ completeText }}
</a-button>
<a-button class="ml10" v-repeat v-if="route.query.status == 'RETURN_CABIN_POOL' && route.query.source != 'Complete'" @click="save('cjtc')" type="primary">
创建退舱任务
</a-button>
<a-button class="ml10" v-repeat v-if="route.query.status == 'RETURN_CABIN_POOL' && route.query.source != 'Complete'" @click="save('ctrc')" type="primary">
退出入池
</a-button>
</span>
</ApproveBtns>
</div>
@ -180,14 +186,16 @@
BookingOrderGet,
BookingOrderSave,
GetCtnListRefsh,
SeaExportCopy,
CreateRefundConfirm,
SeaExportTaskAudit,
CreateTask,
SetTaskStatus,
AutomaticBooking,
SubmitAudit,
Withdraw,
IsLastMarker
IsLastMarker,
GetSeaExportCopyInfo,
RefundPool
} from '../api/BookingLedger'
import { GetFormSetInfoByModule } from '/@/api/common'
const appStore = useAppStore()
@ -300,6 +308,8 @@
return '发送AMS'
} else if (status == 'ORDER_AUDIT_REJECTED' || status == 'WAIT_SI_REJECTED') {
return '重新提交'
} else if (status == 'RETURN_CABIN') {
return '退舱'
} else {
return '完成任务'
}
@ -385,7 +395,7 @@
}
}
// true
let copyFlag = false
var copyFlag = false
//
function getDetail() {
if (inPageLoading.value) {
@ -395,15 +405,18 @@
inChildLoading.value = true
detailsLoadOver.value = false
loading.value = true
BookingOrderGet({
id: id.value,
})
.then(async (res) => {
//
if (route.query.source == 'copy' && !copyFlag) {
createMessage.success('复制成功,保存后生效!')
GetSeaExportCopyInfo({
id: id.value,
isCopyFee: false
}).then(async (res) => {
bookingDetails.value = {
orderContactList: []
}
//
if (route.query.source == 'copy' && !copyFlag) {
if (route.query.source == 'copy') {
res.data = {
...res.data,
id: null,
@ -433,19 +446,42 @@
}
bookingDetails.value = res.data
//
// if (res.data.businessStatusName == '' && route.query.taskId) {
// cvisible.value = true
// }
inPageLoading.value = false
})
.catch(() => {
loading.value = false
})
} else {
BookingOrderGet({
id: id.value,
})
.then(async (res) => {
bookingDetails.value = {
orderContactList: []
}
// permission
getFormSet(res.data.businessStatus)
loading.value = false
if (!res.data.ctnPriceInfo.length) {
res.data.ctnPriceInfo = [{}]
}
//
if (res.data.stlDate) {
res.data.stlDate = res.data.stlDate.split(' ')[0]
}
bookingDetails.value = res.data
//
inPageLoading.value = false
//
if (res.data.formSetList && res.data.formSetList.length) {
const formSetContent = JSON.parse(res.data.formSetList[0].content)
// if (res.data.formSetList && res.data.formSetList.length) {
// const formSetContent = JSON.parse(res.data.formSetList[0].content)
// RefbasicInfo.value.updateSchema()
}
// }
})
.catch(() => {
loading.value = false
})
}
}
//
const save = async (task) => {
@ -538,8 +574,39 @@
if (!task) {
createMessage.success('保存成功!')
} else {
// 退退
if (task == 'cjtc' || task == 'tcrc') {
if (task == 'cjtc') {
CreateRefundConfirm({
id: id.value,
businessType: 1
}).then(res => {
// createMessage.success(res.message)
completeTask(null, null)
})
} else {
RefundPool({
id: id.value,
businessType: 1
}).then(res => {
// createMessage.success(res.message)
completeTask(null, null)
})
}
} else {
//
if (task != 'dc') completeTask(null, null)
}
//
if (task != 'dc') completeTask(null, null)
// if (completeText.value == '退') {
// CreateRefundConfirm({
// id: id.value,
// businessType: 1
// }).then(res => {
// console.log(res)
// })
// }
}
} else {
createMessage.success('新增成功!')
@ -551,10 +618,10 @@
go(`/BookingDetail?id=${res.data}&source=edit`)
}, 50)
}
init()
if (route.query.source == 'copy') {
copyFlag = true
}
init()
}
//
if (changeFlag.value) {
@ -993,10 +1060,11 @@
}
//
const copyData = () => {
SeaExportCopy({ id: id.value }).then((res) => {
createMessage.success('复制成功')
go(`/BookingDetail?id=${res.data}&source=copy`)
})
go(`/BookingDetail?id=${id.value}&source=copy`)
// SeaExportCopy({ id: id.value }).then((res) => {
// createMessage.success('')
// go(`/BookingDetail?id=${res.data}&source=copy`)
// })
}
function getRules(data) {
const { rows, type } = data
@ -1109,6 +1177,12 @@
})
}
}
watch(
() => copyFlag,
(b) => {
console.log(b)
}
)
</script>
<style lang="less">

@ -42,11 +42,12 @@
})
const emit = defineEmits(['changeDetail'])
const ediFlag = ref(false)
const RefediFrom = ref()
watch(
() => props.details,
(nval) => {
if (nval.ediInfo) setFieldsValue(nval.ediInfo)
if (nval.ediInfo) {
setFieldsValue(nval.ediInfo)
}
}
)
// function getSelectViewRes({ type, res }) {
@ -71,9 +72,11 @@
...form
})
})
setFieldsValue({
...props.details.ediInfo
})
})
defineExpose({
// RefediFrom,
getFieldsValue,
updateSchema,
validate

@ -1186,7 +1186,8 @@
go({
path: '/approve-fee',
query: {
id: data.ouT_BS_NO
id: data.ouT_BS_NO,
btype: 1
}
})
break
@ -1210,6 +1211,8 @@
case 'ORDER_AUDIT_REJECTED':
case 'RETURN_CABIN_AUDIT':
case 'WAIT_SI_REJECTED':
case 'RETURN_CABIN':
case 'RETURN_CABIN_POOL':
//
go({
path: '/taskmanage/booking-approval',

Loading…
Cancel
Save