集装箱复制问题修复

szh-new
lijingjia 2 months ago
parent f876774e17
commit 894183cf5f

@ -10,7 +10,7 @@
/>
<title><%= title %></title>
<link rel="icon" href="/favicon.ico" />
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_3756681_tzka2hidzs.css" />
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_3756681_c9s774qskta.css" />
</head>
<body>
<script>

@ -151,7 +151,7 @@
</a-tooltip>
<slot></slot>
</div>
<DsPrint ref="dsPrint" :code="code" :paramJsonStr="paramJsonStr" />
<DsPrint ref="dsPrint" :code="code" :paramJsonStr="paramJsonStr" :cid="cid" />
</div>
</template>
<script lang="ts">
@ -182,6 +182,11 @@
type: String,
default: '',
},
// id
cid: {
type: String,
default: '',
},
// idkey
name: {
type: String,

@ -29,7 +29,7 @@
<span class="title">合计利润: </span>
<span class="count" :class="{ warnText: statisticData.profitTotal < 0 }">{{ statisticData.profitTotal }}</span>
<span class="title">利润率: </span>
<span class="count" :class="{ warnText: statisticData.profitUSD < 0 }">{{ statisticData.profitUSD }}%</span>
<span class="count" :class="{ warnText: statisticData.profitMargin < 0 }">{{ statisticData.profitMargin }}%</span>
</p>
</template>
<a-tabs v-model:activeKey="activeKey">

@ -135,6 +135,7 @@
exchangeRate: 1,
taxRate: 0,
feeType: props.tbType == 'receive' ? 1 : 2,
isOpen: true
}
//
const list = ref([])
@ -520,7 +521,7 @@
list.value[changes[0][0]]['feeId'] = dict['id']
list.value[changes[0][0]]['feeEnName'] = dict['enName']
list.value[changes[0][0]]['currency'] = dict['defaultCurrency']
list.value[changes[0][0]]['isOpen'] = dict['isOpen']
// list.value[changes[0][0]]['isOpen'] = dict['isOpen']
list.value[changes[0][0]]['isAdvancedPay'] = dict['isAdvancedPay']
list.value[changes[0][0]]['isInvoice'] = dict['isInvoice']
list.value[changes[0][0]]['feeFrt'] = dict['feeFrt']

@ -91,6 +91,11 @@
temCode: {
type: String,
default: null
},
// id
cid: {
type: String,
default: null
}
})
//
@ -126,7 +131,8 @@
},
queryCondition: JSON.stringify([
{ FieldName: 'moduleCode', FieldValue: props.code, ConditionalType: 1 },
{ FieldName: 'templateCode', FieldValue: props.temCode, ConditionalType: 1 }
{ FieldName: 'templateCode', FieldValue: props.temCode, ConditionalType: 1 },
{ FieldName: 'carrierId', FieldValue: props.cid, ConditionalType: 0 }
])
}
GetOpenPrintTemplateList(postData).then(r => {

@ -1,3 +1,8 @@
<!--
* @Desc:
* @Author: lijj
* @Date: 2024-08-16 08:29:20
-->
<template>
<Dropdown
:drop-menu-list="getDropMenuList"
@ -7,7 +12,9 @@
@menu-event="handleMenuEvent"
>
<div v-if="getIsTabs" :class="`${prefixCls}__info`" @contextmenu="handleContext">
<span class="ml-1">{{ RText(getTitle) }}</span>
<span class="ml-1">
<slot></slot>
</span>
</div>
<span v-else :class="`${prefixCls}__extra-quick`" @click="handleContext">
<Icon icon="ion:chevron-down" />
@ -27,7 +34,6 @@
import { useDesign } from '/@/hooks/web/useDesign'
import { useI18n } from '/@/hooks/web/useI18n'
import { useTabDropdown } from '../useTabDropdown'
import { useRoute } from 'vue-router'
export default defineComponent({
name: 'TabContent',
components: { Dropdown, Icon },
@ -41,37 +47,6 @@
setup(props) {
const { prefixCls } = useDesign('multiple-tabs-content')
const { t } = useI18n()
const route = useRoute()
const getTitle = computed(() => {
const { tabItem: { meta } = {} } = props
return meta && t(meta.title as string)
})
function RText(data) {
let Rdata = ''
if (route?.query?.tabName) {
// tab
Rdata = route.query.tabName
} else if (data == '海运出口-详情') {
if (props.tabItem.query.isCopy) {
if (props.tabItem.query.copyId) {
Rdata = `海运出口-复制${Number(props.tabItem.query.copyId) + 1}`
} else {
Rdata = '海运出口-复制'
}
} else if (props.tabItem.query.mblno) {
Rdata = `${props.tabItem.query.mblno}-详情`
} else if (props.tabItem.query.customerNo) {
Rdata = `${props.tabItem.query.customerNo}-详情`
} else if (props.tabItem.query.addNum) {
Rdata = '海运出口-新增'
} else {
Rdata = '海运出口-详情'
}
} else {
Rdata = data
}
return Rdata
}
const getIsTabs = computed(() => !props.isExtra)
const getTrigger = computed((): ('contextmenu' | 'click' | 'hover')[] =>
@ -95,9 +70,7 @@
handleMenuEvent,
handleContext,
getTrigger,
getIsTabs,
getTitle,
RText,
getIsTabs
}
},
})

@ -14,7 +14,11 @@
<template v-for="item in getTabsState" :key="item.query ? item.fullPath : item.path">
<TabPane :closable="!(item && item.meta && item.meta.affix)">
<template #tab>
<TabContent :tab-item="item" />
<TabContent :tab-item="item">
<span>
{{ RText(item) }}
</span>
</TabContent>
</template>
</TabPane>
</template>
@ -72,7 +76,32 @@
const { prefixCls } = useDesign('multiple-tabs')
const go = useGo()
const { getShowQuick, getShowRedo, getShowFold } = useMultipleTabSetting()
function RText(data) {
let Rdata = ''
if (data?.query?.tabName && data.meta.title == '订舱审批') {
// tab
Rdata = data.query.tabName
} else if (data.meta.title == '海运出口-详情') {
if (data.query.isCopy) {
if (data.query.copyId) {
Rdata = `海运出口-复制${Number(data.query.copyId) + 1}`
} else {
Rdata = '海运出口-复制'
}
} else if (data.query.mblno) {
Rdata = `${data.query.mblno}-详情`
} else if (data.query.customerNo) {
Rdata = `${data.query.customerNo}-详情`
} else if (data.query.addNum) {
Rdata = '海运出口-新增'
} else {
Rdata = '海运出口-详情'
}
} else {
Rdata = data.meta.title
}
return Rdata
}
const getTabsState = computed(() => {
return tabStore.getTabList.filter((item) => !item.meta?.hideTab)
})
@ -139,7 +168,8 @@
getShowQuick,
getShowRedo,
getShowFold,
tabWidth
tabWidth,
RText
}
},
})

