海运出口客户问题迭代

szh-new
lijingjia 3 months ago
parent 3ce43d8457
commit f82b975290

@ -3,15 +3,21 @@
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 18 18" style="enable-background:new 0 0 18 18;" xml:space="preserve"> viewBox="0 0 18 18" style="enable-background:new 0 0 18 18;" xml:space="preserve">
<style type="text/css"> <style type="text/css">
.st0{fill:#272EC1;} .st0{fill:#33383D;}
.st1{fill:#33383D;} .st1{fill:#1E7145;}
</style> </style>
<path class="st0" d="M17.1,8l-3.5-3.7c-0.3-0.3-0.8-0.3-1.2,0c-0.3,0.3-0.3,0.8,0,1.2L15,8.2h-8c-0.2,0-0.4,0.1-0.6,0.2 <path class="st0" d="M16.5,3.2l-2.3-2.3C13.8,0.4,12.8,0,12,0H4.5C3.7,0,3.1,0.6,3.1,1.4V5h1.3V1.4c0-0.1,0.1-0.1,0.1-0.1h7.6
C6.3,8.5,6.2,8.7,6.2,8.9s0.1,0.4,0.2,0.6C6.6,9.7,6.8,9.8,7,9.8c0,0,0.1,0,0.1,0h8l-2.6,2.7c-0.2,0.2-0.2,0.4-0.2,0.6 c0,0,0.1,0,0.1,0v4h4c0,0.2,0,0.4,0,0.5v10.8c0,0.1-0.1,0.1-0.1,0.1H4.5c-0.1,0-0.1-0.1-0.1-0.1v-1.3H3.1v1.3c0,0.8,0.6,1.4,1.4,1.4
c0,0.4,0.4,0.8,0.8,0.8c0.2,0,0.4-0.1,0.6-0.3l3.5-3.7C17.7,9.4,17.7,8.6,17.1,8z"/> h11.6c0.8,0,1.4-0.6,1.4-1.4V5.8C17.5,5.1,17.1,3.7,16.5,3.2z M13.4,1.9L15.6,4h-2.1V1.9z"/>
<path class="st1" d="M12.9,0H4.2C2.5,0,1.1,1.4,1.1,3.2v11.6c0,1.8,1.4,3.2,3.1,3.2h8.7c0.9,0,1.7-0.5,2.3-1.2 <path class="st1" d="M7,8H1.7C1.2,8,0.9,8.4,0.9,8.7v4.9c0,0.4,0.3,0.7,0.8,0.7H7c0.4,0,0.8-0.3,0.8-0.7V8.7C7.8,8.4,7.4,8,7,8z
c0.5-0.7,0.8-1.5,0.8-2.4c0-0.4-0.3-0.7-0.7-0.7c-0.4,0-0.7,0.3-0.7,0.7l0,0c0,0.5-0.2,1.1-0.5,1.5c-0.3,0.4-0.7,0.6-1.1,0.6H4.2 M5,13.1l-0.7-1.2h0l-0.7,1.2H2.3l1.2-1.9L2.4,9.4h1.3l0.6,1.2h0L5,9.4h1.3l-1.1,1.8l1.2,1.9H5z"/>
c-0.9,0-1.7-0.8-1.6-1.7V3.2c0-0.9,0.7-1.7,1.6-1.7h8.7c0.9,0,1.6,0.7,1.6,1.6c0,0,0,0,0,0.1l0,0.5l1.5,0V3.2c0-0.8-0.3-1.6-0.9-2.3 <path class="st1" d="M14.9,10.1h-4.6c-0.3,0-0.5-0.2-0.5-0.5v0C9.8,9.2,10,9,10.3,9h4.6c0.3,0,0.5,0.2,0.5,0.5v0
C14.5,0.3,13.7,0,12.9,0z"/> C15.4,9.8,15.2,10.1,14.9,10.1z"/>
<circle class="st1" cx="15.2" cy="3.6" r="0.7"/> <path class="st0" d="M9.2,7.1H0.9c-0.3,0-0.5-0.2-0.5-0.5v0C0.4,6.2,0.6,6,0.9,6h8.3c0.3,0,0.5,0.2,0.5,0.5v0
C9.8,6.8,9.5,7.1,9.2,7.1z"/>
<path class="st1" d="M14.9,12.2h-4.6c-0.3,0-0.5-0.2-0.5-0.5v0c0-0.3,0.2-0.5,0.5-0.5h4.6c0.3,0,0.5,0.2,0.5,0.5v0
C15.4,12,15.2,12.2,14.9,12.2z"/>
<path class="st1" d="M14.9,14.3h-4.6c-0.3,0-0.5-0.2-0.5-0.5v0c0-0.3,0.2-0.5,0.5-0.5h4.6c0.3,0,0.5,0.2,0.5,0.5v0
C15.4,14.1,15.2,14.3,14.9,14.3z"/>
<path class="st0" d="M10.7,6.3L8.6,5.1C8.4,5,8.2,5.1,8.2,5.3v2.4C8.2,8,8.4,8.1,8.6,8l2.1-1.2C10.9,6.7,10.9,6.4,10.7,6.3z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 18 18" style="enable-background:new 0 0 18 18;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#33383D;}
.st2{fill:#1E7145;}
</style>
<polygon class="st0" points="2.7,8.6 2.7,13 16.5,13 16.5,2.5 9.1,2.5 9.1,8.6 "/>
<path class="st1" d="M16.5,1.1H9.1v1.4h7.4V13h0h0H2.7V8.6H1.3V13c0,0.8,0.6,1.4,1.4,1.4h6v2.1H5.3c-0.4,0-0.7,0.3-0.7,0.7
c0,0.4,0.3,0.7,0.7,0.7h8.3c0.4,0,0.7-0.3,0.7-0.7c0-0.4-0.3-0.7-0.7-0.7h-3.4v-2.1h5.5c1.7,0,2.3-0.7,2.3-1.4V2.5
C17.9,1.8,17.3,1.1,16.5,1.1z"/>
<path class="st2" d="M7.2,0.2H1C0.5,0.2,0.1,0.6,0.1,1v5.7c0,0.4,0.4,0.8,0.9,0.8h6.2C7.6,7.5,8,7.2,8,6.7V1C8,0.6,7.6,0.2,7.2,0.2z
M4.9,6L4.1,4.6h0L3.3,6H1.7l1.4-2.2L1.8,1.7h1.5l0.7,1.4h0l0.7-1.4h1.5L5.1,3.8L6.4,6H4.9z"/>
<path class="st2" d="M7.3,5.9c0,0.3,0.2,0.5,0.4,0.5c0,0,1,0.1,2,0.7c1.1,0.6,1.8,1.5,2.1,2.6L10.1,9C9.9,9,9.6,9.1,9.5,9.3
c-0.1,0.2,0,0.5,0.3,0.6l2.6,1l0,0c0.2,0.1,0.5,0,0.6-0.3L14,7.9c0,0,0,0,0,0c0.1-0.2,0-0.5-0.3-0.6c-0.2-0.1-0.5,0-0.6,0.3
l-0.5,1.5c-0.4-1.2-1.2-2.2-2.4-2.9C9,5.6,7.9,5.5,7.9,5.5c0,0,0,0,0,0C7.6,5.4,7.4,5.6,7.3,5.9L7.3,5.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 18 18" style="enable-background:new 0 0 18 18;" xml:space="preserve">
<style type="text/css">
.st0{fill:#2B992E;}
.st1{fill:#33383D;}
</style>
<path class="st0" d="M12.1,8L8.5,4.3C8.2,4,7.7,4,7.4,4.3C7.1,4.6,7,5.1,7.4,5.4L10,8.2H2c-0.2,0-0.4,0.1-0.6,0.2
C1.2,8.5,1.1,8.7,1.1,8.9s0.1,0.4,0.2,0.6c0.1,0.2,0.3,0.3,0.6,0.3c0,0,0.1,0,0.1,0h8l-2.6,2.7c-0.2,0.2-0.2,0.4-0.2,0.6
c0,0.4,0.4,0.8,0.8,0.8c0.2,0,0.4-0.1,0.6-0.3l3.5-3.7C12.6,9.4,12.6,8.6,12.1,8z"/>
<path class="st1" d="M3.6,0.9C3,1.6,2.7,2.4,2.7,3.2v0.4l1.5,0l0-0.5c0,0,0,0,0-0.1c0-0.9,0.7-1.6,1.6-1.6h8.7
c0.9,0,1.6,0.8,1.6,1.7v11.6c0,0.9-0.7,1.7-1.6,1.7H5.8c-0.4,0-0.8-0.2-1.1-0.6c-0.3-0.4-0.5-1-0.5-1.5l0,0c0-0.4-0.3-0.7-0.7-0.7
c-0.4,0-0.7,0.3-0.7,0.7c0,0.9,0.3,1.7,0.8,2.4C4.1,17.5,4.9,18,5.8,18h8.7c1.7,0,3.1-1.4,3.1-3.2V3.2c0-1.7-1.4-3.2-3.1-3.2L5.8,0
C4.9,0,4.1,0.3,3.6,0.9z"/>
<circle class="st1" cx="3.4" cy="3.6" r="0.7"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

@ -70,14 +70,6 @@
<SvgIcon size="18" name="save" /> <SvgIcon size="18" name="save" />
</span> </span>
</a-tooltip> </a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>提交</span>
</template>
<span v-if="submit && showBtns.includes('submit')" class="ds-action-svg-btn" @click="submitHandle">
<SvgIcon size="18" name="submit1" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5"> <a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title> <template #title>
<span>复制</span> <span>复制</span>
@ -102,6 +94,38 @@
<SvgIcon size="18" name="print" /> <SvgIcon size="18" name="print" />
</span> </span>
</a-tooltip> </a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>提交</span>
</template>
<span v-if="submit && showBtns.includes('submit')" class="ds-action-svg-btn" @click="submitHandle">
<SvgIcon size="18" name="submit1" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>撤销提交</span>
</template>
<span v-if="submit && showBtns.includes('withdraw')" class="ds-action-svg-btn" @click="withdrawHandle">
<SvgIcon size="18" name="submit" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>导入</span>
</template>
<span v-if="code && showBtns.includes('import')" class="ds-action-svg-btn" @click="importHandle">
<SvgIcon size="18" name="import" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>导出</span>
</template>
<span v-if="code && showBtns.includes('export')" class="ds-action-svg-btn" @click="exportHandle">
<SvgIcon size="18" name="export" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5"> <a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title> <template #title>
<span>上一票</span> <span>上一票</span>
@ -204,6 +228,21 @@
type: Function, type: Function,
default: null default: null
}, },
//
withdraw: {
type: Function,
default: null
},
//
exportFile: {
type: Function,
default: null
},
//
importFile: {
type: Function,
default: null
}
}, },
emits: ['copy'], emits: ['copy'],
components: { components: {
@ -269,10 +308,22 @@
const submitHandle = async () => { const submitHandle = async () => {
await props.submit() await props.submit()
} }
//
const withdrawHandle = async () => {
await props.withdraw()
}
// //
const deleteHandle = async () => { const deleteHandle = async () => {
await props.del() await props.del()
} }
//
const importHandle = () => {
props.importFile()
}
//
const exportHandle = () => {
props.exportFile()
}
return { return {
t, t,
openPrint, openPrint,
@ -286,6 +337,9 @@
submitHandle, submitHandle,
createHandle, createHandle,
deleteHandle, deleteHandle,
withdrawHandle,
importHandle,
exportHandle,
submitFlag, submitFlag,
} }
}, },

@ -5,45 +5,17 @@
--> -->
<template> <template>
<div class="ds-table-action-bar"> <div class="ds-table-action-bar">
<a-tooltip placement="top" title="新建"> <ActionBar
<SvgIcon size="18" name="create" @click="create" /> code="sea_freight_export"
</a-tooltip> :create="create"
<a-popconfirm :delete="removeMoreFun"
title="确定删除当前选中数据?" :submit="submit"
ok-text="是" :withdraw="cancel"
cancel-text="否" :exportFile="exportFile"
@confirm="removeMoreFun" :paramJsonStr="'{id:' + 'id' + '}'"
> :showBtns="['create', 'delete', 'print', 'submit', 'withdraw', 'export']"
<a-tooltip placement="top" title="删除"> layout="horizontal"
<SvgIcon class="ml30" size="18" name="delete" /> ></ActionBar>
</a-tooltip>
</a-popconfirm>
<a-tooltip placement="top" title="打印">
<SvgIcon class="ml30" size="18" name="print" @click="printFile" />
</a-tooltip>
<a-popconfirm
title="确定提交选中数据?"
ok-text="是"
cancel-text="否"
@confirm="submit"
>
<a-tooltip placement="top" title="提交审核">
<SvgIcon class="ml30" size="18" name="submit1" />
</a-tooltip>
</a-popconfirm>
<a-popconfirm
title="确定撤销提交?"
ok-text="是"
cancel-text="否"
@confirm="cancel"
>
<a-tooltip placement="top" title="撤销提交">
<SvgIcon class="ml30" size="18" name="submit" />
</a-tooltip>
</a-popconfirm>
<a-tooltip placement="top" title="导出Excel">
<SvgIcon class="ml30" size="18" name="export" @click="exportFile" />
</a-tooltip>
<!-- <div class="nav"> <!-- <div class="nav">
<i class="iconfont icon-jiahao2fill"></i>入账申请加入 <i class="iconfont icon-jiahao2fill"></i>入账申请加入
</div> --> </div> -->

@ -7,8 +7,10 @@
<div class="ds-bus-table"> <div class="ds-bus-table">
<a-spin :spinning="loading"> <a-spin :spinning="loading">
<BasicTable <BasicTable
class="ds-table-detail"
:canRowSelect="true" :canRowSelect="true"
:scroll="{ x: '100%', y: 188 }" :scroll="{ x: '100%', y: 500 }"
style="height: 500px;"
:row-selection="{ selectedRowKeys: state.historyRowKeys, onChange: historyChange }" :row-selection="{ selectedRowKeys: state.historyRowKeys, onChange: historyChange }"
rowKey="id" rowKey="id"
@register="registerTable" @register="registerTable"
@ -17,15 +19,29 @@
<template #toolbar> <template #toolbar>
<a-button type="link" @click="addInfos"></a-button> <a-button type="link" @click="addInfos"></a-button>
</template> </template>
</BasicTable> <template #right>
<Divider
type="vertical"
/>
<div class="info"> <div class="info">
<div> <div>
<a-button @click="save" type="link">增加申请费用明细</a-button> <a-button @click="save" type="link">增加申请费用明细</a-button>
</div> </div>
<feeTable <feeTable
style="width: 350px;"
ref="feeTabel" ref="feeTabel"
></feeTable> ></feeTable>
</div> </div>
</template>
</BasicTable>
<!-- <div class="info">
<div>
<a-button @click="save" type="link">增加申请费用明细</a-button>
</div>
<feeTable
ref="feeTabel"
></feeTable>
</div> -->
</a-spin> </a-spin>
<!-- 汇率换算组件 --> <!-- 汇率换算组件 -->
<ExchangeRate <ExchangeRate
@ -43,6 +59,8 @@
import ExchangeRate from './exchangeRate.vue' import ExchangeRate from './exchangeRate.vue'
// //
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
import { Divider } from 'ant-design-vue'
import { formatParams } from '/@/hooks/web/common'
const emit = defineEmits(['save', 'refresh']) const emit = defineEmits(['save', 'refresh'])
const { createMessage } = useMessage() const { createMessage } = useMessage()
const props = defineProps({ const props = defineProps({
@ -65,54 +83,8 @@
resolve({ data: [...res.data], total: res.count }) resolve({ data: [...res.data], total: res.count })
}) })
}, },
beforeFetch: () => { beforeFetch: (p) => {
var currentPageInfo: any = getPaginationRef() return formatParams(p)
var data = getForm().getFieldsValue()
console.log(data)
const postParam = {
queryCondition: '',
pageCondition: {
pageIndex: currentPageInfo.current,
pageSize: currentPageInfo.pageSize,
sortConditions: [],
},
}
let condition: API.ConditionItem[] = []
if (!!data.customerId) {
condition.push({
FieldName: 'customerId',
FieldValue: data.customerId,
ConditionalType: 1
})
}
if (!!data.Etd) {
condition.push({
FieldName: 'Etd',
FieldValue: data.Etd[0],
ConditionalType: 3
})
condition.push({
FieldName: 'Etd',
FieldValue: data.Etd[1],
ConditionalType: 5
})
}
if (!!data.loadPort) {
condition.push({
FieldName: 'loadPort',
FieldValue: data.loadPort,
ConditionalType: 1
})
}
if (!!data.dischargePort) {
condition.push({
FieldName: 'dischargePort',
FieldValue: data.dischargePort,
ConditionalType: 1
})
}
postParam.queryCondition = JSON.stringify(condition)
return postParam
}, },
columns: businessColumns, columns: businessColumns,
formConfig: { formConfig: {
@ -354,6 +326,10 @@
<style lang="less"> <style lang="less">
.ds-bus-table { .ds-bus-table {
.ant-divider-vertical {
margin: 12px 20px;
height: auto;
}
.vben-basic-table-header__toolbar { .vben-basic-table-header__toolbar {
justify-content: space-between; justify-content: space-between;
} }

@ -56,6 +56,7 @@
@refresh="refresh" @refresh="refresh"
></BusinessTable> ></BusinessTable>
</a-spin> </a-spin>
<template #footer></template>
</a-modal> </a-modal>
</div> </div>
</template> </template>

@ -139,6 +139,9 @@
.vben-basic-table-header__toolbar { .vben-basic-table-header__toolbar {
justify-content: space-between; justify-content: space-between;
} }
.ant-table-title {
padding: 0 5px!important;
}
.icon-fuzhi11 { .icon-fuzhi11 {
color: #257AFA; color: #257AFA;
margin-left: 5px; margin-left: 5px;

@ -278,7 +278,6 @@
// //
const status = route.query.status const status = route.query.status
if (status == 'WAIT_BILL_CONFIRM') { if (status == 'WAIT_BILL_CONFIRM') {
console.log(content)
if (content && content.length) { if (content && content.length) {
content.forEach(item => { content.forEach(item => {
if (item.field == 'vessel' || item.field == 'innerVoyno' || item.field == 'mblno' || item.field == 'hblno' || item.field == 'shipperContent' || item.field == 'consigneeContent' || item.field == 'notifyPartyContent' || item.field == 'kgs' || item.field == 'cbm' || item.field == 'pkgs' || item.field == 'goodsName' || item.field == 'description' || item.field == 'mblFrt' || item.field == 'issueDate' || item.field == 'issueType' || item.field == 'service') { if (item.field == 'vessel' || item.field == 'innerVoyno' || item.field == 'mblno' || item.field == 'hblno' || item.field == 'shipperContent' || item.field == 'consigneeContent' || item.field == 'notifyPartyContent' || item.field == 'kgs' || item.field == 'cbm' || item.field == 'pkgs' || item.field == 'goodsName' || item.field == 'description' || item.field == 'mblFrt' || item.field == 'issueDate' || item.field == 'issueType' || item.field == 'service') {
@ -287,6 +286,16 @@
}) })
} }
} }
//
if (status == 'WAIT_ORDER_AUDIT') {
if (content && content.length) {
content.forEach(item => {
if (item.field == 'forwarder') {
item.required = true
}
})
}
}
// //
OtherInfo.value.updateSchema(content) OtherInfo.value.updateSchema(content)
RefbasicInfo.value.updateSchema(content) RefbasicInfo.value.updateSchema(content)
@ -402,7 +411,7 @@
if (!goodsForm.ctnPriceInfo[i].ctnNum) { if (!goodsForm.ctnPriceInfo[i].ctnNum) {
return createMessage.warning('请填写箱量!') return createMessage.warning('请填写箱量!')
} }
if (!goodsForm.ctnPriceInfo[i].quotePrice) { if (!goodsForm.ctnPriceInfo[i].quotePrice && goodsForm.ctnPriceInfo[i].quotePrice !== 0) {
return createMessage.warning('请填写报价!') return createMessage.warning('请填写报价!')
} }
if (route.query.status == 'WAIT_ORDER_AUDIT' && !goodsForm.ctnPriceInfo[i].floorPrice) { if (route.query.status == 'WAIT_ORDER_AUDIT' && !goodsForm.ctnPriceInfo[i].floorPrice) {

@ -395,8 +395,7 @@
} }
}, },
{ {
deep: true, deep: true
immediate: true
} }
) )
const id = ref() const id = ref()

@ -1629,8 +1629,7 @@
} }
}, },
{ {
deep: true, deep: true
immediate: true
} }
) )
// //

@ -952,7 +952,7 @@
function editRemark(data) { function editRemark(data) {
remarkModelvisible.value = true remarkModelvisible.value = true
remarkVal.value = data.remark remarkVal.value = data.remark.replace(/<br\/>/g,'\n')
editRemarkVal.value = data editRemarkVal.value = data
} }
// //

Loading…
Cancel
Save