张同海 2 weeks ago
commit 9705eb753a

@ -7,7 +7,7 @@
<div class="cost-action-bar"> <div class="cost-action-bar">
<div class="flex"> <div class="flex">
<div> <div>
<a-dropdown> <a-dropdown v-if="power == '1'">
<template #overlay> <template #overlay>
<a-menu> <a-menu>
<a-menu-item @click="submit"></a-menu-item> <a-menu-item @click="submit"></a-menu-item>
@ -33,19 +33,19 @@
<span class="iconfont icon-30jiantouxiangxiafill"></span> <span class="iconfont icon-30jiantouxiangxiafill"></span>
</a-button> </a-button>
</a-dropdown> </a-dropdown>
<a-button @click="openApplyModify" type="link"> <a-button v-if="power == '1'" @click="openApplyModify" type="link">
<span class="iconfont icon-electronic-signature"></span> <span class="iconfont icon-electronic-signature"></span>
申请修改 申请修改
</a-button> </a-button>
<a-button type="link" @click="deleteApply"> <a-button v-if="power == '1'" type="link" @click="deleteApply">
<span class="iconfont icon-shanchuzu"></span> <span class="iconfont icon-shanchuzu"></span>
申请删除 申请删除
</a-button> </a-button>
<a-button type="link" @click="cancelApply"> <a-button v-if="power == '1'" type="link" @click="cancelApply">
<span class="iconfont icon-weiwancheng"></span> <span class="iconfont icon-weiwancheng"></span>
取消申请 取消申请
</a-button> </a-button>
<a-dropdown> <a-dropdown v-if="power == '1'">
<template #overlay> <template #overlay>
<a-menu> <a-menu>
<a-menu-item @click="history"></a-menu-item> <a-menu-item @click="history"></a-menu-item>
@ -210,6 +210,11 @@
columns: { columns: {
type: Object, type: Object,
default: {} default: {}
},
// 1-> 2->
power: {
type: String,
default: '1'
} }
}) })
// //