@ -2222,3 +2222,12 @@ export function SubmitAudit(data) {
data
})
}
// 获取改配订单状态
export function GetChangeOrderStatus(params) {
return request({
url: '/opApi/SeaExportRefund/GetChangeOrderStatus',
method: 'get',
params
})
}

@ -259,7 +259,7 @@
if (item.selected && item.id) ids.push(item.id)
})
}
if (ids.length) {
if (ids.length && ids[0] != null) {
const data = await BatchDelBillManageCtn({ ids, id: props.mainId })
if (!type) createMessage.success(data.message)
}
@ -328,6 +328,8 @@
list.value = hlist
hotTb.value.hotInstance.loadData(hlist)
}
}).catch(() =>{
dloading.value = false
})
}
//

@ -597,8 +597,10 @@ export const formSchema3: FormSchema[] = [
let pkgs = 0
for (let i = 0; i < arr.length; i++) {
if (isNaN(arr[i])) {
arr[i] = ''
return createMessage.warning('请输入正确的数字')
const letters = arr[i].split(/\d+/).filter(Boolean)
const numbers = arr[i].split(/[a-zA-Z]+/).filter(Boolean)
pkgs = pkgs + Number(numbers[0])
if (letters && letters.length) formModel.kindPkgsName = letters[0]
} else {
if (arr[i]) {
pkgs = pkgs + Number(arr[i])
@ -621,32 +623,9 @@ export const formSchema3: FormSchema[] = [
{
label: '包装',
field: 'kindPkgsName',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
// defaultValue: '',
component: 'Input',
colProps: { span: 12 },
componentProps: ({ formActionType, formModel }) => {
return {
api: GetPackageSelectList,
labelField: 'packageName',
valueField: 'packageName',
resultField: 'data',
immediate: false,
onChange: (e, obj) => {
if (e && obj) {
formModel.kindPkgs = obj.id
formActionType ? formActionType.submit() : null
}
if (!e && !obj) {
formModel.kindPkgs = null
}
},
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
}
}
dynamicDisabled: true
},
{
label: '',
@ -668,8 +647,8 @@ export const formSchema3: FormSchema[] = [
let pkgs = 0
for (let i = 0; i < arr.length; i++) {
if (isNaN(arr[i])) {
arr[i] = ''
return createMessage.warning('请输入正确的数字')
const numbers = arr[i].split(/[a-zA-Z]+/).filter(Boolean)
pkgs = pkgs + Number(numbers[0])
} else {
if (arr[i]) {
pkgs = pkgs + Number(arr[i])
@ -701,8 +680,8 @@ export const formSchema3: FormSchema[] = [
let pkgs = 0
for (let i = 0; i < arr.length; i++) {
if (isNaN(arr[i])) {
arr[i] = ''
return createMessage.warning('请输入正确的数字')
const numbers = arr[i].split(/[a-zA-Z]+/).filter(Boolean)
pkgs = pkgs + Number(numbers[0])
} else {
if (arr[i]) {
pkgs = pkgs + Number(arr[i])

@ -168,7 +168,7 @@
:details="details"
ref="ladHistory"
/>
<DsPrint ref="dsPrint" code="sea_freight_export" temCode="op_sea_export_billmanage" :paramJsonStr="busids" />
<DsPrint ref="dsPrint" code="sea_freight_c_export" temCode="op_sea_export_billmanage" :paramJsonStr="busids" />
</div>
</template>
<script lang="ts" setup>
@ -734,12 +734,20 @@
setFieldsValue4({
...props.details
})
setFieldsValue5({
...props.details
})
setFieldsValue6({
...props.details
})
//
if (props.details.mblno) {
setFieldsValue5({
mblno: props.details.mblno
})
}
if (props.details.hblno) {
setFieldsValue5({
mblno: props.details.hblno
})
}
}
//
const save = async() => {
@ -774,6 +782,9 @@
<style lang="less">
.ds-sea-lading-info {
.ant-input-affix-wrapper {
overflow: hidden;
}
padding-left: 20px;
.ant-col-24{
.ant-form-item {

@ -20,7 +20,7 @@
<ActionBar
v-if="(source == 'edit' || source == 'copy') || route.query.status"
:id="route.query.id"
code="sea_freight_export"
code="sea_freight_f_export"
:style="{ width: route.query.status ? 'auto' : '301px'}"
name="hyck"
:save="save"
@ -29,6 +29,7 @@
:withdraw="withdraw"
:paramJsonStr="'{id:' + id + '}'"
:showBtns="showBtns"
:cid="bookingDetails.carrierId"
layout="horizontal"
></ActionBar>
<!-- 操作按钮组 -->

@ -1999,15 +1999,21 @@
})
//
emitter.on('ctnTable', (data) => {
console.log(data.n)
const cList = list.value
console.log(cList)
console.log(data.o)
if (cList && cList.length) {
let flag = true
cList.forEach(item => {
if (item.ctn == data.o) {
item.ctn = data.n.ctnName
item.ctnCode = data.n.ediCode,
item.tareWeight = data.n.ctnWeight
flag = false
}
})
console.log(flag)
if (flag) {
cList.push({
ctn: data.n.ctnName,
@ -2015,27 +2021,6 @@
tareWeight: data.n.ctnWeight
})
}
// if (flag) {
// if (cList && cList.length) {
// if (!cList[0].ctn) {
// cList[0].ctn = data.n.ctnName
// cList[0].ctnCode = data.n.ediCode
// cList[0].tareWeight = data.n.ctnWeight
// } else {
// cList.push({
// ctn: data.n.ctnName,
// ctnCode: data.n.ediCode,
// tareWeight: data.n.ctnWeight
// })
// }
// } else {
// cList.push({
// ctn: data.n.ctnName,
// ctnCode: data.n.ediCode,
// tareWeight: data.n.ctnWeight
// })
// }
// }
} else {
cList.push({
ctnCode: data.n.ediCode,

@ -70,6 +70,10 @@
<span v-show="!bhLoading" class="iconfont icon-weibiaoti--"></span>
保函
</a-button>
<a-button v-if="source == 'edit' || source == 'copy'" type="link" v-repeat @click="changeConfig">
<span class="iconfont icon-gaipei"></span>
改配
</a-button>
</div>
<!-- 放舱(场站入货) -->
<OpBusinessYardDetails :details="details" @register="OYregisterModal" />
@ -573,7 +577,8 @@
SendTrace,
SubmitTelex,
GetClientParamListById,
PrintShippingOrderLetterPDF
PrintShippingOrderLetterPDF,
GetChangeOrderStatus
} from '/@/views/operation/seaexport/api/BookingLedger.js'
import { Divider } from 'ant-design-vue'
import { BookingTruckGetTruckListByBooking } from '/@/views/operation/seaexport/api/SendCar.js'
@ -1033,6 +1038,12 @@
schemas: fileForm,
showActionButtonGroup: false,
})
//
const changeConfig = () => {
GetChangeOrderStatus({ id: props.id }).then(res => {
console.log(res)
})
}
function sendBookingOrEDI(type) {
const postData = JSON.parse(JSON.stringify(bookingModelFrom))
postData.send = true

Loading…
Cancel
Save