@ -14,6 +14,7 @@
:data="list" :data="list"
:row="row" :row="row"
:tbType="tbType" :tbType="tbType"
:power="power"
:id="id" :id="id"
:details="details" :details="details"
:columns="{ data: sColumns, id: colId }" :columns="{ data: sColumns, id: colId }"
@ -74,7 +75,6 @@
import { GetFeeCurrencyExchangeList } from '/@/views/fee/exchangeRate/api' import { GetFeeCurrencyExchangeList } from '/@/views/fee/exchangeRate/api'
import { updateColumns } from '/@/hooks/web/common' import { updateColumns } from '/@/hooks/web/common'
import { useAppStore } from '/@/store/modules/app' import { useAppStore } from '/@/store/modules/app'
import { Item } from 'ant-design-vue/lib/menu'
const appStore = useAppStore() const appStore = useAppStore()
const { createMessage } = useMessage() const { createMessage } = useMessage()
defineComponent({ defineComponent({
@ -112,6 +112,11 @@ import { Item } from 'ant-design-vue/lib/menu'
isShowBtn: { isShowBtn: {
type: Boolean, type: Boolean,
default: true default: true
},
// 1-> 2->
power: {
type: String,
default: '1'
} }
}) })
const emits = defineEmits(['broInsert', 'refreshStatic', 'allBillSubmit', 'refresh']) const emits = defineEmits(['broInsert', 'refreshStatic', 'allBillSubmit', 'refresh'])
@ -173,6 +178,19 @@ import { Item } from 'ant-design-vue/lib/menu'
const someCheck = ref(false) const someCheck = ref(false)
// //
const sColumns = ref([]) const sColumns = ref([])
//
const jfCount = () => {
const mz = (props.details.kgs || 0) / 1000
const cm = props.details.cbm || 0
if (mz > cm) {
console.log(mz)
console.log(cm)
return mz
} else {
return cm
}
}
// //
const columns = [ const columns = [
{ {
@ -629,8 +647,12 @@ import { Item } from 'ant-design-vue/lib/menu'
// //
list.value[changes[0][0]]['unitText'] = dict['defaultUnitName'] list.value[changes[0][0]]['unitText'] = dict['defaultUnitName']
list.value[changes[0][0]]['unit'] = dict['defaultUnit'] list.value[changes[0][0]]['unit'] = dict['defaultUnit']
const num = props.details?.ctnInfo?.length || 0 const num = props.details?.ctnInfo?.length || 1
list.value[changes[0][0]]['quantity'] = num list.value[changes[0][0]]['quantity'] = num
} else if (dict.defaultUnit == 'JF') {
list.value[changes[0][0]]['unitText'] = dict['defaultUnitName']
list.value[changes[0][0]]['unit'] = dict['defaultUnit']
list.value[changes[0][0]]['quantity'] = jfCount()
} else { } else {
list.value[changes[0][0]]['unitText'] = dict['defaultUnitName'] list.value[changes[0][0]]['unitText'] = dict['defaultUnitName']
list.value[changes[0][0]]['unit'] = dict['defaultUnit'] list.value[changes[0][0]]['unit'] = dict['defaultUnit']
@ -724,6 +746,8 @@ import { Item } from 'ant-design-vue/lib/menu'
// //
const num = props.details?.ctnInfo?.length || 0 const num = props.details?.ctnInfo?.length || 0
list.value[changes[0][0]]['quantity'] = num list.value[changes[0][0]]['quantity'] = num
} else if (dict.value == 'JF') {
list.value[changes[0][0]]['quantity'] = jfCount()
} else { } else {
list.value[changes[0][0]]['quantity'] = 0 list.value[changes[0][0]]['quantity'] = 0
} }
@ -813,7 +837,17 @@ import { Item } from 'ant-design-vue/lib/menu'
businessType: 1 businessType: 1
} }
// //
if (postData.items.length == 0) return createMessage.warning('暂无可保存的数据!') if (postData.items.length == 0 && props.power == '1') return createMessage.warning('暂无可保存的数据!')
// 2
if (props.power == '2') {
const allItems = JSON.parse(JSON.stringify(list.value))
allItems.forEach((res) => {
if (!res.taxRate) res.taxRate = 0
res.feeStatus = 2
res.feeStatusText = '提交审核'
})
postData.items = allItems
}
loading.value = true loading.value = true
SubmitFee(postData) SubmitFee(postData)
.then((res) => { .then((res) => {
@ -1033,7 +1067,7 @@ import { Item } from 'ant-design-vue/lib/menu'
hotTb.value.hotInstance.updateSettings({ hotTb.value.hotInstance.updateSettings({
cells: function (row, col) { cells: function (row, col) {
// //
const props = { readOnly: true } const hprops = { readOnly: true }
// STATUS=0 // STATUS=0
// STATUS=1 // STATUS=1
// STATUS=2 // STATUS=2
@ -1044,23 +1078,24 @@ import { Item } from 'ant-design-vue/lib/menu'
// STATUS=7 // STATUS=7
// STATUS=8 // STATUS=8
// STATUS=9 // STATUS=9
if (!(data[row]?.feeStatus == 6 || data[row]?.feeStatus == 1) && col != 0) { if (data[row]?.feeStatus == 0 && col == 3) {
hprops['className'] = 'hot-green'
}
if (data[row]?.feeStatus == 2 && col == 3) {
hprops['className'] = 'hot-yellow'
}
if (data[row]?.feeStatus == 6 && col == 3) {
hprops['className'] = 'hot-red'
}
if ((data[row]?.feeStatus == 4 || data[row]?.feeStatus == 3) && col == 3) {
hprops['className'] = 'hot-red'
}
if (!(data[row]?.feeStatus == 6 || data[row]?.feeStatus == 1) && col != 0 && props.power == '1') {
// //
if (data[row]?.feeStatus == 0 && col == 3) { return hprops
props['className'] = 'hot-green'
}
if (data[row]?.feeStatus == 2 && col == 3) {
props['className'] = 'hot-yellow'
}
if (data[row]?.feeStatus == 7 && col == 3) {
props['className'] = 'hot-red'
}
if ((data[row]?.feeStatus == 4 || data[row]?.feeStatus == 3) && col == 3) {
props['className'] = 'hot-red'
}
return props
} else { } else {
return delete hprops.readOnly
return hprops
} }
} }
}) })

@ -71,7 +71,7 @@
</span> </span>
<span class="iconfont icon-yonghu"></span> <span class="iconfont icon-yonghu"></span>
<span class="mr15"> <span class="mr15">
{{ item.createByName }} {{ item.createUserName }}
</span> </span>
<span class="iconfont icon-calendar"></span> <span class="iconfont icon-calendar"></span>
<span class="mr15"> <span class="mr15">
@ -220,6 +220,7 @@
item['type'] = item?.filePath?.split('.')[1] item['type'] = item?.filePath?.split('.')[1]
}) })
fileList.value = res.data fileList.value = res.data
console.log(res.data)
}) })
.catch(() => { .catch(() => {
loading.value = false loading.value = false

@ -213,9 +213,11 @@
font-weight: 600; font-weight: 600;
} }
.hot-yellow { .hot-yellow {
background: #e1a200 !important; color: #e1a200 !important;
font-weight: 600;
} }
.hot-red { .hot-red {
background-color: #f5222d; background-color: #D43030;
font-weight: 600;
} }
} }

@ -8,10 +8,10 @@
<div class="ds-approve-fee-table-sf"> <div class="ds-approve-fee-table-sf">
<div class="fee-check-opt"> <div class="fee-check-opt">
<h4>{{ status == 'BILL_RECV_AUDIT' ? '应收费用确认' : '应收应付费用' }} <h4>{{ status == 'BILL_RECV_AUDIT' ? '应收费用确认' : '应收应付费用' }}
<!-- <a-button type="link" @click="editHandle"> <a-button type="link" @click="editHandle">
<span class="iconfont icon-dengjizongshu"></span> <span class="iconfont icon-dengjizongshu"></span>
编辑 编辑
</a-button> --> </a-button>
</h4> </h4>
<span v-if="status != 'BILL_RECV_AUDIT' && status != 'BILL_PAY_AUDIT'"> <span v-if="status != 'BILL_RECV_AUDIT' && status != 'BILL_PAY_AUDIT'">
<a-dropdown> <a-dropdown>
@ -142,15 +142,19 @@
:visible="editVisible" :visible="editVisible"
:title="status == 'BILL_RECV_AUDIT' ? '应收确认费用调整' : '应付确认费用调整'" :title="status == 'BILL_RECV_AUDIT' ? '应收确认费用调整' : '应付确认费用调整'"
width="90%" width="90%"
@cancel="editVisible = false"
> >
<!-- <FeeTable <FeeTable
ref="rtb" ref="rtb"
:tbType="status == 'BILL_RECV_AUDIT' ? 'receive' : 'pay'" :tbType="status == 'BILL_RECV_AUDIT' ? 'receive' : 'pay'"
:height="500" :height="500"
:type="1" :type="1"
:id="route.query.id" :id="route.query.id"
></FeeTable> --> :details="details"
<template #footer></template> power="2"
></FeeTable>
<template #footer>
</template>
</a-modal> </a-modal>
</a-spin> </a-spin>
</template> </template>
@ -169,6 +173,7 @@
// import emitter from '/@/utils/Bus' // import emitter from '/@/utils/Bus'
// //
import FeeTable from '/@/components/CostEntry/feeTable.vue' import FeeTable from '/@/components/CostEntry/feeTable.vue'
import { BookingOrderGet } from '/@/views/operation/seaexport/api/BookingLedger'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
const route = useRoute() const route = useRoute()
// //
@ -245,7 +250,13 @@
} }
] ]
} }
//
const details = ref({})
const getOrderDetail = () => {
BookingOrderGet({ id: route.query.id }).then(res => {
console.log(res)
})
}
// //
const tableData = ref([]) const tableData = ref([])
const RData = ref([]) const RData = ref([])
@ -415,6 +426,10 @@
RData.value = [] RData.value = []
} }
} }
//
if (status == 'BILL_RECV_AUDIT' || status == 'BILL_PAY_AUDIT') {
getOrderDetail()
}
// //
// const checkProfit = () => { // const checkProfit = () => {
// const receiveData = getSelectRows1() // const receiveData = getSelectRows1()

@ -63,17 +63,30 @@
</div> </div>
<div class="flex"> <div class="flex">
<!-- 提单信息表 --> <!-- 提单信息表 -->
<div class="card-box bill-list"> <div class="bill-list">
<h4>分提单号</h4> <div class="card-box">
<div v-if="list.length == 0" class="mt15"> <h4>分提单号</h4>
<img src="../../../../../assets/images/nodata.png" alt=""> <div v-if="list.length == 0" class="mt15">
<div class="no-message">暂无数据</div> <img src="../../../../../assets/images/nodata.png" alt="">
<div class="no-message">暂无数据</div>
</div>
<ul class="h-list">
<li v-for="item in list" :key="item.id" class="mt10" :class="{ 'active-li': item.id == activeId }" @click="setFormValue(item)">
<span class="iconfont icon-renwu_"></span> <span>{{ item.hblno }}</span>
</li>
</ul>
</div>
<div class="card-box mt15">
<DsFile ref="dsFile" :id="activeId" :show="false" height="300">
<div style="position: relative;">
<h4>附件</h4>
<a-button class="file-header" type="link" size="mini" style="padding-right: 3px!important;" @click="addFile">
<span class="iconfont icon-fujian1"></span>
新增附件
</a-button>
</div>
</DsFile>
</div> </div>
<ul class="h-list">
<li v-for="item in list" :key="item.id" class="mt10" :class="{ 'active-li': item.id == activeId }" @click="setFormValue(item)">
<span class="iconfont icon-renwu_"></span> <span>{{ item.hblno }}</span>
</li>
</ul>
</div> </div>
<!-- <BasicTable <!-- <BasicTable
class="ds-table-detail" class="ds-table-detail"
@ -184,6 +197,8 @@
const container = defineAsyncComponent(() => import("./container.vue")) const container = defineAsyncComponent(() => import("./container.vue"))
// //
const ladingHistory = defineAsyncComponent(() => import("./ladingHistory.vue")) const ladingHistory = defineAsyncComponent(() => import("./ladingHistory.vue"))
//
const DsFile = defineAsyncComponent(() => import("/@/components/File/index.vue"))
import { EditSeaExportBillManage, BatchDelBillManage, GetSeaExportBillManageList, GetSeaExportBillManageInfo } from '../../api/BookingLedger' import { EditSeaExportBillManage, BatchDelBillManage, GetSeaExportBillManageList, GetSeaExportBillManageInfo } from '../../api/BookingLedger'
// //
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
@ -388,6 +403,11 @@
} }
} }
} }
//
const dsFile = ref(null)
function addFile() {
dsFile.value.init()
}
// //
const list = ref([]) const list = ref([])
onMounted(() => { onMounted(() => {
@ -853,6 +873,12 @@
padding: 10px 20px; padding: 10px 20px;
border: 1px solid #E8EBED; border: 1px solid #E8EBED;
border-radius: 2px; border-radius: 2px;
.file-header {
position: absolute;
z-index: 10;
right: -4px;
top: -6px;
}
} }
.ant-tabs-content { .ant-tabs-content {
height: calc(100vh - 200px); height: calc(100vh - 200px);

@ -244,6 +244,7 @@ export const basicInfoFormSchema: FormSchema[] = [
{ {
field: 'contractNo', field: 'contractNo',
label: '约号', label: '约号',
labelSlot: 'contractNo',
component: 'ApiSelect', component: 'ApiSelect',
colProps: { span: 5 }, colProps: { span: 5 },
componentProps: ({ formModel, formActionType }) => { componentProps: ({ formModel, formActionType }) => {

Loading…
Cancel
Save